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