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

     1  package types
     2  
     3  const (
     4  	// ModuleName string name of module
     5  	ModuleName = "erc20"
     6  	// StoreKey key for ethereum storage data, account code (StateDB) or block
     7  	// related data for Web3.
     8  	// The erc20 module should use a prefix store.
     9  	StoreKey = ModuleName
    10  	// RouterKey uses module name for routing
    11  	RouterKey = ModuleName
    12  
    13  	QueryParameters      = "params"
    14  	QueryTokenMapping    = "token-mapping"
    15  	QueryContractByDenom = "contract-by-denom"
    16  	QueryDenomByContract = "denom-by-contract"
    17  	QueryContractTem     = "current-template-contract"
    18  )
    19  
    20  // KVStore key prefixes
    21  var (
    22  	KeyPrefixContractToDenom  = []byte{0x01}
    23  	KeyPrefixDenomToContract  = []byte{0x02}
    24  	KeyPrefixTemplateContract = []byte{0x03}
    25  )
    26  
    27  // ContractToDenomKey defines the store key for contract to denom reverse index
    28  func ContractToDenomKey(contract []byte) []byte {
    29  	return append(KeyPrefixContractToDenom, contract...)
    30  }
    31  
    32  // DenomToContractKey defines the store key for denom to contract mapping
    33  func DenomToContractKey(denom string) []byte {
    34  	return append(KeyPrefixDenomToContract, denom...)
    35  }
    36  
    37  func ConstructContractKey(str string) []byte {
    38  	return append(KeyPrefixTemplateContract, []byte(str)...)
    39  }