状态
tokenfactory
模块维护以下主要对象的状态:
Denom Authority Metadata
0x02 + | + denom + | + 0x01 ⇒
DenomAuthorityMetadata
Denom Creators
0x03 + | + creator + | denom ⇒ denom
// DenomAuthorityMetadata specifies metadata for addresses that have specific
// capabilities over a token factory denom. Right now there is only one Admin
// permission, but is planned to be extended to the future.
message DenomAuthorityMetadata {
option (gogoproto.equal) = true;
// Can be empty for no admin, or a valid injective address
string admin = 1 [ (gogoproto.moretags) = "yaml:\"admin\"" ];
}
Genesis
状态定义了模块的初始状态,用于设置模块。
// GenesisState defines the tokenfactory module's genesis state.
message GenesisState {
// params defines the parameters of the module.
Params params = 1 [ (gogoproto.nullable) = false ];
repeated GenesisDenom factory_denoms = 2 [
(gogoproto.moretags) = "yaml:\"factory_denoms\"",
(gogoproto.nullable) = false
];
}
// GenesisDenom defines a tokenfactory denom that is defined within genesis
// state. The structure contains DenomAuthorityMetadata which defines the
// denom's admin.
message GenesisDenom {
option (gogoproto.equal) = true;
string denom = 1 [ (gogoproto.moretags) = "yaml:\"denom\"" ];
DenomAuthorityMetadata authority_metadata = 2 [
(gogoproto.moretags) = "yaml:\"authority_metadata\"",
(gogoproto.nullable) = false
];
}
Params
Params
是一个模块级配置,用于存储系统参数并定义 tokenfactory
模块的整体功能。该模块可以通过治理进行修改,使用由 gov 模块原生支持的参数更新提案。
以下是 ocr
模块参数存储的结构体:
// Params defines the parameters for the tokenfactory module.
message Params {
repeated cosmos.base.v1beta1.Coin denom_creation_fee = 1 [
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
(gogoproto.moretags) = "yaml:\"denom_creation_fee\"",
(gogoproto.nullable) = false
];
}
Last updated