2 个版本

0.1.1 2022 年 9 月 18 日
0.1.0 2022 年 9 月 16 日

#11 in #house

AGPL-3.0

335KB
7.5K SLoC

奖励清单

一个程序,用于促进 spl 代币作为奖励,以奖励在 Metaplex 拍卖行上列出受批准集合的 NFT。

定义

奖励中心 - 是一个 Metaplex 拍卖行的装饰器,它拥有用于支付的代币金库以及管理奖励规则。它也是与拍卖行程序注册的拍卖师代表。

奖励 - 是从奖励中心金库支付一定数量的代币给完成激励行为的用户。

可奖励集合 - 识别哪些集合有资格获得列表奖励。可以是拍卖行的权限或集合预言机调整批准的集合。

方法

拍卖行的权限可以创建一个奖励中心来伴随它,以便在交互拍卖行时可以分配代币。

奖励中心是拍卖行程序上的拍卖行代表的奖励中心。

针对拍卖行的列表、出价和购买指令通过列表奖励程序代理,以便可以添加奖励。为列表和出价初始化账户以跟踪执行销售所需的必要信息以及记录潜在奖励。

奖励中心的权限可以控制哪些 NFT 根据它们与 Metaplex 集合的关联来获得奖励。可奖励集合是控制 NFT 奖励资格的链上记录。

奖励中心的权限可以将可奖励集合的管理委托给预言机。然后,预言机负责维护可列表奖励的集合。

通过拍卖行的代表功能,奖励中心 PDA 将获得对列表和出价的控制权,确保任何取消请求都通过列表奖励程序进行,以记录状态更改。

指令

创建奖励中心

拍卖行的权限创建一个奖励中心。

更新奖励中心

具有奖励中心的拍卖行的权限调整其配置(例如,集合预言机,奖励规则)。

创建列表

用户通过奖励中心计划将NFT上架出售。这会导致对拍卖行sale指令的CPI调用。生成一个挂单记录以跟踪挂单和奖励。

取消挂单

用户取消挂单,导致对拍卖行的cancel CPI调用,并在挂单上保存取消时间。

购买挂单

用户购买一个挂单的NFT,导致对拍卖行的buyexecute sale CPI调用。挂单的销售时间保存在挂单上。

领取挂单奖励

如果挂单已过预热期或奖励中心在挂单账户上将挂单标记为“已售”,用户可以领取其代币。

创建出价

用户对NFT进行出价,导致对拍卖行的public_bid CPI调用,并为奖励中心创建一个出价账户。

接受出价

NFT的所有者接受出价,导致对拍卖行的sellexecute sale CPI调用。出价被接受的时间保存在出价上。

取消出价

用户取消出价,导致对拍卖行的cancel CPI调用,并在出价上保存取消时间。

创建可奖励收藏

通过在链上保存账户使收藏有资格获得奖励。

删除可奖励收藏

删除可奖励收藏。

依赖关系

~25–36MB
~634K SLoC