Documentation ¶
Index ¶
- Variables
- func DecodeERC20TokenDeploymentEvent(log *geth.Log) (types.EventTokenDeployed, error)
- func DecodeERC20TransferEvent(log *geth.Log) (types.EventTransfer, error)
- func DecodeEventContractCall(log *geth.Log) (types.EventContractCall, error)
- func DecodeEventContractCallWithToken(log *geth.Log) (types.EventContractCallWithToken, error)
- func DecodeEventTokenSent(log *geth.Log) (types.EventTokenSent, error)
- func DecodeMultisigOperatorshipTransferredEvent(log *geth.Log) (types.EventMultisigOperatorshipTransferred, error)
- func GetFilecoinTransferKeyTxReceipt() *geth.Receipt
- type LatestFinalizedBlockCache
- type Mgr
- func (mgr Mgr) GetTxReceiptIfFinalized(chain nexus.ChainName, txID common.Hash, confHeight uint64) (*geth.Receipt, error)
- func (mgr Mgr) ProcessDepositConfirmation(event *types.ConfirmDepositStarted) error
- func (mgr Mgr) ProcessGatewayTxConfirmation(event *types.ConfirmGatewayTxStarted) error
- func (mgr Mgr) ProcessNewChain(event *types.ChainAdded) (err error)
- func (mgr Mgr) ProcessTokenConfirmation(event *types.ConfirmTokenStarted) error
- func (mgr Mgr) ProcessTransferKeyConfirmation(event *types.ConfirmKeyTransferStarted) error
Constants ¶
This section is empty.
Variables ¶
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
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
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) 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