AURA

Validation

Pre-flight input validators mirroring the program's on-chain limits.

The validation namespace catches invalid inputs before you spend SOL on a transaction that the program would reject. Each validator throws an Error with a descriptive message; the limit constants match programs/aura-core/src/constants.rs exactly.

Limit constants

ConstantValueApplies to
MAX_AGENT_ID_LEN64agent id byte length
MAX_DWALLET_ID_LEN64dWallet id byte length
MAX_ADDRESS_LEN128blockchain address byte length
MAX_SWARM_ID_LEN64swarm id byte length
MAX_SWARM_MEMBER_LEN64swarm member agent id byte length
MAX_GUARDIANS10emergency multisig guardians
MAX_SWARM_MEMBERS16swarm members

Validators

import {
  validateAgentId,
  validateDwalletId,
  validateAddress,
  validateSwarmId,
  validateAmountUsd,
  validateMultisigThreshold,
  validateGuardians,
  validateSwarmMembers,
} from "@aura-protocol/sdk-ts";

validateAgentId("agent-prod-1");          // non-empty, <= 64 bytes
validateDwalletId("dwallet-eth-1");        // non-empty, <= 64 bytes
validateAddress("0xabc...");               // non-empty, <= 128 bytes
validateSwarmId("trading-swarm-1");        // non-empty, <= 64 bytes
validateAmountUsd(new BN(1_000));          // > 0 (accepts number | bigint | BN)
validateMultisigThreshold(2, 3);           // 0 < threshold <= guardianCount
validateGuardians([g1, g2]);               // PublicKey[] — non-empty, <= 10
validateSwarmMembers(["agent-a", "agent-b"]); // string[] — <= 16, each <= 64 bytes
ValidatorChecks
validateAgentId(id)non-empty, byte length ≤ MAX_AGENT_ID_LEN
validateDwalletId(id)non-empty, byte length ≤ MAX_DWALLET_ID_LEN
validateAddress(addr)non-empty, byte length ≤ MAX_ADDRESS_LEN
validateSwarmId(id)non-empty, byte length ≤ MAX_SWARM_ID_LEN
validateAmountUsd(n)strictly greater than zero
validateMultisigThreshold(t, n)0 < t ≤ n
validateGuardians(keys)non-empty PublicKey[], length ≤ MAX_GUARDIANS
validateSwarmMembers(ids)non-empty string[], length ≤ MAX_SWARM_MEMBERS, each ≤ MAX_SWARM_MEMBER_LEN

Validators are optional helpers — the program enforces these limits on-chain regardless. Use them to fail fast with clear messages in your UI or agent runtime.

On this page