Documentation ¶
Index ¶
- Constants
- type AuditRelaysRequest
- type GetEthAddrResponse
- type IClient
- type IRelay
- type RelayParams
- type RelayServer
- func (relay *RelayServer) Address() (relayAddress common.Address)
- func (relay *RelayServer) Balance() (balance *big.Int, err error)
- func (relay *RelayServer) BlockCountSinceRegistration() (count uint64, err error)
- func (relay *RelayServer) ChainID() (chainID *big.Int, err error)
- func (relay *RelayServer) Close() (err error)
- func (relay *RelayServer) CreateRelayTransaction(request RelayTransactionRequest) (signedTx *types.Transaction, err error)
- func (relay *RelayServer) GasPrice() big.Int
- func (relay *RelayServer) GetPort() string
- func (relay *RelayServer) GetUrl() string
- func (relay *RelayServer) HubAddress() common.Address
- func (relay *RelayServer) IsRemoved() (removed bool, err error)
- func (relay *RelayServer) IsStaked() (staked bool, err error)
- func (relay *RelayServer) IsUnstaked() (removed bool, err error)
- func (relay *RelayServer) RefreshGasPrice() (err error)
- func (relay *RelayServer) RegisterRelay() (err error)
- func (relay *RelayServer) RemoveRelay(ownerKey *ecdsa.PrivateKey) (err error)
- func (relay *RelayServer) SendBalanceToOwner() (err error)
- func (relay *RelayServer) UpdateUnconfirmedTransactions() (newTx *types.Transaction, err error)
- type RelayTransactionRequest
- type RelayTransactionResponse
- type SetHubRequest
- type TbkClient
Constants ¶
View Source
const TxReceiptTimeout = 120 * time.Second
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditRelaysRequest ¶
type AuditRelaysRequest struct {
SignedTx string
}
type GetEthAddrResponse ¶
type IClient ¶
type IClient interface { bind.ContractBackend ethereum.TransactionReader NetworkID(ctx context.Context) (*big.Int, error) //From: ChainReader BlockByNumber(ctx context.Context, number *big.Int) (*types.Block, error) HeaderByNumber(ctx context.Context, number *big.Int) (*types.Header, error) // From: ChainStateReader, minus CodeAt BalanceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (*big.Int, error) StorageAt(ctx context.Context, account common.Address, key common.Hash, blockNumber *big.Int) ([]byte, error) NonceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (uint64, error) }
type IRelay ¶
type IRelay interface { Balance() (balance *big.Int, err error) GasPrice() big.Int RefreshGasPrice() (err error) RegisterRelay() (err error) IsStaked() (staked bool, err error) IsUnstaked() (removed bool, err error) BlockCountSinceRegistration() (when uint64, err error) IsRemoved() (removed bool, err error) SendBalanceToOwner() (err error) CreateRelayTransaction(request RelayTransactionRequest) (signedTx *types.Transaction, err error) Address() (relayAddress common.Address) HubAddress() common.Address GetUrl() string GetPort() string UpdateUnconfirmedTransactions() (newTx *types.Transaction, err error) Close() (err error) // contains filtered or unexported methods }
type RelayParams ¶
type RelayParams struct { RelayServer DBFile string }
type RelayServer ¶
type RelayServer struct { OwnerAddress common.Address Fee *big.Int Url string Port string RelayHubAddress common.Address DefaultGasPrice int64 GasPricePercent *big.Int PrivateKey *ecdsa.PrivateKey RegistrationBlockRate uint64 EthereumNodeURL string Client IClient TxStore txstore.ITxStore DevMode bool // contains filtered or unexported fields }
func NewRelayServer ¶
func NewRelayServer( OwnerAddress common.Address, Fee *big.Int, Url string, Port string, RelayHubAddress common.Address, DefaultGasPrice int64, GasPricePercent *big.Int, PrivateKey *ecdsa.PrivateKey, RegistrationBlockRate uint64, EthereumNodeURL string, Client IClient, TxStore txstore.ITxStore, clk clock.Clock, DevMode bool) (*RelayServer, error)
func (*RelayServer) Address ¶
func (relay *RelayServer) Address() (relayAddress common.Address)
func (*RelayServer) BlockCountSinceRegistration ¶ added in v0.4.6
func (relay *RelayServer) BlockCountSinceRegistration() (count uint64, err error)
func (*RelayServer) Close ¶
func (relay *RelayServer) Close() (err error)
func (*RelayServer) CreateRelayTransaction ¶
func (relay *RelayServer) CreateRelayTransaction(request RelayTransactionRequest) (signedTx *types.Transaction, err error)
func (*RelayServer) GasPrice ¶
func (relay *RelayServer) GasPrice() big.Int
func (*RelayServer) GetPort ¶
func (relay *RelayServer) GetPort() string
func (*RelayServer) GetUrl ¶
func (relay *RelayServer) GetUrl() string
func (*RelayServer) HubAddress ¶
func (relay *RelayServer) HubAddress() common.Address
func (*RelayServer) IsRemoved ¶
func (relay *RelayServer) IsRemoved() (removed bool, err error)
func (*RelayServer) IsStaked ¶
func (relay *RelayServer) IsStaked() (staked bool, err error)
func (*RelayServer) IsUnstaked ¶
func (relay *RelayServer) IsUnstaked() (removed bool, err error)
func (*RelayServer) RefreshGasPrice ¶
func (relay *RelayServer) RefreshGasPrice() (err error)
func (*RelayServer) RegisterRelay ¶
func (relay *RelayServer) RegisterRelay() (err error)
func (*RelayServer) RemoveRelay ¶
func (relay *RelayServer) RemoveRelay(ownerKey *ecdsa.PrivateKey) (err error)
func (*RelayServer) SendBalanceToOwner ¶
func (relay *RelayServer) SendBalanceToOwner() (err error)
func (*RelayServer) UpdateUnconfirmedTransactions ¶
func (relay *RelayServer) UpdateUnconfirmedTransactions() (newTx *types.Transaction, err error)
type RelayTransactionRequest ¶
type RelayTransactionResponse ¶
type RelayTransactionResponse struct { SignedTx *types.Transaction RawTxBytes []byte }
func (*RelayTransactionResponse) MarshalJSON ¶
func (response *RelayTransactionResponse) MarshalJSON() ([]byte, error)
type SetHubRequest ¶
type TbkClient ¶
We hook ethclient since EstimateGas returns inaccurate estimation, due to state differences * of executing a tx locally through eth_call vs on the blockchain ( msg.sender.balance for example)
func (*TbkClient) EstimateGas ¶
Click to show internal directories.
Click to hide internal directories.