2 个版本
0.2.8 | 2023年5月6日 |
---|---|
0.2.6 | 2023年5月2日 |
#20 in #center
105KB
2K SLoC
Motley Labs 奖励中心 (rwdD3F6CgoCAoVaxcitXAeWRjQdiGc5AVABKCpQSMfd
)
是 Holaplex 奖励中心 的分支,允许 Motley Labs 快速迭代新功能。
此分支部署在 rwdD3F6CgoCAoVaxcitXAeWRjQdiGc5AVABKCpQSMfd
并可供公众使用。
mtly-reward-center
基于 mtly-auction-house 构建。
链上二进制验证
验证链上二进制步骤
cd program
anchor verify rwdD3F6CgoCAoVaxcitXAeWRjQdiGc5AVABKCpQSMfd
奖励中心
一个程序,在成功出售 NFT 后,允许以 spl 代币作为奖励支付给买家和卖家。
定义
奖励中心 - Metaplex 拍卖屋的装饰器,拥有用于支付和管理奖励规则的代币金库。它也是注册在拍卖屋程序中的拍卖师代表。
奖励 - 从奖励中心金库支付一定数量的代币给买家和卖家作为 NFT 销售的奖励。
奖励规则 - 目前有 2 个配置选项,奖励中心的管理员可以调整以奖励支付销售。它们是卖家奖励支付基准点和支付除数。
支付除数 - 从销售金额中除以的金额,这将产生支付给买家和卖家的代币数量。例如,除数为 2 将支付销售金额的一半作为代币。确保购买和奖励代币使用相同的位数非常重要,以确保数学正确。
卖家奖励支付基数 - 发送给卖家的奖励比例。其余的奖励归买家所有。例如,5,000个基数将导致买家和卖家平分奖励。
方法
拍卖行的权限可以创建一个与其配套的奖励中心,以便在拍卖行促成销售时分配代币。
奖励中心是拍卖行计划的拍卖行的代表。
旨在拍卖行的上市、出价和购买指令将通过奖励中心程序代理,以便它们可以添加奖励。为上市和出价创建账户以跟踪执行拍卖行销售所需的信息。
奖励中心的权限可以根据NFT与Metaplex Collection的关联来控制哪些NFT获得奖励。可奖励的集合是规定NFT获得奖励资格的链上记录。
通过拍卖行代表的拍卖行功能,奖励中心PDA被赋予对上市和出价的控制权,确保任何取消请求都通过奖励中心程序进行状态变更的记录。
指令
创建奖励中心
拍卖行的权限创建一个奖励中心并设置奖励规则。
更新奖励中心
具有奖励中心的拍卖行的权限调整其配置(例如,集合预言机、奖励规则)。
提取奖励中心资金
奖励中心的权限可以提取存储在奖励中心金库中的代币。
创建上市
用户通过奖励中心程序出售NFT。这会导致调用拍卖行的sale指令的CPI调用。生成上市记录以跟踪销售订单。
取消上市
用户取消上市,导致调用拍卖行的cancel CPI调用并在上市上保存取消时间。
更新上市
上市的所有者调整NFT的销售价格。
购买上市
通过调用拍卖行的deposit、public_buy和execute_sale指令分别促进NFT的销售,无需创建出价账户。然后根据拍卖行权限配置的奖励规则分配给买家和卖家奖励。
创建出价
用户对NFT进行出价,导致调用拍卖行的public_bid CPI调用并创建奖励中心的出价账户。出价金额从用户的钱包中扣除并放入其托管账户。
取消出价
用户取消出价,导致调用拍卖行的cancel CPI调用并在出价上保存取消时间。出价金额从用户的托管账户中扣除并转回用户的钱包。
接受出价
通过调用拍卖行的sell和execute_sale指令分别促进NFT的销售,无需卖家创建上市账户并允许“接受”未决出价。然后根据拍卖行权限配置的奖励规则分配给买家和卖家奖励。
测试
为了运行程序规范,执行以下操作
$ cd program
$ ./build.sh
$ ./test.sh
依赖关系
~40MB
~692K SLoC