types

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IbcEvmModuleName = "ibc-evm"

	ContractMintMethod = "mint_by_okc_module"
)
View Source
const (
	// ModuleName string name of module
	ModuleName = "erc20"
	// StoreKey key for ethereum storage data, account code (StateDB) or block
	// related data for Web3.
	// The erc20 module should use a prefix store.
	StoreKey = ModuleName
	// RouterKey uses module name for routing
	RouterKey = ModuleName

	QueryParameters = "params"
	QueryAllMapping = "all-mapping"
)
View Source
const (
	// DefaultParamspace for params keeper
	DefaultParamspace = ModuleName

	DefaultIbcTimeout            = uint64(86400000000000) // 1 day
	DefaultAutoDeploymentEnabled = false
)
View Source
const (
	DefaultCodespace string = ModuleName
)
View Source
const (
	TokenMappingProposalName = "okexchain/erc20/TokenMappingProposal"
)

Variables

View Source
var (
	EVMModuleETHAddr  common.Address
	EVMModuleBechAddr sdk.AccAddress

	// ModuleERC20Contract is the compiled okc erc20 contract
	ModuleERC20Contract CompiledContract
)
View Source
var (
	// ErrChainConfigNotFound returns an error if the chain config cannot be found on the store.
	ErrChainConfigNotFound = sdkerrors.Register(ModuleName, 1, "chain configuration not found")
	// ErrKeyNotFound returns an error if the target key not found in database.
	ErrKeyNotFound = sdkerrors.Register(ModuleName, 2, "Key not found in database")
	// ErrUnexpectedProposalType returns an error when the proposal type is not supported in erc20 module
	ErrUnexpectedProposalType = sdkerrors.Register(ModuleName, 3, "Unsupported proposal type of erc20 module")
	// ErrEmptyAddressList returns an error if the address list is empty
	ErrEmptyAddressList = sdkerrors.Register(ModuleName, 4, "Empty account address list")
	ErrIbcDenomInvalid  = sdkerrors.Register(ModuleName, 5, "ibc denom is invalid")
)
View Source
var (
	KeyPrefixContractToDenom         = []byte{0x01}
	KeyPrefixDenomToExternalContract = []byte{0x02}
	KeyPrefixDenoToAutoContract      = []byte{0x03}
)

KVStore key prefixes

View Source
var (
	KeyEnableAutoDeployment = []byte("EnableAutoDeployment")
	KeyIbcTimeout           = []byte("IbcTimeout")
)
View Source
var ModuleCdc = codec.New()

ModuleCdc defines the erc20 module's codec

Functions

func ContractToDenomKey

func ContractToDenomKey(contract []byte) []byte

ContractToDenomKey defines the store key for contract to denom reverse index

func DenomToAutoContractKey

func DenomToAutoContractKey(denom string) []byte

DenomToAutoContractKey defines the store key for denom to auto contract mapping

func DenomToExternalContractKey

func DenomToExternalContractKey(denom string) []byte

DenomToExternalContractKey defines the store key for denom to external contract mapping

func ErrRegisteredContract

func ErrRegisteredContract(contract string) sdk.EnvelopedErr

func IsValidIBCDenom

func IsValidIBCDenom(denom string) bool

IsValidIBCDenom returns if denom is a valid ibc denom

func ParamKeyTable

func ParamKeyTable() params.KeyTable

ParamKeyTable returns the parameter key table.

func RegisterCodec

func RegisterCodec(cdc *codec.Codec)

RegisterCodec registers all the necessary types and interfaces for the erc20 module

Types

type CompiledContract

type CompiledContract struct {
	ABI abi.ABI
	Bin string
}

CompiledContract contains compiled bytecode and abi

type GenesisState

type GenesisState struct {
	Params            Params         `json:"params"`
	ExternalContracts []TokenMapping `json:"external_contracts"`
	AutoContracts     []TokenMapping `json:"auto_contracts"`
}

GenesisState defines the erc20 module genesis state

func DefaultGenesisState

func DefaultGenesisState() GenesisState

DefaultGenesisState sets default erc20 genesis state with empty accounts and default params and chain config values.

func (GenesisState) Validate

func (gs GenesisState) Validate() error

Validate performs basic genesis state validation returning an error upon any failure.

type Params

type Params struct {
	EnableAutoDeployment bool   `json:"enable_auto_deployment" yaml:"enable_auto_deployment"`
	IbcTimeout           uint64 `json:"ibc_timeout" yaml:"ibc_timeout"`
}

Params defines the module parameters

func DefaultParams

func DefaultParams() Params

DefaultParams returns default parameters

func NewParams

func NewParams(enableAutoDeployment bool, ibcTimeout uint64) Params

NewParams creates a new Params instance

func (*Params) ParamSetPairs

func (p *Params) ParamSetPairs() params.ParamSetPairs

ParamSetPairs returns the parameter set pairs.

func (Params) String

func (p Params) String() string

String implements the fmt.Stringer interface

func (Params) Validate

func (p Params) Validate() error

Validate performs basic validation on erc20 parameters.

type TokenMapping

type TokenMapping struct {
	Denom    string `json:"denom"`
	Contract string `json:"contract"`
}

TokenMapping defines a mapping between native denom and contract

type TokenMappingProposal

type TokenMappingProposal struct {
	Title       string `json:"title" yaml:"title"`
	Description string `json:"description" yaml:"description"`
	Denom       string `json:"denom" yaml:"denom"`
	Contract    string `json:"contract" yaml:"contract"`
}

func NewTokenMappingProposal

func NewTokenMappingProposal(title, description, denom string, contractAddr *common.Address) TokenMappingProposal

func (TokenMappingProposal) GetDescription

func (tp TokenMappingProposal) GetDescription() string

func (TokenMappingProposal) GetTitle

func (tp TokenMappingProposal) GetTitle() string

func (TokenMappingProposal) ProposalRoute

func (tp TokenMappingProposal) ProposalRoute() string

func (TokenMappingProposal) ProposalType

func (tp TokenMappingProposal) ProposalType() string

func (TokenMappingProposal) String

func (tp TokenMappingProposal) String() string

func (TokenMappingProposal) ValidateBasic

func (tp TokenMappingProposal) ValidateBasic() sdk.Error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL