Documentation ¶
Index ¶
- Constants
- Variables
- type Bridge
- func (b *Bridge) AdjustNonce(address string, value uint64) (nonce uint64)
- 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) ChainID() (*big.Int, error)
- func (b *Bridge) EstimateGas(from, to string, value *big.Int, data []byte) (uint64, error)
- func (b *Bridge) GetBalance(account string) (*big.Int, error)
- func (b *Bridge) GetBlockByHash(blockHash string) (*types.RPCBlock, error)
- func (b *Bridge) GetBlockByNumber(number *big.Int) (*types.RPCBlock, error)
- func (b *Bridge) GetCode(contract string) (code []byte, err error)
- func (b *Bridge) GetContractLogs(contractAddresses []common.Address, logTopics [][]common.Hash, ...) ([]*types.RPCLog, error)
- func (b *Bridge) GetErc20Balance(contract, address string) (*big.Int, error)
- func (b *Bridge) GetErc20Decimals(contract string) (uint8, error)
- func (b *Bridge) GetErc20TotalSupply(contract string) (*big.Int, error)
- func (b *Bridge) GetFactoryAddress(contractAddr string) (string, error)
- func (b *Bridge) GetLatestBlockNumber() (uint64, 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) GetPendingTransactions() (result []*types.RPCTransaction, err error)
- func (b *Bridge) GetPoolNonce(address, height string) (uint64, error)
- func (b *Bridge) GetSignerChainID() (*big.Int, error)
- func (b *Bridge) GetTokenBalance(tokenType, tokenAddress, accountAddress string) (*big.Int, error)
- func (b *Bridge) GetTokenSupply(tokenType, tokenAddress string) (*big.Int, error)
- func (b *Bridge) GetTransaction(txHash string) (interface{}, error)
- func (b *Bridge) GetTransactionByHash(txHash string) (tx *types.RPCTransaction, err error)
- func (b *Bridge) GetTransactionReceipt(txHash string) (receipt *types.RPCTxReceipt, url string, 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) InitChainConfig(chainID *big.Int)
- func (b *Bridge) InitGatewayConfig(chainID *big.Int)
- func (b *Bridge) InitTokenConfig(tokenID string, chainID *big.Int)
- func (b *Bridge) IsContractAddress(address string) (bool, error)
- func (b *Bridge) IsMinter(contractAddr, minterAddr string) (bool, error)
- func (b *Bridge) IsValidAddress(address string) bool
- func (b *Bridge) MPCSignTransaction(rawTx interface{}, args *tokens.BuildTxArgs) (signTx interface{}, txHash string, err error)
- func (b *Bridge) NetworkID() (*big.Int, error)
- func (b *Bridge) RegisterSwap(txHash string, args *tokens.RegisterArgs) ([]*tokens.SwapTxInfo, []error)
- func (b *Bridge) ReloadChainConfig(chainID *big.Int)
- func (b *Bridge) ReloadTokenConfig(tokenID string, chainID *big.Int)
- func (b *Bridge) SendSignedTransaction(tx *types.Transaction) (txHash string, err error)
- func (b *Bridge) SendTransaction(signedTx interface{}) (txHash string, err error)
- func (b *Bridge) SetNonce(address string, value uint64)
- func (b *Bridge) SuggestPrice() (maxGasPrice *big.Int, err error)
- func (b *Bridge) VerifyMsgHash(rawTx interface{}, msgHashes []string) error
- func (b *Bridge) VerifyTransaction(txHash string, args *tokens.VerifyArgs) (*tokens.SwapTxInfo, error)
- type NonceSetterBase
Constants ¶
const (
ERC20TokenType = "ERC20"
)
token types (should be all upper case)
Variables ¶
var ( LogAnyCallTopic = common.FromHex("0x3d1b3d059223895589208a5541dce543eab6d5942b3b1129231a942d1c47bc45") AnyCallFuncHash = common.FromHex("0x32f29022") )
anycall lot topics and func hashes
var ( // 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") // anySwapInAuto(bytes32 txs, address token, address to, uint amount, uint fromChainID) AnySwapInAutoFuncHash = common.FromHex("0x0175b1c4") // anySwapInExactTokensForTokens(bytes32 txs, uint amountIn, uint amountOutMin, address[] path, address to, uint deadline, uint fromChainID) AnySwapInExactTokensForTokensFuncHash = common.FromHex("0x2fc1e728") // anySwapInExactTokensForNative(bytes32 txs, uint amountIn, uint amountOutMin, address[] path, address to, uint deadline, uint fromChainID) AnySwapInExactTokensForNativeFuncHash = common.FromHex("0x52a397d5") )
router contract's func hashs
var ( // LogAnySwapOut(address token, address from, address to, uint amount, uint fromChainID, uint toChainID); LogAnySwapOutTopic = common.FromHex("0x97116cf6cd4f6412bb47914d6db18da9e16ab2142f543b86e207c24fbd16b23a") // LogAnySwapTradeTokensForTokens(address[] path, address from, address to, uint amountIn, uint amountOutMin, uint fromChainID, uint toChainID); LogAnySwapTradeTokensForTokensTopic = common.FromHex("0xfea6abdf4fd32f20966dff7619354cd82cd43dc78a3bee479f04c74dbfc585b3") // LogAnySwapTradeTokensForNative(address[] path, address from, address to, uint amountIn, uint amountOutMin, uint fromChainID, uint toChainID); LogAnySwapTradeTokensForNativeTopic = common.FromHex("0x278277e0209c347189add7bd92411973b5f6b8644f7ac62ea1be984ce993f8f4") )
router contract's log topics
Functions ¶
This section is empty.
Types ¶
type Bridge ¶
type Bridge struct { *tokens.CrossChainBridgeBase *NonceSetterBase Signer types.Signer SignerChainID *big.Int // eg. RSK chain do not check mixed case or not same as eth DontCheckAddressMixedCase bool }
Bridge eth bridge
func (*Bridge) AdjustNonce ¶
AdjustNonce adjust account nonce (eth like chain)
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) 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) GetBalance ¶
GetBalance call eth_getBalance
func (*Bridge) GetBlockByHash ¶
GetBlockByHash call eth_getBlockByHash
func (*Bridge) GetBlockByNumber ¶
GetBlockByNumber call eth_getBlockByNumber
func (*Bridge) GetContractLogs ¶
func (b *Bridge) GetContractLogs(contractAddresses []common.Address, logTopics [][]common.Hash, blockHeight uint64) ([]*types.RPCLog, error)
GetContractLogs get contract logs
func (*Bridge) GetErc20Balance ¶
GetErc20Balance get erc20 balacne of address
func (*Bridge) GetErc20Decimals ¶
GetErc20Decimals get erc20 decimals
func (*Bridge) GetErc20TotalSupply ¶
GetErc20TotalSupply get erc20 total supply of address
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) GetPendingTransactions ¶
func (b *Bridge) GetPendingTransactions() (result []*types.RPCTransaction, err error)
GetPendingTransactions call eth_pendingTransactions
func (*Bridge) GetPoolNonce ¶
GetPoolNonce call eth_getTransactionCount
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) GetTokenSupply ¶
GetTokenSupply impl
func (*Bridge) GetTransaction ¶
GetTransaction impl
func (*Bridge) GetTransactionByHash ¶
func (b *Bridge) GetTransactionByHash(txHash string) (tx *types.RPCTransaction, err error)
GetTransactionByHash call eth_getTransactionByHash
func (*Bridge) GetTransactionReceipt ¶
func (b *Bridge) GetTransactionReceipt(txHash string) (receipt *types.RPCTxReceipt, url string, 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 ¶ added in v3.2.1
GetWNativeAddress call "wNATIVE()"
func (*Bridge) InitChainConfig ¶
InitChainConfig impl
func (*Bridge) InitGatewayConfig ¶
InitGatewayConfig impl
func (*Bridge) InitTokenConfig ¶
InitTokenConfig impl
func (*Bridge) IsContractAddress ¶
IsContractAddress is contract address
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) RegisterSwap ¶
func (b *Bridge) RegisterSwap(txHash string, args *tokens.RegisterArgs) ([]*tokens.SwapTxInfo, []error)
RegisterSwap api
func (*Bridge) ReloadChainConfig ¶
ReloadChainConfig reload chain config
func (*Bridge) ReloadTokenConfig ¶
ReloadTokenConfig reload token config
func (*Bridge) SendSignedTransaction ¶
func (b *Bridge) SendSignedTransaction(tx *types.Transaction) (txHash string, err error)
SendSignedTransaction call eth_sendRawTransaction
func (*Bridge) SendTransaction ¶
SendTransaction send signed tx
func (*Bridge) SuggestPrice ¶
SuggestPrice call eth_gasPrice
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 NonceSetterBase ¶
NonceSetterBase base nonce setter
func NewNonceSetterBase ¶
func NewNonceSetterBase() *NonceSetterBase
NewNonceSetterBase new base nonce setter