Documentation ¶
Overview ¶
Package eth implements the bridge interfaces to support routering.
Index ¶
- Constants
- Variables
- func GetSwapInAndExecFuncHashV7(tokenCfg *tokens.TokenConfig) []byte
- func GetSwapInFuncHash1(tokenCfg *tokens.TokenConfig) []byte
- func GetSwapInFuncHashV7(tokenCfg *tokens.TokenConfig) []byte
- func HashTypedData(data apitypes.TypedData) ([]byte, error)
- func PublicKeyToAddress(pubKey string) (string, error)
- type Bridge
- func (b *Bridge) BuildERC20SwapTxInput(args *tokens.BuildTxArgs) (err error)
- func (b *Bridge) BuildRawTransaction(args *tokens.BuildTxArgs) (rawTx interface{}, err error)
- func (b *Bridge) CallContract(contract string, data hexutil.Bytes, blockNumber string) (string, error)
- func (b *Bridge) CallContractSapphire(contract string, data hexutil.Bytes, blockNumber string) (string, error)
- func (b *Bridge) ChainID() (*big.Int, error)
- func (b *Bridge) EstimateGas(from, to string, value *big.Int, data []byte) (uint64, error)
- func (b *Bridge) EstimateGasSapphire(from, to string, value *big.Int, data []byte) (uint64, error)
- func (b *Bridge) FeeHistory(blockCount int, rewardPercentiles []float64) (*types.FeeHistoryResult, error)
- func (b *Bridge) GetBalance(account string) (*big.Int, error)
- func (b *Bridge) GetBaseFee(blockCount int) (*big.Int, error)
- func (b *Bridge) GetBlockByNumber(number *big.Int) (*types.RPCBlock, error)
- func (b *Bridge) GetBlockConfirmations(receipt *types.RPCTxReceipt) (uint64, error)
- func (b *Bridge) GetCode(contract string) (code []byte, err error)
- func (b *Bridge) GetContractCodeHash(contract common.Address) common.Hash
- func (b *Bridge) GetContractLogs(contractAddresses common.Address, logTopics []common.Hash, blockHeight uint64) ([]*types.RPCLog, error)
- func (b *Bridge) GetEIP1167Master(proxy common.Address) (master common.Address)
- func (b *Bridge) GetErc20Balance(contract, address string) (*big.Int, error)
- func (b *Bridge) GetErc20BalanceAtHeight(contract, address, blockNumber string) (*big.Int, error)
- func (b *Bridge) GetErc20Decimals(contract string) (uint8, error)
- func (b *Bridge) GetErc20TotalSupply(contract string) (*big.Int, error)
- func (b *Bridge) GetErc20TotalSupplyAtHeight(contract, blockNumber string) (*big.Int, error)
- func (b *Bridge) GetExecutionBudget(contractAddr, account string) (*big.Int, error)
- func (b *Bridge) GetFactoryAddress(contractAddr string) (string, error)
- func (b *Bridge) GetLatestBlockNumber() (maxHeight uint64, err error)
- func (b *Bridge) GetLatestBlockNumberOf(url string) (latest uint64, err error)
- func (b *Bridge) GetLogs(filterQuery *types.FilterQuery) (result []*types.RPCLog, err error)
- func (b *Bridge) GetMPCAddress(contractAddr string) (string, error)
- func (b *Bridge) GetOwnerAddress(contractAddr string) (string, error)
- func (b *Bridge) GetPairFor(factory, token0, token1 string) (string, error)
- func (b *Bridge) GetPoolNonce(address, height string) (mdPoolNonce uint64, err error)
- func (b *Bridge) GetRouterSecurity(contractAddr string) (string, error)
- func (b *Bridge) GetSignedTxHashOfKeyID(sender, keyID string, rawTx interface{}) (txHash string, err error)
- func (b *Bridge) GetSignerChainID() (*big.Int, error)
- func (b *Bridge) GetTokenBalance(tokenType, tokenAddress, accountAddress string) (*big.Int, error)
- func (b *Bridge) GetTokenConfig(tokenAddr string) *tokens.TokenConfig
- func (b *Bridge) GetTokenSupply(tokenType, tokenAddress string) (*big.Int, error)
- func (b *Bridge) GetTransaction(txHash string) (interface{}, error)
- func (b *Bridge) GetTransactionByBlockNumberAndIndex(blockNumber *big.Int, txIndex uint) (result *types.RPCTransaction, err error)
- func (b *Bridge) GetTransactionByHash(txHash string) (result *types.RPCTransaction, err error)
- func (b *Bridge) GetTransactionReceipt(txHash string) (result *types.RPCTxReceipt, err error)
- func (b *Bridge) GetTransactionStatus(txHash string) (*tokens.TxStatus, error)
- func (b *Bridge) GetUnderlyingAddress(contractAddr string) (string, error)
- func (b *Bridge) GetVaultAddress(contractAddr string) (string, error)
- func (b *Bridge) GetWNativeAddress(contractAddr string) (string, error)
- func (b *Bridge) GetWrapperTokenAddress(contractAddr string) (string, error)
- func (b *Bridge) InitAfterConfig()
- func (b *Bridge) InitRouterInfo(routerContract, routerVersion string) (err error)
- func (b *Bridge) IsContractAddress(address string) (bool, error)
- func (b *Bridge) IsMinter(contractAddr, minterAddr string) (bool, error)
- func (b *Bridge) IsSapphireChain() bool
- func (b *Bridge) IsSwapoutIDExist(contractAddr, swapoutID string) (bool, error)
- func (b *Bridge) IsUnderlyingMinted(contractAddr string) (bool, error)
- func (b *Bridge) IsValidAddress(address string) bool
- func (b *Bridge) IsZKSync() bool
- func (b *Bridge) MPCSignTransaction(rawTx interface{}, args *tokens.BuildTxArgs) (signTx interface{}, txHash string, err error)
- func (b *Bridge) MPCSignZkSyncTransaction(rawTx interface{}, args *tokens.BuildTxArgs) (signTx interface{}, txHash string, err error)
- func (b *Bridge) NeedsFinalizeAPIAddress() bool
- func (b *Bridge) NetworkID() (*big.Int, error)
- func (b *Bridge) PublicKeyToAddress(pubKey string) (string, error)
- func (b *Bridge) RegisterSwap(txHash string, args *tokens.RegisterArgs) ([]*tokens.SwapTxInfo, []error)
- func (b *Bridge) SendSignedTransaction(tx *types.Transaction) (txHash string, err error)
- func (b *Bridge) SendSignedTransactionSapphire(tx *types.Transaction) (txHash string, err error)
- func (b *Bridge) SendSignedZKSyncTransaction(data []byte) (txHash string, err error)
- func (b *Bridge) SendTransaction(signedTx interface{}) (txHash string, err error)
- func (b *Bridge) SendZKSyncTransaction(signedTx interface{}) (txHash string, err error)
- func (b *Bridge) SetTokenConfig(tokenAddr string, tokenCfg *tokens.TokenConfig)
- func (b *Bridge) SignTransactionWithPrivateKey(rawTx interface{}, priKey string) (signTx interface{}, txHash string, err error)
- func (b *Bridge) SuggestGasTipCap() (mdGasTipCap *big.Int, err error)
- func (b *Bridge) SuggestPrice() (*big.Int, error)
- func (b *Bridge) VerifyERC20SwapTx(txHash string, logIndex int, allowUnstable bool) (*tokens.SwapTxInfo, error)
- func (b *Bridge) VerifyMPCPubKey(mpcAddress, mpcPubkey string) error
- func (b *Bridge) VerifyMsgHash(rawTx interface{}, msgHashes []string) error
- func (b *Bridge) VerifyTransaction(txHash string, args *tokens.VerifyArgs) (*tokens.SwapTxInfo, error)
- type EvmContractBridge
- type SapphireRPCTx
- type SignedZKSyncTx
- type USDCAttestation
Constants ¶
const (
ERC20TokenType = "ERC20"
)
token types (should be all upper case)
Variables ¶
var ( // v5 LogAnyCall(address,address,bytes,address,uint256) LogAnyCallV5Topic = common.FromHex("0x9ca1de98ebed0a9c38ace93d3ca529edacbbe199cf1b6f0f416ae9b724d4a81c") AnyExecV5FuncHash = common.FromHex("0xb4c5dbd0") // v6 LogAnyCall(address,address,bytes,address,uint256,uint256,string,uint256) LogAnyCallV6Topic = common.FromHex("0xa17aef042e1a5dd2b8e68f0d0d92f9a6a0b35dc25be1d12c0cb3135bfd8951c9") AnyExecV6FuncHash = common.FromHex("0x4a578150") // anyFallback(address,bytes) AnyExecV6FallbackFuncHash = common.FromHex("0xa35fe8bf") // v7 LogAnyCall(address,address,bytes,uint256,uint256,string,uint256,bytes) LogAnyCallV7Topic = common.FromHex("0x17dac14bf31c4070ebb2dc182fc25ae5df58f14162a7f24a65b103e22385af0d") // v7 LogAnyCall(address,string,bytes,uint256,uint256,string,uint256,bytes) LogAnyCallV7Topic2 = common.FromHex("0x36850177870d3e3dca07a29dcdc3994356392b81c60f537c1696468b1a01e61d") AnyExecV7FuncHash = common.FromHex("0xd7328bad") // anycall usdc LogMessageSentTopic = common.FromHex("0x8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036") )
anycall lot topics and func hashes
var ( ForceAnySwapInAutoTokenVersion = uint64(10001) ForceAnySwapInTokenVersion = uint64(10002) ForceAnySwapInUnderlyingTokenVersion = uint64(10003) ForceAnySwapInNativeTokenVersion = uint64(10004) ForceAnySwapInAndCallTokenVersion = uint64(10005) ForceAnySwapInUnerlyingAndCallTokenVersion = uint64(10006) // anySwapIn(bytes32 txs, address token, address to, uint amount, uint fromChainID) AnySwapInFuncHash = common.FromHex("0x825bb13c") // anySwapInUnderlying(bytes32 txs, address token, address to, uint amount, uint fromChainID) AnySwapInUnderlyingFuncHash = common.FromHex("0x3f88de89") // anySwapInNative(bytes32 txs, address token, address to, uint amount, uint fromChainID) AnySwapInNativeFuncHash = common.FromHex("0x21974f28") // anySwapInAuto(bytes32 txs, address token, address to, uint amount, uint fromChainID) AnySwapInAutoFuncHash = common.FromHex("0x0175b1c4") // anySwapIn(string swapID, address token, address to, uint256 amount, uint256 fromChainID) MixPoolAnySwapInFuncHash = common.FromHex("0x8619c43d") // anySwapIn(string,(bytes32,address,address,uint256,uint256)) AnySwapInFuncHashV7 = common.FromHex("0x8fef8489") // anySwapInUnderlying(string,(bytes32,address,address,uint256,uint256)) AnySwapInUnderlyingFuncHashV7 = common.FromHex("0x9ff1d3e8") // anySwapInNative(string,(bytes32,address,address,uint256,uint256)) AnySwapInNativeFuncHashV7 = common.FromHex("0x5de26385") // anySwapInAuto(string,(bytes32,address,address,uint256,uint256)) AnySwapInAutoFuncHashV7 = common.FromHex("0x81aa7a81") // anySwapInAndExec(string,(bytes32,address,address,uint256,uint256),address,bytes) AnySwapInAndExecFuncHashV7 = common.FromHex("0xf9ca3a5d") // anySwapInUnderlyingAndExec(string,(bytes32,address,address,uint256,uint256),address,bytes) AnySwapInUnderlyingAndExecFuncHashV7 = common.FromHex("0xcc95060a") )
router contract's func hashs
var ( // LogNFT721SwapOut(address,address,address,uint256,uint256,uint256); LogNFT721SwapOutTopic = common.FromHex("0x0d45b0b9f5add3e1bb841982f1fa9303628b0b619b000cb1f9f1c3903329a4c7") // LogNFT1155SwapOut(addressindexedtoken,address,address,uint256,uint256,uint256,uint256) LogNFT1155SwapOutTopic = common.FromHex("0x5058b8684cf36ffd9f66bc623fbc617a44dd65cf2273306d03d3104af0995cb0") // LogNFT1155SwapOutBatch(address,address,address,uint256[],uint256[],uint256,uint256) LogNFT1155SwapOutBatchTopic = common.FromHex("0xaa428a5ab688b49b415401782c170d216b33b15711d30cf69482f570eca8db38") )
nft swap log topics and func hashes
var ( // LogAnySwapOut(address token, address from, address to, uint amount, uint fromChainID, uint toChainID); LogAnySwapOutTopic = common.FromHex("0x97116cf6cd4f6412bb47914d6db18da9e16ab2142f543b86e207c24fbd16b23a") // LogAnySwapOut(address token, address from, string to, uint amount, uint fromChainID, uint toChainID); LogAnySwapOut2Topic = common.FromHex("0x409e0ad946b19f77602d6cf11d59e1796ddaa4828159a0b4fb7fa2ff6b161b79") // LogAnySwapOutMixPool(address token, address from, string to, uint256 amount, uint256 fromChainID, uint256 toChainID) LogAnySwapOutMixPoolTopic = common.FromHex("0xb89f5e0fee14552a1edac7c525bc18eb2c5fad996def47de882b82fdea286fd7") // LogAnySwapOut(bytes32 swapoutID, address token, address from, string receiver, uint256 amount, uint256 toChainID) LogAnySwapOutV7Topic = common.FromHex("0x0d969ae475ff6fcaf0dcfa760d4d8607244e8d95e9bf426f8d5d69f9a3e525af") // LogAnySwapOutAndCall(bytes32 swapoutID, address token, address from, string receiver, uint256 amount, uint256 toChainID, string anycallProxy, bytes data) LogAnySwapOutAndCallV7Topic = common.FromHex("0x968608314ec29f6fd1a9f6ef9e96247a4da1a683917569706e2d2b60ca7c0a6d") // PauseSwapIntoTokenVersion pause swap into a dest token which is configed with this version // usage: when we replace an old token with a new one, // but the old token has some swapouts not processed, // then we can replace temply to the old token and with this special version, // after old token swapouts are processed, we should replace back to the new token config. PauseSwapIntoTokenVersion = uint64(90000) LogTokenTransferTopics = []common.Hash{ common.HexToHash("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"), } )
router contract's log topics
var ( // LogNFT721SwapOut(address,address,address,uint256,uint256,uint256,bytes); LogNFT721SwapOutWithDataTopic = common.FromHex("0x8ef0d7d8b96825500b3d692d995a543110f8a93f16b7be5d23b5960fd4363bdc") )
nft swap with data log topics and func hashes
Functions ¶
func GetSwapInAndExecFuncHashV7 ¶
func GetSwapInAndExecFuncHashV7(tokenCfg *tokens.TokenConfig) []byte
GetSwapInAndExecFuncHashV7 get swapin and call func hash
func GetSwapInFuncHash1 ¶
func GetSwapInFuncHash1(tokenCfg *tokens.TokenConfig) []byte
GetSwapInFuncHash1 get swapin func hash
func GetSwapInFuncHashV7 ¶
func GetSwapInFuncHashV7(tokenCfg *tokens.TokenConfig) []byte
GetSwapInFuncHashV7 get swapin func hash
func PublicKeyToAddress ¶
PublicKeyToAddress public key to address
Types ¶
type Bridge ¶
type Bridge struct { *base.NonceSetterBase Signer types.Signer SignerChainID *big.Int EvmContractBridge // contains filtered or unexported fields }
Bridge eth bridge
func (*Bridge) BuildERC20SwapTxInput ¶
func (b *Bridge) BuildERC20SwapTxInput(args *tokens.BuildTxArgs) (err error)
func (*Bridge) BuildRawTransaction ¶
func (b *Bridge) BuildRawTransaction(args *tokens.BuildTxArgs) (rawTx interface{}, err error)
BuildRawTransaction build raw tx
func (*Bridge) CallContract ¶
func (b *Bridge) CallContract(contract string, data hexutil.Bytes, blockNumber string) (string, error)
CallContract call eth_call
func (*Bridge) CallContractSapphire ¶
func (b *Bridge) CallContractSapphire(contract string, data hexutil.Bytes, blockNumber string) (string, error)
CallContractSapphire
func (*Bridge) ChainID ¶
ChainID call eth_chainId Notice: eth_chainId return 0x0 for mainnet which is wrong (use net_version instead)
func (*Bridge) EstimateGas ¶
EstimateGas call eth_estimateGas
func (*Bridge) EstimateGasSapphire ¶
func (*Bridge) FeeHistory ¶
func (b *Bridge) FeeHistory(blockCount int, rewardPercentiles []float64) (*types.FeeHistoryResult, error)
FeeHistory call eth_feeHistory
func (*Bridge) GetBalance ¶
GetBalance call eth_getBalance
func (*Bridge) GetBaseFee ¶
GetBaseFee get base fee
func (*Bridge) GetBlockByNumber ¶
GetBlockByNumber call eth_getBlockByNumber
func (*Bridge) GetBlockConfirmations ¶
func (b *Bridge) GetBlockConfirmations(receipt *types.RPCTxReceipt) (uint64, error)
GetBlockConfirmations some chain may override this method
func (*Bridge) GetContractCodeHash ¶
GetContractCodeHash get contract code hash
func (*Bridge) GetContractLogs ¶
func (b *Bridge) GetContractLogs(contractAddresses common.Address, logTopics []common.Hash, blockHeight uint64) ([]*types.RPCLog, error)
GetContractLogs get contract logs
func (*Bridge) GetEIP1167Master ¶
GetEIP1167Master get eip1167 master address
func (*Bridge) GetErc20Balance ¶
GetErc20Balance get erc20 balacne of address
func (*Bridge) GetErc20BalanceAtHeight ¶
GetErc20BalanceAtHeight get erc20 balacne of address at specified height
func (*Bridge) GetErc20Decimals ¶
GetErc20Decimals get erc20 decimals
func (*Bridge) GetErc20TotalSupply ¶
GetErc20TotalSupply get erc20 total supply of address
func (*Bridge) GetErc20TotalSupplyAtHeight ¶
GetErc20TotalSupplyAtHeight get erc20 total supply of address at specified height
func (*Bridge) GetExecutionBudget ¶
GetExecutionBudget get execution budget
func (*Bridge) GetFactoryAddress ¶
GetFactoryAddress call "factory()"
func (*Bridge) GetLatestBlockNumber ¶
GetLatestBlockNumber call eth_blockNumber
func (*Bridge) GetLatestBlockNumberOf ¶
GetLatestBlockNumberOf call eth_blockNumber
func (*Bridge) GetMPCAddress ¶
GetMPCAddress call "mpc()"
func (*Bridge) GetOwnerAddress ¶
GetOwnerAddress call "owner()"
func (*Bridge) GetPairFor ¶
GetPairFor call "getPair(address,address)"
func (*Bridge) GetPoolNonce ¶
GetPoolNonce call eth_getTransactionCount
func (*Bridge) GetRouterSecurity ¶
GetRouterSecurity call "routerSecurity()"
func (*Bridge) GetSignedTxHashOfKeyID ¶
func (b *Bridge) GetSignedTxHashOfKeyID(sender, keyID string, rawTx interface{}) (txHash string, err error)
GetSignedTxHashOfKeyID get signed tx hash by keyID (called by oracle)
func (*Bridge) GetSignerChainID ¶
GetSignerChainID default way to get signer chain id use chain ID first, if missing then use network ID instead. normally this way works, but sometimes it failed (eg. ETC), then we should overwrite this function NOTE: call after chain config setted
func (*Bridge) GetTokenBalance ¶
GetTokenBalance api
func (*Bridge) GetTokenConfig ¶
func (b *Bridge) GetTokenConfig(tokenAddr string) *tokens.TokenConfig
GetTokenConfig get and check token config
func (*Bridge) GetTokenSupply ¶
GetTokenSupply impl
func (*Bridge) GetTransaction ¶
GetTransaction impl
func (*Bridge) GetTransactionByBlockNumberAndIndex ¶
func (b *Bridge) GetTransactionByBlockNumberAndIndex(blockNumber *big.Int, txIndex uint) (result *types.RPCTransaction, err error)
GetTransactionByBlockNumberAndIndex get tx by block number and tx index
func (*Bridge) GetTransactionByHash ¶
func (b *Bridge) GetTransactionByHash(txHash string) (result *types.RPCTransaction, err error)
GetTransactionByHash call eth_getTransactionByHash
func (*Bridge) GetTransactionReceipt ¶
func (b *Bridge) GetTransactionReceipt(txHash string) (result *types.RPCTxReceipt, err error)
GetTransactionReceipt call eth_getTransactionReceipt
func (*Bridge) GetTransactionStatus ¶
GetTransactionStatus impl
func (*Bridge) GetUnderlyingAddress ¶
GetUnderlyingAddress call "underlying()"
func (*Bridge) GetVaultAddress ¶
GetVaultAddress call "vault()"
func (*Bridge) GetWNativeAddress ¶
GetWNativeAddress call "wNATIVE()"
func (*Bridge) GetWrapperTokenAddress ¶
GetWrapperTokenAddress call "token()"
func (*Bridge) InitAfterConfig ¶
func (b *Bridge) InitAfterConfig()
InitAfterConfig init variables (ie. extra members) after loading config
func (*Bridge) InitRouterInfo ¶
InitRouterInfo init router info
func (*Bridge) IsContractAddress ¶
IsContractAddress is contract address
func (*Bridge) IsSapphireChain ¶
func (*Bridge) IsSwapoutIDExist ¶
IsSwapoutIDExist call "isSwapoutIDExist(bytes32)"
func (*Bridge) IsUnderlyingMinted ¶
IsUnderlyingMinted call "underlyingIsMinted()"
func (*Bridge) IsValidAddress ¶
IsValidAddress check address
func (*Bridge) MPCSignTransaction ¶
func (b *Bridge) MPCSignTransaction(rawTx interface{}, args *tokens.BuildTxArgs) (signTx interface{}, txHash string, err error)
MPCSignTransaction mpc sign raw tx
func (*Bridge) MPCSignZkSyncTransaction ¶
func (b *Bridge) MPCSignZkSyncTransaction(rawTx interface{}, args *tokens.BuildTxArgs) (signTx interface{}, txHash string, err error)
func (*Bridge) NeedsFinalizeAPIAddress ¶
NeedsFinalizeAPIAddress need special finalize api
func (*Bridge) PublicKeyToAddress ¶
PublicKeyToAddress impl
func (*Bridge) RegisterSwap ¶
func (b *Bridge) RegisterSwap(txHash string, args *tokens.RegisterArgs) ([]*tokens.SwapTxInfo, []error)
RegisterSwap api
func (*Bridge) SendSignedTransaction ¶
func (b *Bridge) SendSignedTransaction(tx *types.Transaction) (txHash string, err error)
SendSignedTransaction call eth_sendRawTransaction
func (*Bridge) SendSignedTransactionSapphire ¶
func (b *Bridge) SendSignedTransactionSapphire(tx *types.Transaction) (txHash string, err error)
func (*Bridge) SendSignedZKSyncTransaction ¶
func (*Bridge) SendTransaction ¶
SendTransaction send signed tx
func (*Bridge) SendZKSyncTransaction ¶
func (*Bridge) SetTokenConfig ¶
func (b *Bridge) SetTokenConfig(tokenAddr string, tokenCfg *tokens.TokenConfig)
SetTokenConfig set token config
func (*Bridge) SignTransactionWithPrivateKey ¶
func (b *Bridge) SignTransactionWithPrivateKey(rawTx interface{}, priKey string) (signTx interface{}, txHash string, err error)
SignTransactionWithPrivateKey sign tx with private key (use for testing)
func (*Bridge) SuggestGasTipCap ¶
SuggestGasTipCap call eth_maxPriorityFeePerGas
func (*Bridge) SuggestPrice ¶
SuggestPrice call eth_gasPrice
func (*Bridge) VerifyERC20SwapTx ¶
func (*Bridge) VerifyMPCPubKey ¶
VerifyMPCPubKey verify mpc address and public key is matching
func (*Bridge) VerifyMsgHash ¶
VerifyMsgHash verify msg hash
func (*Bridge) VerifyTransaction ¶
func (b *Bridge) VerifyTransaction(txHash string, args *tokens.VerifyArgs) (*tokens.SwapTxInfo, error)
VerifyTransaction api
type EvmContractBridge ¶
type EvmContractBridge interface { CallContract(contract string, data hexutil.Bytes, blockNumber string) (string, error) VerifyMPCPubKey(mpcAddress, mpcPubkey string) error GetTransactionReceipt(txHash string) (receipt *types.RPCTxReceipt, err error) GetLatestBlockNumberOf(url string) (latest uint64, err error) GetTransactionByHash(txHash string) (tx *types.RPCTransaction, err error) }
type SapphireRPCTx ¶
type SignedZKSyncTx ¶
type SignedZKSyncTx struct {
Raw []byte
}
type USDCAttestation ¶
type USDCAttestation struct { Attestation hexutil.Bytes `json:"attestation"` Status string `json:"status"` }
USDCAttestation usdc attestation
func GetUSDCAttestation ¶
func GetUSDCAttestation(messageHash common.Hash) (*USDCAttestation, error)
GetUSDCAttestation get usdc attestation