From 3e8c64ba9f50bebff1ea67afb8b928b0931a962f Mon Sep 17 00:00:00 2001 From: Ebuka Moses Date: Tue, 2 Jun 2026 10:25:31 +0100 Subject: [PATCH] [Backend] sorobanService.decodeAddress uses 'addr.contractId() as any' cast --- backend/src/services/sorobanService.ts | 11 ++++++----- backend/src/workers/soroban-event-worker.ts | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/backend/src/services/sorobanService.ts b/backend/src/services/sorobanService.ts index 090734e8..63a7261c 100644 --- a/backend/src/services/sorobanService.ts +++ b/backend/src/services/sorobanService.ts @@ -33,7 +33,8 @@ function decodeAddress(val: xdr.ScVal): string { if (addr.switch().value === xdr.ScAddressType.scAddressTypeAccount().value) { return StrKey.encodeEd25519PublicKey(addr.accountId().ed25519()); } - return StrKey.encodeContract(Buffer.from(addr.contractId() as any)); + const hash = addr.contractId(); + return StrKey.encodeContract(Buffer.from(hash as Uint8Array)); } function decodeMap(val: xdr.ScVal): Record { @@ -203,9 +204,9 @@ export async function pauseStream( try { const { Address } = await import('@stellar/stellar-sdk'); - + const senderAddr = new Address(senderAddress); - + const retval = await simulateContractCall('pause_stream', [ senderAddr.toScVal(), nativeToScVal(streamId, { type: 'u64' }), @@ -237,9 +238,9 @@ export async function resumeStream( try { const { Address } = await import('@stellar/stellar-sdk'); - + const senderAddr = new Address(senderAddress); - + const retval = await simulateContractCall('resume_stream', [ senderAddr.toScVal(), nativeToScVal(streamId, { type: 'u64' }), diff --git a/backend/src/workers/soroban-event-worker.ts b/backend/src/workers/soroban-event-worker.ts index 5aef9fc8..1b1b6abf 100644 --- a/backend/src/workers/soroban-event-worker.ts +++ b/backend/src/workers/soroban-event-worker.ts @@ -50,8 +50,9 @@ export function decodeAddress(val: xdr.ScVal): string { ) { return StrKey.encodeEd25519PublicKey(addr.accountId().ed25519()); } - // addr.contractId() returns a Hash (Opaque[]), convert to Buffer for encodeContract - return StrKey.encodeContract(Buffer.from(addr.contractId() as any)); + // addr.contractId() returns a Hash (Opaque[]); cast to Uint8Array for encodeContract + const hash = addr.contractId(); + return StrKey.encodeContract(Buffer.from(hash as Uint8Array)); } /** @@ -555,14 +556,14 @@ export class SorobanEventWorker { where: { streamId }, select: { ratePerSecond: true, startTime: true, totalPausedDuration: true } }); - + const ratePerSecondBigInt = BigInt(stream.ratePerSecond); const newEndTime = ratePerSecondBigInt === 0n ? null : stream.startTime + - Number(BigInt(newDepositedAmount) / ratePerSecondBigInt) + - stream.totalPausedDuration; + Number(BigInt(newDepositedAmount) / ratePerSecondBigInt) + + stream.totalPausedDuration; await tx.stream.update({ where: { streamId },