keeper

package
v2.0.0-...-b0ece9e Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
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

View Source
const DefaultGasCap uint64 = 25000000

DefaultGasCap defines the gas limit used to run internal evm call

Variables

This section is empty.

Functions

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

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, gasLimit uint64) (*core.Message, *evmtypes.MsgEthereumTxResponse, error)

CallEVM execute an evm message from native module

func (Keeper) CallModuleCRC21

func (k Keeper) CallModuleCRC21(ctx sdk.Context, contract common.Address, method string, args ...interface{}) ([]byte, error)

CallModuleCRC21 call a method of ModuleCRC21 contract

func (Keeper) ContractByDenom

ContractByDenom query contract by denom, returns both external contract and auto deployed contract

func (Keeper) ConvertCoinFromCRC21ToNative

func (k Keeper) ConvertCoinFromCRC21ToNative(ctx sdk.Context, contract common.Address, receiver common.Address, amount sdkmath.Int) error

ConvertCoinFromCRC21ToNative convert erc20 token to native token

func (Keeper) ConvertCoinFromNativeToCRC21

func (k Keeper) ConvertCoinFromNativeToCRC21(ctx sdk.Context, sender common.Address, coin sdk.Coin, autoDeploy bool) error

ConvertCoinFromNativeToCRC21 convert native token to erc20 token

func (Keeper) ConvertCoinsFromNativeToCRC21

func (k Keeper) ConvertCoinsFromNativeToCRC21(ctx sdk.Context, sender common.Address, coins sdk.Coins, autoDeploy bool) error

ConvertCoinsFromNativeToCRC21 convert native tokens to erc20 tokens

func (Keeper) ConvertVouchersToEvmCoins

func (k Keeper) ConvertVouchersToEvmCoins(ctx sdk.Context, from string, coins sdk.Coins) error

func (Keeper) DeleteExternalContractForDenom

func (k Keeper) DeleteExternalContractForDenom(ctx sdk.Context, denom string) bool

DeleteExternalContractForDenom delete the external contract mapping for native denom, returns false if mapping not exists.

func (Keeper) DenomByContract

DenomByContract query denom by contract

func (Keeper) DeployModuleCRC21

func (k Keeper) DeployModuleCRC21(ctx sdk.Context, denom string) (common.Address, error)

DeployModuleCRC21 deploy an embed crc21 contract

func (Keeper) GetAccount

func (k Keeper) GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI

func (Keeper) GetAuthority

func (k Keeper) GetAuthority() string

GetAuthority returns the x/cronos 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

func (k Keeper) GetEvmParams(ctx sdk.Context) evmTypes.Params

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) GetParams

func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)

GetParams returns the total set of cronos parameters.

func (Keeper) GetPermissions

func (k Keeper) GetPermissions(ctx sdk.Context, address sdk.AccAddress) uint64

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, accounts []sdk.AccAddress, permissionsToCheck uint64) bool

HasPermission check if an account has a specific permission. by default cronos admin has all permissions

func (Keeper) IBCOnAcknowledgementPacketCallback

func (k Keeper) IBCOnAcknowledgementPacketCallback(
	ctx sdk.Context,
	packet channeltypes.Packet,
	acknowledgement []byte,
	relayer sdk.AccAddress,
	contractAddress,
	packetSenderAddress string,
) error

func (Keeper) IBCOnTimeoutPacketCallback

func (k Keeper) IBCOnTimeoutPacketCallback(
	ctx sdk.Context,
	packet channeltypes.Packet,
	relayer sdk.AccAddress,
	contractAddress,
	packetSenderAddress string,
) error

func (Keeper) IBCReceivePacketCallback

func (k Keeper) IBCReceivePacketCallback(
	ctx sdk.Context,
	packet ibcexported.PacketI,
	ack ibcexported.Acknowledgement,
	contractAddress string,
) error

func (Keeper) IBCSendPacketCallback

func (k Keeper) IBCSendPacketCallback(
	ctx sdk.Context,
	sourcePort string,
	sourceChannel string,
	timeoutHeight clienttypes.Height,
	timeoutTimestamp uint64,
	packetData []byte,
	contractAddress,
	packetSenderAddress string,
) error

func (Keeper) IbcTransferCoins

func (k Keeper) IbcTransferCoins(ctx sdk.Context, from, destination string, coins sdk.Coins, channelId string) error

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

func (Keeper) OnRecvVouchers

func (k Keeper) OnRecvVouchers(
	ctx sdk.Context,
	tokens sdk.Coins,
	receiver string,
)

OnRecvVouchers try to convert ibc voucher to evm coins, revert the state in case of failure

func (Keeper) Params

Params returns parameters of cronos module

func (Keeper) Permissions

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

ReplayBlock replay the eth messages in the block to recover the results of false-failed txs.

func (Keeper) SetAutoContractForDenom

func (k Keeper) SetAutoContractForDenom(ctx sdk.Context, denom string, address common.Address)

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) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params types.Params) error

SetParams sets the total set of cronos parameters.

func (Keeper) SetPermissions

func (k Keeper) SetPermissions(ctx sdk.Context, address sdk.AccAddress, permissions uint64)

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.

func (Migrator) Migrate1to2

func (m Migrator) Migrate1to2(ctx sdk.Context) error

Migrate1to2 migrates from version 1 to 2.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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