github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/erc20/types/codec.go (about)

     1  package types
     2  
     3  import (
     4  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
     5  )
     6  
     7  // ModuleCdc defines the erc20 module's codec
     8  var ModuleCdc = codec.New()
     9  
    10  const (
    11  	TokenMappingProposalName          = "fbexchain/erc20/TokenMappingProposal"
    12  	ProxyContractRedirectProposalName = "fbexchain/erc20/ProxyContractRedirectProposal"
    13  	ContractTemplateProposalName      = "fbexchain/erc20/ContractTemplateProposal"
    14  	CompiledContractProposalName      = "fbexchain/erc20/Contract"
    15  )
    16  
    17  // RegisterCodec registers all the necessary types and interfaces for the
    18  // erc20 module
    19  func RegisterCodec(cdc *codec.Codec) {
    20  	cdc.RegisterConcrete(TokenMappingProposal{}, TokenMappingProposalName, nil)
    21  
    22  	cdc.RegisterConcrete(ProxyContractRedirectProposal{}, ProxyContractRedirectProposalName, nil)
    23  	cdc.RegisterConcrete(ContractTemplateProposal{}, ContractTemplateProposalName, nil)
    24  	cdc.RegisterConcrete(CompiledContract{}, CompiledContractProposalName, nil)
    25  }
    26  
    27  func init() {
    28  	RegisterCodec(ModuleCdc)
    29  	codec.RegisterCrypto(ModuleCdc)
    30  	ModuleCdc.Seal()
    31  }