可用守卫

多资产销毁守卫

Last updated March 10, 2026

Asset Burn Multi 守卫要求铸造钱包持有并永久销毁指定 collection 中可配置数量的资产,作为从 Core Candy Machine 铸造新资产的成本。

概述

Asset Burn Multi 守卫将铸造限制为预定义 Collection 的持有者,并销毁持有者的资产。因此,付款人在铸造时必须提供要销毁的资产地址。

它类似于 Asset Burn 守卫,但可以接受多个资产进行销毁。

守卫设置

Asset Burn 守卫包含以下设置:

  • Required Collection:必需 Collection 的地址。我们用于铸造的资产必须属于此 collection。
  • Number:需要销毁以换取新资产的资产数量。

使用 Asset Burn Multi 守卫设置 Candy Machine

create(umi, {
// ...
guards: {
assetBurnMulti: some({
requiredCollection: requiredCollection.publicKey,
num: 2,
}),
},
});

API 参考:createAssetBurnMulti

铸造设置

Asset Burn Multi 守卫包含以下铸造设置:

  • Required Collection:必需 Collection 的铸造地址。
  • [Address]:要销毁的资产地址数组。这些资产必须属于必需的 collection 且必须属于铸造者。

注意,如果您计划在没有我们 SDK 帮助的情况下构建指令,您需要将这些铸造设置和更多内容作为指令参数和剩余账户的组合提供。详情请参阅 Candy Guard 的程序文档

使用 Asset Burn Multi 守卫铸造

您可以使用 mintArgs 参数传递 Asset Burn Multi 守卫的铸造设置,如下所示。

mintV1(umi, {
// ...
mintArgs: {
assetBurnMulti: some({
requiredCollection: requiredCollection.publicKey,
assets: [assetToBurn1.publicKey, assetToBurn2.publicKey],
}),
},
});

API 参考:mintV1AssetBurnMultiMintArgs

Route 指令

Asset Burn Multi 守卫不支持 route 指令。

注意事项

  • 所有被销毁的资产将被永久销毁且无法恢复。销毁在铸造交易中原子性地发生。
  • assets 数组中提供的资产地址数量必须与守卫设置中配置的 num 值匹配。提供更少或更多的地址将导致交易失败。
  • 每个资产必须属于铸造钱包且必须属于指定的 collection。如果任何资产不满足任一条件,整个铸造交易将失败。
  • 要每次铸造只销毁一个资产,请改用更简单的 Asset Burn 守卫。