@armada/sdk / index / PoolConfig
Interface: PoolConfig
Defined in: src/index.ts:8
Properties
chainId
readonlychainId:number
Defined in: src/index.ts:9
poolAddress
readonlypoolAddress:`0x${string}`
Defined in: src/index.ts:10
deployBlock
readonlydeployBlock:number
Defined in: src/index.ts:11
usdcAddress
readonlyusdcAddress:`0x${string}`
Defined in: src/index.ts:12
additionalTokens?
readonlyoptionaladditionalTokens?: readonly`0x${string}`[]
Defined in: src/index.ts:18
Extra ERC20s to scan + report balances for beyond USDC (e.g. the yield vault's share token). The token getter can only resolve a note's hash back to an address for a KNOWN token, so notes in a token not listed here (nor USDC) are skipped during scan. History stays USDC-scoped.
wrappers?
readonlyoptionalwrappers?:object
Defined in: src/index.ts:19
gaslessShield?
optionalgaslessShield?:`0x${string}`
yieldAdapter?
optionalyieldAdapter?:`0x${string}`
cctp?
readonlyoptionalcctp?:object
Defined in: src/index.ts:20
domain
domain:
number
messenger
messenger:
`0x${string}`
finalityThreshold?
readonlyoptionalfinalityThreshold?:number
Defined in: src/index.ts:27
Confirmations a commitment needs before it counts as spendable rather than pending in balances() (default 0 = count immediately). Set it to the pool's finality depth to give recent shields/transfers a reorg buffer in the balance view. (Spend-path gating and a checkpoint reorg margin are tracked separately — they need reorg-aware tree truncation.)
confirmationDepth?
readonlyoptionalconfirmationDepth?:number
Defined in: src/index.ts:35
Blocks to stay behind chain head when scanning (SPEC §4.4 reorg safety, default 0 = scan to head). The SDK only persists commitments up to head − confirmationDepth, so a reorg of that depth or shallower can't remove an already-scanned leaf (the append-only tree can't un-append it). Set it to a small value on a fast-finality hub (a few blocks) or the finality depth for zero reorg exposure; the cost is that notes in the last confirmationDepth blocks aren't visible/spendable until they're deeper.
supportedShapes?
readonlyoptionalsupportedShapes?: readonlystring[]
Defined in: src/index.ts:41
Circuit shapes (<nullifiers>x<commitments>, e.g. "2x3") the deployment has artifacts for. When set, planTransfer rejects an unprovable shape up front with UnsupportedCircuitShapeError instead of failing late at artifact resolution / on-chain. Omit to skip the check.