付费主管
ERC4337,账户抽象,引入了付费主的概念. 这些专门实体在改造EVM交易中的传统天然气支付系统方面发挥着关键作用。 作为第三方中介的付费主管具备担保某一账户的燃气费的能力,条件是满足具体预先确定的条件.
安装
使用 npm 软件包管理器
npm i @biconomy/paymaster
或
使用 yarn 软件包管理器
yarn add @biconomy/paymaster
使用量
// This is how you create paymaster instance in your dapp's
import { IPaymaster, BiconomyPaymaster } from "@biconomy/paymaster";
// Currently this package only exports Biconomy Paymaster which acts as a Hybrid paymaster for gas abstraction. You can sponsor user transactions but can also make users pay gas in supported ERC20 tokens.
const paymaster = new BiconomyPaymaster({
paymasterUrl: "", // you can get this value from biconomy dashboard. https://dashboard.biconomy.io
});
付费管理者Url 您可以从双相仪表板获得这个值.
下面是可以向付费人求助的方法
export interface IHybridPaymaster<T> extends IPaymaster {
getPaymasterAndData(userOp: Partial<UserOperation>, paymasterServiceData?: T): Promise<PaymasterAndDataResponse>;
buildTokenApprovalTransaction(tokenPaymasterRequest: BiconomyTokenPaymasterRequest, provider: Provider): Promise<Transaction>;
getPaymasterFeeQuotesOrData(userOp: Partial<UserOperation>, paymasterServiceData: FeeQuotesOrDataDto): Promise<FeeQuotesOrDataResponse>;
}
也可以建立自己的Paymaster API类,并提交 PR 或仅在账户包中提供实例 / 单独使用生成Paymaster AndData
它应该遵循界面下面.
export interface IPaymaster {
// Implementing class may add extra parameter (for example paymasterServiceData with it's own type) in below function signature
getPaymasterAndData(userOp: Partial<UserOperation>): Promise<PaymasterAndDataResponse>;
getDummyPaymasterAndData(userOp: Partial<UserOperation>): Promise<string>;
}
API 方法下方可用于 Biconomy 混合付费
获取 Paymaster 安达塔
此函数接受 a Partial<UserOperation> 对象,包括所有属性 userOp 除外 signature 财务报告和审定财务报表 paymasterAndData 字段。 它回来了 paymasterAndData 作为《京都议定书》 PaymasterAndDataResponse
构建 Token 核准交易
此功能专门用于象征性的付费赞助. 此功能的主要目的是为付费人创建一个批准交易, 并随其他交易进行批发.
注:您不需要调用此函数 。 它会自动被调用为 buildTokenPaymasterUserOp 函数调用.
获取 PaymasterFee 引用 OrData
此功能用于根据提供的用户操作和付费主服务数据获取引用信息或付费主数据. 如果未提供明确的模式,它首先尝试赞助,然后回到支持/请求的代号的服务费报价
说明: 此函数可以返回 付费主AndData 也以防所有政策检查都通过.