@bosonprotocol/x402-evm (英语)
用于 Boson 协议的 EVM 特定调用数据构建器 escrow
方案——EVM的半数
x402B (韩语) 执行.
见 docs/boson-impl-00-overview.md 用于上下文的单列波根.
范围
这个包裹船 仅限 x402B 代管计划需要的
什麽 @bosonprotocol/core-sdk
已经规定:
| 子路径 | 目的 |
|---|---|
./actions | 内部动作ABI为承诺步骤编码. buildCreateOfferAndCommitCalldata (Flow A, 推迟- redeem)和 buildCreateOfferCommitAndRedeemCalldata (Flow B,原子承诺+redeem)每个返回 { functionName, functionSignature } 用于输入买方签名的元数据。 两位代表 metaTx.handler.signMetaTx*({ returnTypedDataToSign: true }) 在核心- sdk 中,所以选择的字面编码和ABI编码来自买主所标注的同一来源——在签名和核实之间没有漂移. |
./adapters | 维埃姆 维埃姆 Web3LibAdapter 桥梁. walletClientToWeb3LibAdapter 包裹一个viem WalletClient + 键 PublicClient 这样 coreSdk.executeMetaTransaction(...) (外接信封的统一出入口)可以通过viem配置的运输提交. 提交失败显示为标签 RelayerSubmitError 因此,呼叫者可以保存精确的错误代码(INSUFFICIENT_FUNDS_FOR_GAS, (中文(简体) ), ONCHAIN_REVERT, (中文(简体) ), INTERNAL_ERROR) (中文(简体) ). |
外部元tx信封(executeMetaTransaction 编号 :
executeMetaTransactionWithTokenTransferAuthorization)为 没有
此处被重新执行. 通过 Core-sdk 提交
coreSdk.executeMetaTransaction(metaTxParams),它接受
选项 transferAuthorizations 数组和向右的路由
内部进入点.
这个包裹是故意不运送的
Boson的元tx和直接呼叫流量 用于其他行动
已经完全覆盖 @bosonprotocol/core-sdk到达它
直接 :
Meta-tx 签名( 默认) —— coreSdk.signMetaTxXxx
每个 signMetaTxXxx 方法在配置上 CoreSDK 实例使用
标注EIP-712 类型 MetaTransactionsHandlerFacet
期望这个行动家族(MetaTxExchange 页:1
redeem/complete/cancel/revoke/raise/retract/escalate, (中文(简体) ),
MetaTxDisputeResolution 页:1 resolveDispute常规
MetaTransaction 页:1 createOfferAndCommit (见A/CN.9/WG.III/WP.83,第6段)。 它回来了
SignedMetaTx = { functionName, functionSignature, r, s, v } - 没错
购买方有效载荷 X-PAYMENT 车头载着,准备迎接
调解人通过 coreSdk.executeMetaTransaction(metaTxParams)。 。 。 .
const signed = await coreSdk.signMetaTxRedeemVoucher({ nonce, exchangeId });
// signed = { functionName: "redeemVoucher(uint256)", functionSignature, r, s, v }
coreSdk 填补 web3Lib, (中文(简体) ), metaTxHandlerAddress,以及 chainId 从
sDK实例,所以呼叫站点 保持最低。 独立
metaTx.handler.signMetaTxXxx 如果需要,也可以出口
他们没有 CoreSDK 举个例子.
直接链上提交- coreSdk.xxx
对于链上通道(买方自付汽油,或
"链上"倒下 nextActions[i].channels),使用同样的 CoreSDK
在一个呼叫中处理签名和提交问题的混合方法:
const tx = await coreSdk.redeemVoucher(exchangeId);
// → also: completeExchange, cancelVoucher, revokeVoucher,
// raiseDispute, retractDispute, escalateDispute, resolveDispute
await tx.wait();
过 returnTxInfo: true 回来 TransactionRequest 手册
提交(例如交给中继器或分批器时)而不是
通过SDK的广播 web3Lib。 。 。 .
键侧 approve / 许可批准2
买方预先核准交易的呼叫数据构建者(由
tokenAuthStrategy: "none")和一次性许可2合同批准
住在这里 @bosonprotocol/x402-core数字 :
import {
createErc20ApprovalTx,
createPermit2ApprovalTx,
} from "@bosonprotocol/x402-core/eip712/token-auth";