CctpSwap2Config
Defined in: protocol-swap2-cctp/src/protocol.ts:6
Extends
Section titled “Extends”Swap2EngineConfig.CctpProviderConfig
Properties
Section titled “Properties”accountChain?
Section titled “accountChain?”
optionalaccountChain?:string
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:66
Optional account chain identity when the account does not expose a provider.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.accountChain
allowUnlistedTokens?
Section titled “allowUnlistedTokens?”
optionalallowUnlistedTokens?:boolean
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:107
Accept tokens the swap catalog does not list, named by their contract (EVM) or mint (Solana):
tokens the user added at their own risk. Off by default. The source token’s decimals are read
with the account’s getTokenInfo (a fromTokenDecimals that disagrees is refused); an account
without it must be given fromTokenDecimals. Only providers that trade any token (LI.FI,
Uniswap, Balancer, Fynd, Jupiter) quote them, and they have no USD value: the router cannot
judge their price, so show the user the amounts.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.allowUnlistedTokens
apiUrl?
Section titled “apiUrl?”
optionalapiUrl?:string
Defined in: protocol-swap2-cctp/src/provider.ts:55
Circle attestation API base (default https://iris-api.circle.com).
Inherited from
Section titled “Inherited from”decodeTonBody?
Section titled “decodeTonBody?”
optionaldecodeTonBody?: (bocBase64) =>unknown
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:74
Decodes a base64 BoC into a TON Cell for deposits that carry a cell body
(e.g. Omniston escrow payloads). The package deliberately does not depend on
@ton/core; the caller supplies e.g. (b) => Cell.fromBase64(b). Without
it, cell-body deposits fail closed — a TON account treats a string body
as a TEXT COMMENT, which would strand the swap.
Parameters
Section titled “Parameters”bocBase64
Section titled “bocBase64”string
Returns
Section titled “Returns”unknown
Inherited from
Section titled “Inherited from”Swap2EngineConfig.decodeTonBody
enabled?
Section titled “enabled?”
optionalenabled?:boolean
Defined in: protocol-swap2-cctp/src/provider.ts:53
Inherited from
Section titled “Inherited from”feeBufferPct?
Section titled “feeBufferPct?”
optionalfeeBufferPct?:number
Defined in: protocol-swap2-cctp/src/provider.ts:59
Extra headroom on the published Fast fee, in percent of the fee (default 10). The excess is never charged.
Inherited from
Section titled “Inherited from”CctpProviderConfig.feeBufferPct
fetchImpl?
Section titled “fetchImpl?”
optionalfetchImpl?: {(input,init?):Promise<Response>; (input,init?):Promise<Response>; }
Defined in: protocol-swap2-cctp/src/provider.ts:69
Injectable for tests.
Call Signature
Section titled “Call Signature”(
input,init?):Promise<Response>
Parameters
Section titled “Parameters”URL | RequestInfo
RequestInit
Returns
Section titled “Returns”Promise<Response>
Call Signature
Section titled “Call Signature”(
input,init?):Promise<Response>
Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<Response>
Inherited from
Section titled “Inherited from”fromChain
Section titled “fromChain”fromChain:
string
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:60
CAIP-2 of the chain the bound account lives on (the swap2 source).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.fromChain
maxNetworkFeeBps?
Section titled “maxNetworkFeeBps?”
optionalmaxNetworkFeeBps?:number|bigint
Defined in: core/dist/index-QWdcwE6y.d.ts:429
Maximum acceptable network fee, basis points of the input amount.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.maxNetworkFeeBps
maxProtocolFeeBps?
Section titled “maxProtocolFeeBps?”
optionalmaxProtocolFeeBps?:number|bigint
Defined in: core/dist/index-QWdcwE6y.d.ts:431
Maximum acceptable protocol fee, basis points of the input amount.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.maxProtocolFeeBps
optionalmode?:CctpMode
Defined in: protocol-swap2-cctp/src/provider.ts:57
Fast when offered and within the allowance (default), or force one path.
Inherited from
Section titled “Inherited from”onExecutionPhase?
Section titled “onExecutionPhase?”
optionalonExecutionPhase?: (phase,detail?) =>void
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:62
Progress observer, see Swap2ExecutionPhase.
Parameters
Section titled “Parameters”Swap2ExecutionPhase
detail?
Section titled “detail?”Swap2ExecutionPhaseDetail
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Swap2EngineConfig.onExecutionPhase
quoteTtlMs?
Section titled “quoteTtlMs?”
optionalquoteTtlMs?:number
Defined in: protocol-swap2-cctp/src/provider.ts:67
Local lifetime of a quote (fees are stable; default 60 s).
Inherited from
Section titled “Inherited from”reviewExecution?
Section titled “reviewExecution?”
optionalreviewExecution?: (plan) =>void|Promise<void>
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:98
Review gate: called once the live quote is built and every payload/value
check has passed, BEFORE any approval or signature. It receives a copy of
exactly what will be signed; throwing (the user cancelled) aborts with
nothing sent. A quote that expires while the gate is open is refused
before the first approval. When the quote expires while the engine’s own
approval is being mined, the engine re-quotes once; if the fresh quote
differs from the reviewed one (payload, gas, a worse output) the gate is
called again with requoted: true, and throwing then revokes the allowance.
Parameters
Section titled “Parameters”Swap2ExecutionPlan
Returns
Section titled “Returns”void | Promise<void>
Inherited from
Section titled “Inherited from”Swap2EngineConfig.reviewExecution
rpcUrls?
Section titled “rpcUrls?”
optionalrpcUrls?:Readonly<Record<string,string>>
Defined in: protocol-swap2-cctp/src/provider.ts:65
JSON-RPC URLs per CAIP-2 chain. Optional, but with them the provider
verifies the contracts before the burn and detects the mint on the
destination (usedNonces) so the status reaches “completed” by itself.
Inherited from
Section titled “Inherited from”serializedNativeAllowance?
Section titled “serializedNativeAllowance?”
optionalserializedNativeAllowance?:string|number|bigint
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:81
Provider-SERIALIZED legs (a swap aggregator’s fully built Solana transaction): how much native coin, in base units, the account may lose on top of the swap input — rent for a destination token account, wrapped SOL juggling, priority fees. Default 20 000 000 lamports (0.02 SOL).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.serializedNativeAllowance
skipAccountChainCheck?
Section titled “skipAccountChainCheck?”
optionalskipAccountChainCheck?:boolean
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:64
Explicit escape hatch for adapters that can prove chain binding elsewhere.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.skipAccountChainCheck
tonGasCeiling?
Section titled “tonGasCeiling?”
optionaltonGasCeiling?:string|number|bigint
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:87
The most nanoTON a TON cell-body deposit may attach as gas: on top of the input for a native source, the whole attached value for a jetton source (default 1 TON; live Omniston swaps attach 0.1–0.4). A build attaching more is refused (scan 2026-10-27 modules, F7).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.tonGasCeiling