nexus-sdk-bridge-flows
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBridge and Execute Flows
桥接与执行工作流
Call bridge(params, options?)
调用 bridge(params, options?)
- Use to move tokens cross-chain (intent-based bridge).
- Signature:
sdk.bridge(params, { onEvent? })
- Params ():
BridgeParams- — token symbol (e.g., "ETH", "USDC")
token: string - — smallest units
amount: bigint - — destination chain id
toChainId: number - — defaults to connected user address
recipient?: Hex - — optional native gas to deliver on destination
gas?: bigint - — restrict source chains
sourceChains?: number[]
- Result ():
BridgeResultexplorerUrl: stringsourceTxs: { chain, hash, explorerUrl }[]intent: ReadableIntent
- 用于跨链转移代币(基于意图的桥接)。
- 签名:
sdk.bridge(params, { onEvent? })
- 参数():
BridgeParams- — 代币符号(例如:"ETH"、"USDC")
token: string - — 最小单位数量
amount: bigint - — 目标链ID
toChainId: number - — 默认为当前连接的用户地址
recipient?: Hex - — 可选,要在目标链支付的原生 gas
gas?: bigint - — 限制可选的源链
sourceChains?: number[]
- 返回结果():
BridgeResultexplorerUrl: stringsourceTxs: { chain, hash, explorerUrl }[]intent: ReadableIntent
Call bridgeAndTransfer(params, options?)
调用 bridgeAndTransfer(params, options?)
- Use to bridge and transfer to a recipient address.
- Signature:
sdk.bridgeAndTransfer(params, { onEvent? })
- Params ():
TransferParamstoken: stringamount: biginttoChainId: numberrecipient: HexsourceChains?: number[]
- Result ():
TransferResulttransactionHash: stringexplorerUrl: string
- 用于桥接代币并转账到指定接收方地址。
- 签名:
sdk.bridgeAndTransfer(params, { onEvent? })
- 参数():
TransferParamstoken: stringamount: biginttoChainId: numberrecipient: HexsourceChains?: number[]
- 返回结果():
TransferResulttransactionHash: stringexplorerUrl: string
Call bridgeAndExecute(params, options?)
调用 bridgeAndExecute(params, options?)
- Use to bridge (if needed) and then execute a contract call.
- Signature:
sdk.bridgeAndExecute(params, { onEvent?, beforeExecute? })
- Params ():
BridgeAndExecuteParams- ,
token: string,amount: biginttoChainId: number execute: Omit<ExecuteParams, "toChainId">- Optional: ,
waitForReceipt, timeoutsrequiredConfirmations
- hook (optional):
beforeExecutebeforeExecute?: () => Promise<{ value?: bigint; data?: Hex; gas?: bigint }>- Use to dynamically override execute payload before sending.
- Result ():
BridgeAndExecuteResultexecuteTransactionHash: stringexecuteExplorerUrl: string- (undefined if bridge skipped)
bridgeExplorerUrl?: string bridgeSkipped: booleanintent?: ReadableIntent
- 用于(如有需要)桥接代币后执行合约调用。
- 签名:
sdk.bridgeAndExecute(params, { onEvent?, beforeExecute? })
- 参数():
BridgeAndExecuteParams- ,
token: string,amount: biginttoChainId: number execute: Omit<ExecuteParams, "toChainId">- 可选参数:、
waitForReceipt、超时配置requiredConfirmations
- 钩子(可选):
beforeExecutebeforeExecute?: () => Promise<{ value?: bigint; data?: Hex; gas?: bigint }>- 用于在发送请求前动态覆盖执行 payload
- 返回结果():
BridgeAndExecuteResultexecuteTransactionHash: stringexecuteExplorerUrl: string- (跳过桥接时为 undefined)
bridgeExplorerUrl?: string bridgeSkipped: booleanintent?: ReadableIntent
Call execute(params, options?)
调用 execute(params, options?)
- Use for a standalone contract call on a chain.
- Signature:
sdk.execute(params, { onEvent? })
- Params ():
ExecuteParamstoChainId: number- (contract address)
to: Hex data?: Hexvalue?: bigint- (optional but recommended for deterministic behavior)
gas?: bigint gasPrice?: 'low' | 'medium' | 'high'- Optional receipt config: ,
waitForReceipt,receiptTimeoutrequiredConfirmations - Optional
tokenApproval?: { token: string; amount: bigint; spender: Hex }
- Result ():
ExecuteResult- ,
transactionHash,explorerUrlchainId - optional receipt fields
- 用于在单链上独立执行合约调用。
- 签名:
sdk.execute(params, { onEvent? })
- 参数():
ExecuteParamstoChainId: number- (合约地址)
to: Hex data?: Hexvalue?: bigint- (可选,为保证行为确定性建议填写)
gas?: bigint gasPrice?: 'low' | 'medium' | 'high'- 可选回执配置:、
waitForReceipt、receiptTimeoutrequiredConfirmations - 可选参数
tokenApproval?: { token: string; amount: bigint; spender: Hex }
- 返回结果():
ExecuteResult- 、
transactionHash、explorerUrlchainId - 可选回执字段
Use simulation helpers
使用模拟辅助工具
- Call →
sdk.simulateBridge(params).SimulationResult - Call →
sdk.simulateBridgeAndTransfer(params).BridgeAndExecuteSimulationResult - Call →
sdk.simulateBridgeAndExecute(params).BridgeAndExecuteSimulationResult - Use simulation to show fees and gas before execution.
- Expect to be
BridgeAndExecuteSimulationResult.bridgeSimulationif bridge is skipped.null
- 调用 → 返回
sdk.simulateBridge(params)。SimulationResult - 调用 → 返回
sdk.simulateBridgeAndTransfer(params)。BridgeAndExecuteSimulationResult - 调用 → 返回
sdk.simulateBridgeAndExecute(params)。BridgeAndExecuteSimulationResult - 使用模拟功能可在执行前展示手续费与 gas 消耗。
- 若跳过桥接,将返回
BridgeAndExecuteSimulationResult.bridgeSimulation。null
Compute max bridgeable amount
计算最大可桥接金额
- Call .
sdk.calculateMaxForBridge({ token, toChainId, recipient?, sourceChains? }) - Use to set “max” or validate input.
BridgeMaxResult
- 调用 。
sdk.calculateMaxForBridge({ token, toChainId, recipient?, sourceChains? }) - 可使用返回的 填充「最大」按钮或校验用户输入。
BridgeMaxResult
Convert amounts to bigint
转换金额为 bigint 格式
- Use .
sdk.convertTokenReadableAmountToBigInt(amountString, tokenSymbol, chainId) - Or use if decimals are known.
sdk.utils.parseUnits(value, decimals)
- 使用 。
sdk.convertTokenReadableAmountToBigInt(amountString, tokenSymbol, chainId) - 若已知小数位数,也可使用 。
sdk.utils.parseUnits(value, decimals)
Attach hooks and events
挂载钩子与事件
- Attach intent and allowance hooks before calling bridge flows.
- Use and
NEXUS_EVENTS.STEPS_LISTfor progress UI.NEXUS_EVENTS.STEP_COMPLETE
- 调用桥接工作流前挂载意图与授权钩子。
- 使用 和
NEXUS_EVENTS.STEPS_LIST实现进度 UI。NEXUS_EVENTS.STEP_COMPLETE
Handle common failures
处理常见异常
- On throw, clear intent/allowance refs and reset UI state.
- On user cancel, call on the active hook and abort.
deny()
- 抛出错误时,清空意图/授权引用并重置 UI 状态。
- 用户取消操作时,调用活跃钩子的 方法并中止流程。
deny()