evm

package
v0.33.1 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ERC20TransferSig                = crypto.Keccak256Hash([]byte("Transfer(address,address,uint256)"))
	ERC20TokenDeploymentSig         = crypto.Keccak256Hash([]byte("TokenDeployed(string,address)"))
	MultisigTransferOperatorshipSig = crypto.Keccak256Hash([]byte("OperatorshipTransferred(bytes)"))
	ContractCallSig                 = crypto.Keccak256Hash([]byte("ContractCall(address,string,string,bytes32,bytes)"))
	ContractCallWithTokenSig        = crypto.Keccak256Hash([]byte("ContractCallWithToken(address,string,string,bytes32,bytes,string,uint256)"))
	TokenSentSig                    = crypto.Keccak256Hash([]byte("TokenSent(address,string,string,string,uint256)"))
)

Smart contract event signatures

View Source
var (
	// FilecoinTransferKeyTxID is the tx hash of the Filecoin key transfer
	FilecoinTransferKeyTxID = types.Hash(common.BytesToHash(funcs.Must(
		hexutil.Decode("0x44ca58be45e862026202bc7a3c4dc897804264d29f087b9a1249f9f4bf1e31d7"),
	)))
)

This is a temporary workaround to allow a Filecoin key transfer tx to be processed. This workaround allows validators to avoid having to sync an archival node for Filecoin to process this tx The tx receipt is hardcoded below and can be verified against your own archival node or the explorer https://filfox.info/en/tx/0x44ca58be45e862026202bc7a3c4dc897804264d29f087b9a1249f9f4bf1e31d7

Functions

func DecodeERC20TokenDeploymentEvent added in v0.33.1

func DecodeERC20TokenDeploymentEvent(log *geth.Log) (types.EventTokenDeployed, error)

func DecodeERC20TransferEvent added in v0.33.1

func DecodeERC20TransferEvent(log *geth.Log) (types.EventTransfer, error)

func DecodeEventContractCall added in v0.33.1

func DecodeEventContractCall(log *geth.Log) (types.EventContractCall, error)

func DecodeEventContractCallWithToken added in v0.33.1

func DecodeEventContractCallWithToken(log *geth.Log) (types.EventContractCallWithToken, error)

func DecodeEventTokenSent added in v0.33.1

func DecodeEventTokenSent(log *geth.Log) (types.EventTokenSent, error)

func DecodeMultisigOperatorshipTransferredEvent added in v0.33.1

func DecodeMultisigOperatorshipTransferredEvent(log *geth.Log) (types.EventMultisigOperatorshipTransferred, error)

func GetFilecoinTransferKeyTxReceipt added in v0.33.1

func GetFilecoinTransferKeyTxReceipt() *geth.Receipt

GetFilecoinTransferKeyTxReceipt returns the hardcoded tx receipt for the Filecoin key transfer

Types

type LatestFinalizedBlockCache added in v0.33.1

type LatestFinalizedBlockCache interface {
	// Get returns the latest finalized block number for chain
	Get(chain nexus.ChainName) *big.Int
	// Set sets the latest finalized block number for chain, if the given block number is greater than the current latest finalized block number
	Set(chain nexus.ChainName, blockNumber *big.Int)
}

LatestFinalizedBlockCache is a cache for the latest finalized block number for each chain

func NewLatestFinalizedBlockCache added in v0.33.1

func NewLatestFinalizedBlockCache() LatestFinalizedBlockCache

type Mgr

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

Mgr manages all communication with Ethereum

func NewMgr

func NewMgr(rpcs map[string]rpc.Client, broadcaster broadcast.Broadcaster, logger tmLog.Logger, valAddr sdk.ValAddress, proxy sdk.AccAddress, latestFinalizedBlockCache LatestFinalizedBlockCache, axelarChainID string) *Mgr

NewMgr returns a new Mgr instance

func (Mgr) GetTxReceiptIfFinalized added in v0.33.1

func (mgr Mgr) GetTxReceiptIfFinalized(chain nexus.ChainName, txID common.Hash, confHeight uint64) (*geth.Receipt, error)

func (Mgr) ProcessDepositConfirmation

func (mgr Mgr) ProcessDepositConfirmation(event *types.ConfirmDepositStarted) error

ProcessDepositConfirmation votes on the correctness of an EVM chain token deposit

func (Mgr) ProcessGatewayTxConfirmation

func (mgr Mgr) ProcessGatewayTxConfirmation(event *types.ConfirmGatewayTxStarted) error

ProcessGatewayTxConfirmation votes on the correctness of an EVM chain gateway's transactions

func (Mgr) ProcessNewChain

func (mgr Mgr) ProcessNewChain(event *types.ChainAdded) (err error)

ProcessNewChain notifies the operator that vald needs to be restarted/udpated for a new chain

func (Mgr) ProcessTokenConfirmation

func (mgr Mgr) ProcessTokenConfirmation(event *types.ConfirmTokenStarted) error

ProcessTokenConfirmation votes on the correctness of an EVM chain token deployment

func (Mgr) ProcessTransferKeyConfirmation

func (mgr Mgr) ProcessTransferKeyConfirmation(event *types.ConfirmKeyTransferStarted) error

ProcessTransferKeyConfirmation votes on the correctness of an EVM chain key transfer

Directories

Path Synopsis
rpc

Jump to

Keyboard shortcuts

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