Skip to content

@armada/sdk / index / PoolConfig

Interface: PoolConfig

Defined in: src/index.ts:8

Properties

chainId

readonly chainId: number

Defined in: src/index.ts:9


poolAddress

readonly poolAddress: `0x${string}`

Defined in: src/index.ts:10


deployBlock

readonly deployBlock: number

Defined in: src/index.ts:11


usdcAddress

readonly usdcAddress: `0x${string}`

Defined in: src/index.ts:12


additionalTokens?

readonly optional additionalTokens?: 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?

readonly optional wrappers?: object

Defined in: src/index.ts:19

gaslessShield?

optional gaslessShield?: `0x${string}`

yieldAdapter?

optional yieldAdapter?: `0x${string}`


cctp?

readonly optional cctp?: object

Defined in: src/index.ts:20

domain

domain: number

messenger

messenger: `0x${string}`


finalityThreshold?

readonly optional finalityThreshold?: 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?

readonly optional confirmationDepth?: 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?

readonly optional supportedShapes?: readonly string[]

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.