From a7cf232fae6d68c10c002fb528a8c148e8ad2732 Mon Sep 17 00:00:00 2001 From: nigiri <168690269+0xnigir1@users.noreply.github.com> Date: Wed, 23 Apr 2025 16:05:48 -0300 Subject: [PATCH] fix(sdk): validate index on createDepositsSecrets (#73) --- packages/sdk/src/core/account.service.ts | 4 ++++ packages/sdk/src/errors/account.error.ts | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/packages/sdk/src/core/account.service.ts b/packages/sdk/src/core/account.service.ts index ecd9f2c..b28c100 100644 --- a/packages/sdk/src/core/account.service.ts +++ b/packages/sdk/src/core/account.service.ts @@ -226,6 +226,10 @@ export class AccountService { secret: Secret; precommitment: Hash; } { + if(index && index < 0n) { + throw AccountError.invalidIndex(index); + } + const accounts = this.account.poolAccounts.get(scope); index = index || BigInt(accounts?.length || 0); diff --git a/packages/sdk/src/errors/account.error.ts b/packages/sdk/src/errors/account.error.ts index da0a7dd..9e14d01 100644 --- a/packages/sdk/src/errors/account.error.ts +++ b/packages/sdk/src/errors/account.error.ts @@ -32,4 +32,11 @@ export class AccountError extends SDKError { ErrorCode.OPERATION_FAILED, ); } + + public static invalidIndex(index: bigint): AccountError { + return new AccountError( + `Invalid index: ${index.toString()}`, + ErrorCode.INVALID_INPUT, + ); + } } \ No newline at end of file