Documentation ¶
Index ¶
- Constants
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- type Keeper
- func (k Keeper) AfterBatchExecutedEvent(ctx sdk.Context, event gravitytypes.BatchExecutedEvent)
- func (k Keeper) AfterContractCallExecutedEvent(ctx sdk.Context, event gravitytypes.ContractCallExecutedEvent)
- func (k Keeper) AfterERC20DeployedEvent(ctx sdk.Context, event gravitytypes.ERC20DeployedEvent)
- func (k Keeper) AfterSendToCosmosEvent(ctx sdk.Context, event gravitytypes.SendToCosmosEvent)
- func (k Keeper) AfterSignerSetExecutedEvent(ctx sdk.Context, event gravitytypes.SignerSetTxExecutedEvent)
- func (k Keeper) CallEVM(ctx sdk.Context, to *common.Address, data []byte, value *big.Int) (*ethtypes.Message, *evmtypes.MsgEthereumTxResponse, error)
- func (k Keeper) CallModuleFRC21(ctx sdk.Context, contract common.Address, method string, args ...interface{}) ([]byte, error)
- func (k Keeper) ContractByDenom(goCtx context.Context, req *types.ContractByDenomRequest) (*types.ContractByDenomResponse, error)
- func (k Keeper) ConvertCoinFromFRC21ToNative(ctx sdk.Context, contract common.Address, receiver common.Address, ...) error
- func (k Keeper) ConvertCoinFromNativeToFRC21(ctx sdk.Context, sender common.Address, coin sdk.Coin, autoDeploy bool) error
- func (k Keeper) ConvertCoinsFromNativeToFRC21(ctx sdk.Context, sender common.Address, coins sdk.Coins, autoDeploy bool) error
- func (k Keeper) ConvertVouchersToEvmCoins(ctx sdk.Context, from string, coins sdk.Coins) error
- func (k Keeper) DeleteExternalContractForDenom(ctx sdk.Context, denom string) bool
- func (k Keeper) DenomByContract(goCtx context.Context, req *types.DenomByContractRequest) (*types.DenomByContractResponse, error)
- func (k Keeper) DeployModuleFRC21(ctx sdk.Context, denom string) (common.Address, error)
- func (k Keeper) GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
- func (k Keeper) GetAuthority() string
- func (k Keeper) GetAutoContracts(ctx sdk.Context) (out []types.TokenMapping)
- func (k Keeper) GetContractByDenom(ctx sdk.Context, denom string) (contract common.Address, found bool)
- func (k Keeper) GetDenomByContract(ctx sdk.Context, contract common.Address) (denom string, found bool)
- func (k Keeper) GetEvmParams(ctx sdk.Context) evmTypes.Params
- func (k Keeper) GetExternalContracts(ctx sdk.Context) (out []types.TokenMapping)
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) GetPermissions(ctx sdk.Context, address sdk.AccAddress) uint64
- func (k Keeper) GetSourceChannelID(ctx sdk.Context, ibcVoucherDenom string) (channelID string, err error)
- func (k Keeper) HasPermission(ctx sdk.Context, account sdk.AccAddress, permissionsToCheck uint64) bool
- func (k Keeper) IbcTransferCoins(ctx sdk.Context, from, destination string, coins sdk.Coins, channelId string) error
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) OnRecvVouchers(ctx sdk.Context, tokens sdk.Coins, receiver string)
- func (k Keeper) Params(goCtx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) Permissions(goCtx context.Context, req *types.QueryPermissionsRequest) (*types.QueryPermissionsResponse, error)
- func (k Keeper) RegisterOrUpdateTokenMapping(ctx sdk.Context, msg *types.MsgUpdateTokenMapping) error
- func (k Keeper) ReplayBlock(goCtx context.Context, req *types.ReplayBlockRequest) (*types.ReplayBlockResponse, error)
- func (k Keeper) SetAutoContractForDenom(ctx sdk.Context, denom string, address common.Address)
- func (k Keeper) SetExternalContractForDenom(ctx sdk.Context, denom string, address common.Address) error
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params) error
- func (k Keeper) SetPermissions(ctx sdk.Context, address sdk.AccAddress, permissions uint64)
- type LogProcessEvmHook
- type Migrator
Constants ¶
const ( CanChangeTokenMapping uint64 = 1 << iota // 1 CanTurnBridge // 2 All = CanChangeTokenMapping | CanTurnBridge // 3 )
A permission is represented by a bit within uint64 (64bits) An address permission is an integer value between 0 and (2^64-1) This design allows a quick and simple permission check for addresses The next permission should be added before All
const DefaultGasCap uint64 = 25000000
DefaultGasCap defines the gas limit used to run internal evm call
Variables ¶
This section is empty.
Functions ¶
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the MsgServer interface for the provided Keeper.
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
func NewKeeper ¶
func NewKeeper( cdc codec.Codec, storeKey, memKey storetypes.StoreKey, bankKeeper types.BankKeeper, transferKeeper types.TransferKeeper, gravityKeeper types.GravityKeeper, evmKeeper types.EvmKeeper, accountKeeper types.AccountKeeper, authority string, ) *Keeper
func (Keeper) AfterBatchExecutedEvent ¶
func (k Keeper) AfterBatchExecutedEvent(ctx sdk.Context, event gravitytypes.BatchExecutedEvent)
func (Keeper) AfterContractCallExecutedEvent ¶
func (k Keeper) AfterContractCallExecutedEvent(ctx sdk.Context, event gravitytypes.ContractCallExecutedEvent)
TODO Implements GravityHooks interface
func (Keeper) AfterERC20DeployedEvent ¶
func (k Keeper) AfterERC20DeployedEvent(ctx sdk.Context, event gravitytypes.ERC20DeployedEvent)
func (Keeper) AfterSendToCosmosEvent ¶
func (k Keeper) AfterSendToCosmosEvent(ctx sdk.Context, event gravitytypes.SendToCosmosEvent)
func (Keeper) AfterSignerSetExecutedEvent ¶
func (k Keeper) AfterSignerSetExecutedEvent(ctx sdk.Context, event gravitytypes.SignerSetTxExecutedEvent)
func (Keeper) CallEVM ¶
func (k Keeper) CallEVM(ctx sdk.Context, to *common.Address, data []byte, value *big.Int) (*ethtypes.Message, *evmtypes.MsgEthereumTxResponse, error)
CallEVM execute an evm message from native module
func (Keeper) CallModuleFRC21 ¶
func (k Keeper) CallModuleFRC21(ctx sdk.Context, contract common.Address, method string, args ...interface{}) ([]byte, error)
CallModuleFRC21 call a method of ModuleFRC21 contract
func (Keeper) ContractByDenom ¶
func (k Keeper) ContractByDenom(goCtx context.Context, req *types.ContractByDenomRequest) (*types.ContractByDenomResponse, error)
ContractByDenom query contract by denom, returns both external contract and auto deployed contract
func (Keeper) ConvertCoinFromFRC21ToNative ¶
func (k Keeper) ConvertCoinFromFRC21ToNative(ctx sdk.Context, contract common.Address, receiver common.Address, amount sdkmath.Int) error
ConvertCoinFromFRC21ToNative convert erc20 token to native token
func (Keeper) ConvertCoinFromNativeToFRC21 ¶
func (k Keeper) ConvertCoinFromNativeToFRC21(ctx sdk.Context, sender common.Address, coin sdk.Coin, autoDeploy bool) error
ConvertCoinFromNativeToFRC21 convert native token to erc20 token
func (Keeper) ConvertCoinsFromNativeToFRC21 ¶
func (k Keeper) ConvertCoinsFromNativeToFRC21(ctx sdk.Context, sender common.Address, coins sdk.Coins, autoDeploy bool) error
ConvertCoinsFromNativeToFRC21 convert native tokens to erc20 tokens
func (Keeper) ConvertVouchersToEvmCoins ¶
func (Keeper) DeleteExternalContractForDenom ¶
DeleteExternalContractForDenom delete the external contract mapping for native denom, returns false if mapping not exists.
func (Keeper) DenomByContract ¶
func (k Keeper) DenomByContract(goCtx context.Context, req *types.DenomByContractRequest) (*types.DenomByContractResponse, error)
DenomByContract query denom by contract
func (Keeper) DeployModuleFRC21 ¶
DeployModuleFRC21 deploy an embed frc21 contract
func (Keeper) GetAccount ¶
func (Keeper) GetAuthority ¶
GetAuthority returns the x/elysium module's authority.
func (Keeper) GetAutoContracts ¶
func (k Keeper) GetAutoContracts(ctx sdk.Context) (out []types.TokenMapping)
GetAutoContracts returns all auto-deployed contract mappings
func (Keeper) GetContractByDenom ¶
func (k Keeper) GetContractByDenom(ctx sdk.Context, denom string) (contract common.Address, found bool)
GetContractByDenom find the corresponding contract for the denom, external contract is taken in preference to auto-deployed one
func (Keeper) GetDenomByContract ¶
func (k Keeper) GetDenomByContract(ctx sdk.Context, contract common.Address) (denom string, found bool)
GetDenomByContract find native denom by contract address
func (Keeper) GetEvmParams ¶
GetEvmParams returns the total set of evm parameters.
func (Keeper) GetExternalContracts ¶
func (k Keeper) GetExternalContracts(ctx sdk.Context) (out []types.TokenMapping)
GetExternalContracts returns all external contract mappings
func (Keeper) GetPermissions ¶
func (Keeper) GetSourceChannelID ¶
func (k Keeper) GetSourceChannelID(ctx sdk.Context, ibcVoucherDenom string) (channelID string, err error)
GetSourceChannelID returns the channel id for an ibc voucher The voucher has for format ibc/hash(path)
func (Keeper) HasPermission ¶
func (k Keeper) HasPermission(ctx sdk.Context, account sdk.AccAddress, permissionsToCheck uint64) bool
HasPermission check if an account has a specific permission. by default elysium admin has all permissions
func (Keeper) IbcTransferCoins ¶
func (Keeper) OnRecvVouchers ¶
OnRecvVouchers try to convert ibc voucher to evm coins, revert the state in case of failure
func (Keeper) Params ¶
func (k Keeper) Params(goCtx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
Params returns parameters of elysium module
func (Keeper) Permissions ¶
func (k Keeper) Permissions(goCtx context.Context, req *types.QueryPermissionsRequest) (*types.QueryPermissionsResponse, error)
Permissions returns the permissions of a specific account
func (Keeper) RegisterOrUpdateTokenMapping ¶
func (k Keeper) RegisterOrUpdateTokenMapping(ctx sdk.Context, msg *types.MsgUpdateTokenMapping) error
RegisterOrUpdateTokenMapping update the token mapping, register a coin metadata if needed
func (Keeper) ReplayBlock ¶
func (k Keeper) ReplayBlock(goCtx context.Context, req *types.ReplayBlockRequest) (*types.ReplayBlockResponse, error)
ReplayBlock replay the eth messages in the block to recover the results of false-failed txs.
func (Keeper) SetAutoContractForDenom ¶
SetAutoContractForDenom set the auto deployed contract for native denom
func (Keeper) SetExternalContractForDenom ¶
func (k Keeper) SetExternalContractForDenom(ctx sdk.Context, denom string, address common.Address) error
SetExternalContractForDenom set the external contract for native denom, replace the old one if any existing.
func (Keeper) SetPermissions ¶
type LogProcessEvmHook ¶
type LogProcessEvmHook struct {
// contains filtered or unexported fields
}
LogProcessEvmHook is an evm hook that convert specific contract logs into native module calls
func NewLogProcessEvmHook ¶
func NewLogProcessEvmHook(handlers ...types.EvmLogHandler) *LogProcessEvmHook
func (LogProcessEvmHook) PostTxProcessing ¶
func (h LogProcessEvmHook) PostTxProcessing(ctx sdk.Context, msg core.Message, receipt *ethtypes.Receipt) error
PostTxProcessing implements EvmHook interface
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func NewMigrator ¶
func NewMigrator(keeper Keeper, ss paramstypes.Subspace) Migrator
NewMigrator returns a new Migrator.