keeper

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SendToAccountEventName  = "__HazlorSendToAccount"
	SendToEthereumEventName = "__HazlorSendToEthereum"
	SendToIbcEventName      = "__HazlorSendToIbc"
	SendCroToIbcEventName   = "__HazlorSendCroToIbc"
)

Variables

View Source
var (
	// SendToAccountEvent represent the signature of
	// `event __HazlorSendToAccount(address recipient, uint256 amount)`
	SendToAccountEvent abi.Event

	// SendToEthereumEvent represent the signature of
	// `event __HazlorSendToEthereum(address recipient, uint256 amount, uint256 bridge_fee)`
	SendToEthereumEvent abi.Event

	// SendToIbcEvent represent the signature of
	// `event __HazlorSendToIbc(string recipient, uint256 amount)`
	SendToIbcEvent abi.Event

	// SendCroToIbcEvent represent the signature of
	// `event __HazlorSendCroToIbc(string recipient, uint256 amount)`
	SendCroToIbcEvent abi.Event
)

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 sdk.StoreKey,
	paramSpace paramtypes.Subspace,
	bankKeeper types.BankKeeper,
	transferKeeper types.TransferKeeper,
	evmKeeper *evmkeeper.Keeper,

) *Keeper

func (Keeper) AfterRecvTransfer

func (k Keeper) AfterRecvTransfer(
	ctx sdk.Context,
	destPort, destChannel string,
	token sdk.Coin,
	receiver string,
	isSource bool)

func (Keeper) AfterRefundTransfer

func (k Keeper) AfterRefundTransfer(
	ctx sdk.Context,
	sourcePort, sourceChannel string,
	token sdk.Coin,
	sender string,
	isSource bool)

func (Keeper) AfterSendTransfer

func (k Keeper) AfterSendTransfer(
	ctx sdk.Context,
	sourcePort, sourceChannel string,
	token sdk.Coin,
	sender sdk.AccAddress,
	receiver string,
	isSource bool)

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

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

CallModuleCRC20 call a method of ModuleCRC20 contract

func (Keeper) ContractByDenom

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

func (Keeper) ConvertCoinFromCRC20ToNative

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

ConvertCoinFromCRC20ToNative convert erc20 token to native token

func (Keeper) ConvertCoinFromNativeToCRC20

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

ConvertCoinFromNativeToCRC20 convert native token to erc20 token

func (Keeper) ConvertCoinsFromNativeToCRC20

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

ConvertCoinsFromNativeToCRC20 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) DeployModuleCRC20

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

DeployModuleCRC20 deploy an embed erc20 contract

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 hazlor parameters.

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

func (k Keeper) IbcTransferCoins(ctx sdk.Context, from, destination string, coins sdk.Coins) 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)

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)

SetParams sets the total set of hazlor parameters.

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, txHash common.Hash, logs []*ethtypes.Log) error

PostTxProcessing implements EvmHook interface

type SendCroToIbcHandler

type SendCroToIbcHandler struct {
	// contains filtered or unexported fields
}

SendCroToIbcHandler handles `__HazlorSendCroToIbc` log

func NewSendCroToIbcHandler

func NewSendCroToIbcHandler(bankKeeper types.BankKeeper, hazlorKeeper Keeper) *SendCroToIbcHandler

func (SendCroToIbcHandler) EventID

func (h SendCroToIbcHandler) EventID() common.Hash

func (SendCroToIbcHandler) Handle

func (h SendCroToIbcHandler) Handle(ctx sdk.Context, contract common.Address, data []byte) error

type SendToAccountHandler

type SendToAccountHandler struct {
	// contains filtered or unexported fields
}

SendToAccountHandler handles `__HazlorSendToAccount` log

func NewSendToAccountHandler

func NewSendToAccountHandler(bankKeeper types.BankKeeper, hazlorKeeper Keeper) *SendToAccountHandler

func (SendToAccountHandler) EventID

func (h SendToAccountHandler) EventID() common.Hash

func (SendToAccountHandler) Handle

func (h SendToAccountHandler) Handle(ctx sdk.Context, contract common.Address, data []byte) error

type SendToEthereumHandler

type SendToEthereumHandler struct {
	// contains filtered or unexported fields
}

SendToEthereumHandler handles `__HazlorSendToEthereum` log

func NewSendToEthereumHandler

func NewSendToEthereumHandler(hazlorKeeper Keeper) *SendToEthereumHandler

func (SendToEthereumHandler) EventID

func (h SendToEthereumHandler) EventID() common.Hash

func (SendToEthereumHandler) Handle

func (h SendToEthereumHandler) Handle(ctx sdk.Context, contract common.Address, data []byte) error

Handle returns error unconditionally. Since gravity bridge is removed and could be added later, we keep this event handler, but returns error unconditionally to prevent accidental access.

type SendToIbcHandler

type SendToIbcHandler struct {
	// contains filtered or unexported fields
}

SendToIbcHandler handles `__HazlorSendToIbc` log

func NewSendToIbcHandler

func NewSendToIbcHandler(bankKeeper types.BankKeeper, hazlorKeeper Keeper) *SendToIbcHandler

func (SendToIbcHandler) EventID

func (h SendToIbcHandler) EventID() common.Hash

func (SendToIbcHandler) Handle

func (h SendToIbcHandler) Handle(ctx sdk.Context, contract common.Address, data []byte) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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