Fetching a pool
activeBinId):
Swapping and quoting
swapExactIn/swapExactOut/quoteExactIn/quoteExactOut/sync never take a bin-array-count
parameter. The quote methods always quote against the protocol’s max traversal window (6 bin
arrays) internally; the matching swap method then trims the bin-array set down to only what the
quote says it actually needs, plus a one-array drift margin — so you never pay for more
accounts than the trade is likely to touch.
Pool.sync(user, desiredBinId) repositions the pool’s active bin toward desiredBinId across
empty bins only — also always uses the max traversal window, no count parameter:
Handling quote failures
quoteExactIn/quoteExactOut/swapExactIn/swapExactOut reject with a real thrown Error
when the underlying quote can’t be filled — catch it rather than assuming a quote always
succeeds for a nonzero amount:
Fee rates
Transfer fees
undefined per side means that mint has no TransferFeeConfig extension at all — not that the
fee is zero.
Transfer hooks
If either mint carries an active Token-2022TransferHook, swapExactIn()/swapExactOut()
(and every position method) resolve and append its extra accounts automatically — nothing to
configure. Pool.resolveTransferHookAccountsX(transferAccounts)/resolveTransferHookAccountsY(transferAccounts)
are exposed publicly if you need to resolve them yourself for a custom instruction outside the
SDK’s own builders.