可用守卫
多资产支付守卫
概述
Asset Payment Multi 守卫通过向付款人收取来自指定资产 collection 的一个或多个 Core Asset 来允许铸造。资产将被转移到预定义的目的地。
如果付款人没有拥有来自必需 collection 的资产,铸造将失败。
该守卫类似于 Asset Payment 守卫,但可以接受多个资产进行支付。
守卫设置
Asset Payment 守卫包含以下设置:
- Required Collection:必需 Collection 的铸造地址。我们用于支付的资产必须属于此 collection。
- Destination:将接收所有资产的钱包地址。
- Number:需要支付的资产数量。
使用 Asset Payment Multi 守卫设置 Candy Machine
create(umi, {
// ...
guards: {
assetPaymentMulti: some({
requiredCollection: requiredCollection.publicKey,
destination: umi.identity.publicKey,
num: 2
}),
},
});
API 参考:create、AssetPaymentMulti
铸造设置
Asset Payment 守卫包含以下铸造设置:
- [Asset Address]:用于支付的资产地址数组。这些资产必须属于必需的 collection 且必须属于铸造者。
- Collection Address:用于支付的 Collection 地址。
- Destination:将接收所有资产的钱包地址。
注意,如果您计划在没有我们 SDK 帮助的情况下构建指令,您需要将这些铸造设置和更多内容作为指令参数和剩余账户的组合提供。详情请参阅 Core Candy Guard 的程序文档。
使用 Asset Payment Multi 守卫设置 Candy Machine
您可以使用 mintArgs 参数传递 Asset Payment 守卫的铸造设置,如下所示。
mintV1(umi, {
// ...
mintArgs: {
assetPaymentMulti: some({
requiredCollection: publicKey(requiredCollection),
destination,
assets: [firstAssetToSend.publicKey, secondAssetToSend.publicKey],
num: 2
}),
},
});
API 参考:mintV1、AssetPaymentMultiMintArgs
Route 指令
Asset Payment Multi 守卫不支持 route 指令。
