配置组
整个系统由多个合约组成,合约与合约之间,通过配置组连接。
配置组包括序号合约和配置项合约。通过配置组相当于在Nervos上实现一个可读写的存储空间。
data都是使用小端模式
序号合约
它类似数据库的自增ID,每次创建一个新的配置项,ID自动加1
它具有唯一性。
它在Nervos的存在形式就是一个特殊的cell。它的data表示的是当前的ID值。
合约的功能就是要求更新时,data值表示的ID必须+1
对应的代码为:https://github.com/NexisDao/NexisDao-core/tree/main/contracts/index
配置项合约
一个配置项对应一个cell,cell data的前4个字节表示序号,其他的就是配置值。
序号合约的cell更新时,创建对应ID的配置项。
配置项可以修改配置,但它的序号不能改变。
为了保留更新能力,正常情况下,相同序号的配置项,会有2个cell。这样能够避免更新的时候导致其他相关交易失败。
如:资产的价格信息就会有2个cell,如果只有1个的话,价格更新时,将还没上链的导致质押交易失败。
代码:https://github.com/NexisDao/NexisDao-core/tree/main/contracts/config
现有的配置项
IncentiveParam 激励参数:质押激励:f32+还款激励:f32
BurnLock 销毁锁:部分资产要销毁时,无法直接销毁的,都会使用这个lock锁定资产
CDPLock CDP合约的锁:用于质押时,锁定用户的资产和对应的质押单
CDPType 质押合约的地址
TAIType 稳定币合约的地址
ManagerTokenType 管理币合约的地址,暂时没有
CommunityLock 社区锁,用于存放用户支付的手续费
DebtType 清算导致的临时负债的合约
AuctionType 拍卖合约
DebtSysType 系统负债的合约
ProposalType 提案合约,暂时没有
AuctionLock 拍卖的锁
NervosDAOLock 用于锁定Nervos DAO
NervosDAOType Nervos DAO合约地址
DAOInfoType 锁定Nervos DAO,铸造dCKB的合约
dCKBType dCKB代币的合约地址
DebtLock 临时负债的锁
预留
预留
dCKB的质押信息:dCKB的合约地址: byte32 + 年化利息:f32 + 质押率:f32
dCKB的价格信息:价格:f32 + 时间:u64
最后更新于