Documentation ¶
Index ¶
- Variables
- type AuctionClient
- func (c *AuctionClient) AuctionBid(amount *big.Int, slot int64, bidAmount *big.Int, deadline *big.Int) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionCanForge(forger ethCommon.Address, blockNum int64) (canForge bool, err error)
- func (c *AuctionClient) AuctionChangeDefaultSlotSetBid(slotSet int64, newInitialMinBid *big.Int) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionClaimCB() (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionConstants() (auctionConstants *common.AuctionConstants, err error)
- func (c *AuctionClient) AuctionEventInit(genesisBlockNum int64) (*AuctionEventInitialize, int64, error)
- func (c *AuctionClient) AuctionEventsByBlock(blockNum int64, blockHash *ethCommon.Hash) (*AuctionEvents, error)
- func (c *AuctionClient) AuctionForge(forger ethCommon.Address) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionGetAllocationRatio() (allocationRation [3]uint16, err error)
- func (c *AuctionClient) AuctionGetBootCoordinator() (bootCoordinator *ethCommon.Address, err error)
- func (c *AuctionClient) AuctionGetClaimableCB(claimAddress ethCommon.Address) (claimableCB *big.Int, err error)
- func (c *AuctionClient) AuctionGetClosedAuctionSlots() (closedAuctionSlots uint16, err error)
- func (c *AuctionClient) AuctionGetCurrentSlotNumber() (currentSlotNumber int64, err error)
- func (c *AuctionClient) AuctionGetDefaultSlotSetBid(slotSet uint8) (minBidSlotSet *big.Int, err error)
- func (c *AuctionClient) AuctionGetDonationAddress() (donationAddress *ethCommon.Address, err error)
- func (c *AuctionClient) AuctionGetMinBidBySlot(slot int64) (minBid *big.Int, err error)
- func (c *AuctionClient) AuctionGetOpenAuctionSlots() (openAuctionSlots uint16, err error)
- func (c *AuctionClient) AuctionGetOutbidding() (outbidding uint16, err error)
- func (c *AuctionClient) AuctionGetSlotDeadline() (slotDeadline uint8, err error)
- func (c *AuctionClient) AuctionGetSlotNumber(blockNum int64) (slot int64, err error)
- func (c *AuctionClient) AuctionGetSlotSet(slot int64) (slotSet *big.Int, err error)
- func (c *AuctionClient) AuctionMultiBid(amount *big.Int, startingSlot, endingSlot int64, slotSets [6]bool, ...) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetAllocationRatio(newAllocationRatio [3]uint16) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetBootCoordinator(newBootCoordinator ethCommon.Address, newBootCoordinatorURL string) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetClosedAuctionSlots(newClosedAuctionSlots uint16) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetCoordinator(forger ethCommon.Address, coordinatorURL string) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetDonationAddress(newDonationAddress ethCommon.Address) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetOpenAuctionSlots(newOpenAuctionSlots uint16) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetOutbidding(newOutbidding uint16) (tx *types.Transaction, err error)
- func (c *AuctionClient) AuctionSetSlotDeadline(newDeadline uint8) (*types.Transaction, error)
- func (c *AuctionClient) AuctionVariables() (auctionVariables *common.AuctionVariables, err error)
- type AuctionEventCBClaimed
- type AuctionEventInitialize
- type AuctionEventNewAllocationRatio
- type AuctionEventNewBid
- type AuctionEventNewBootCoordinator
- type AuctionEventNewClosedAuctionSlots
- type AuctionEventNewDefaultSlotSetBid
- type AuctionEventNewDonationAddress
- type AuctionEventNewForge
- type AuctionEventNewForgeAllocated
- type AuctionEventNewOpenAuctionSlots
- type AuctionEventNewOutbidding
- type AuctionEventNewSlotDeadline
- type AuctionEventSetCoordinator
- type AuctionEvents
- type AuctionInterface
- type AuctionState
- type Client
- type ClientConfig
- type ClientInterface
- type ContractData
- type Coordinator
- type ERC20Consts
- type EthereumClient
- func (c *EthereumClient) Account() *accounts.Account
- func (c *EthereumClient) BalanceAt(addr ethCommon.Address) (*big.Int, error)
- func (c *EthereumClient) Call(fn func(*ethclient.Client) error) error
- func (c *EthereumClient) CallAuth(gasLimit uint64, ...) (*types.Transaction, error)
- func (c *EthereumClient) Client() *ethclient.Client
- func (c *EthereumClient) EthAddress() (*ethCommon.Address, error)
- func (c *EthereumClient) EthBlockByNumber(ctx context.Context, number int64) (*common.Block, error)
- func (c *EthereumClient) EthCall(ctx context.Context, tx *types.Transaction, blockNum *big.Int) ([]byte, error)
- func (c *EthereumClient) EthChainID() (*big.Int, error)
- func (c *EthereumClient) EthERC20Consts(tokenAddress ethCommon.Address) (*ERC20Consts, error)
- func (c *EthereumClient) EthKeyStore() *ethKeystore.KeyStore
- func (c *EthereumClient) EthLastBlock() (int64, error)
- func (c *EthereumClient) EthNonceAt(ctx context.Context, account ethCommon.Address, blockNumber *big.Int) (uint64, error)
- func (c *EthereumClient) EthPendingNonceAt(ctx context.Context, account ethCommon.Address) (uint64, error)
- func (c *EthereumClient) EthSuggestGasPrice(ctx context.Context) (gasPrice *big.Int, err error)
- func (c *EthereumClient) EthTransactionReceipt(ctx context.Context, txHash ethCommon.Hash) (*types.Receipt, error)
- func (c *EthereumClient) NewAuth() (*bind.TransactOpts, error)
- type EthereumConfig
- type EthereumInterface
- type RollupConfig
- type SlotState
Constants ¶
This section is empty.
Variables ¶
var ( // ErrAccountNil is used when the calls can not be made because the account is nil ErrAccountNil = fmt.Errorf("Authorized calls can't be made when the account is nil") // ErrBlockHashMismatchEvent is used when there's a block hash mismatch // between different events of the same block ErrBlockHashMismatchEvent = fmt.Errorf("block hash mismatch in event log") )
Functions ¶
This section is empty.
Types ¶
type AuctionClient ¶
type AuctionClient struct {
// contains filtered or unexported fields
}
AuctionClient is the implementation of the interface to the Auction Smart Contract in ethereum.
func NewAuctionClient ¶
func NewAuctionClient(client *EthereumClient, address, tokenAddress ethCommon.Address) (*AuctionClient, error)
NewAuctionClient creates a new AuctionClient. `tokenAddress` is the address of the CB tokens.
func (*AuctionClient) AuctionBid ¶
func (c *AuctionClient) AuctionBid(amount *big.Int, slot int64, bidAmount *big.Int, deadline *big.Int) (tx *types.Transaction, err error)
AuctionBid is the interface to call the smart contract function
func (*AuctionClient) AuctionCanForge ¶
func (c *AuctionClient) AuctionCanForge(forger ethCommon.Address, blockNum int64) (canForge bool, err error)
AuctionCanForge is the interface to call the smart contract function
func (*AuctionClient) AuctionChangeDefaultSlotSetBid ¶
func (c *AuctionClient) AuctionChangeDefaultSlotSetBid(slotSet int64, newInitialMinBid *big.Int) (tx *types.Transaction, err error)
AuctionChangeDefaultSlotSetBid is the interface to call the smart contract function
func (*AuctionClient) AuctionClaimCB ¶
func (c *AuctionClient) AuctionClaimCB() (tx *types.Transaction, err error)
AuctionClaimCB is the interface to call the smart contract function
func (*AuctionClient) AuctionConstants ¶
func (c *AuctionClient) AuctionConstants() (auctionConstants *common.AuctionConstants, err error)
AuctionConstants returns the Constants of the Auction Smart Contract
func (*AuctionClient) AuctionEventInit ¶
func (c *AuctionClient) AuctionEventInit(genesisBlockNum int64) (*AuctionEventInitialize, int64, error)
AuctionEventInit returns the initialize event with its corresponding block number
func (*AuctionClient) AuctionEventsByBlock ¶
func (c *AuctionClient) AuctionEventsByBlock(blockNum int64, blockHash *ethCommon.Hash) (*AuctionEvents, error)
AuctionEventsByBlock returns the events in a block that happened in the Auction Smart Contract. To query by blockNum, set blockNum >= 0 and blockHash == nil. To query by blockHash set blockHash != nil, and blockNum will be ignored. If there are no events in that block the result is nil.
func (*AuctionClient) AuctionForge ¶
func (c *AuctionClient) AuctionForge(forger ethCommon.Address) (tx *types.Transaction, err error)
AuctionForge is the interface to call the smart contract function
func (*AuctionClient) AuctionGetAllocationRatio ¶
func (c *AuctionClient) AuctionGetAllocationRatio() (allocationRation [3]uint16, err error)
AuctionGetAllocationRatio is the interface to call the smart contract function
func (*AuctionClient) AuctionGetBootCoordinator ¶
func (c *AuctionClient) AuctionGetBootCoordinator() (bootCoordinator *ethCommon.Address, err error)
AuctionGetBootCoordinator is the interface to call the smart contract function
func (*AuctionClient) AuctionGetClaimableCB ¶
func (c *AuctionClient) AuctionGetClaimableCB( claimAddress ethCommon.Address) (claimableCB *big.Int, err error)
AuctionGetClaimableCB is the interface to call the smart contract function
func (*AuctionClient) AuctionGetClosedAuctionSlots ¶
func (c *AuctionClient) AuctionGetClosedAuctionSlots() (closedAuctionSlots uint16, err error)
AuctionGetClosedAuctionSlots is the interface to call the smart contract function
func (*AuctionClient) AuctionGetCurrentSlotNumber ¶
func (c *AuctionClient) AuctionGetCurrentSlotNumber() (currentSlotNumber int64, err error)
AuctionGetCurrentSlotNumber is the interface to call the smart contract function
func (*AuctionClient) AuctionGetDefaultSlotSetBid ¶
func (c *AuctionClient) AuctionGetDefaultSlotSetBid(slotSet uint8) (minBidSlotSet *big.Int, err error)
AuctionGetDefaultSlotSetBid is the interface to call the smart contract function
func (*AuctionClient) AuctionGetDonationAddress ¶
func (c *AuctionClient) AuctionGetDonationAddress() (donationAddress *ethCommon.Address, err error)
AuctionGetDonationAddress is the interface to call the smart contract function
func (*AuctionClient) AuctionGetMinBidBySlot ¶
func (c *AuctionClient) AuctionGetMinBidBySlot(slot int64) (minBid *big.Int, err error)
AuctionGetMinBidBySlot is the interface to call the smart contract function
func (*AuctionClient) AuctionGetOpenAuctionSlots ¶
func (c *AuctionClient) AuctionGetOpenAuctionSlots() (openAuctionSlots uint16, err error)
AuctionGetOpenAuctionSlots is the interface to call the smart contract function
func (*AuctionClient) AuctionGetOutbidding ¶
func (c *AuctionClient) AuctionGetOutbidding() (outbidding uint16, err error)
AuctionGetOutbidding is the interface to call the smart contract function
func (*AuctionClient) AuctionGetSlotDeadline ¶
func (c *AuctionClient) AuctionGetSlotDeadline() (slotDeadline uint8, err error)
AuctionGetSlotDeadline is the interface to call the smart contract function
func (*AuctionClient) AuctionGetSlotNumber ¶
func (c *AuctionClient) AuctionGetSlotNumber(blockNum int64) (slot int64, err error)
AuctionGetSlotNumber is the interface to call the smart contract function
func (*AuctionClient) AuctionGetSlotSet ¶
func (c *AuctionClient) AuctionGetSlotSet(slot int64) (slotSet *big.Int, err error)
AuctionGetSlotSet is the interface to call the smart contract function
func (*AuctionClient) AuctionMultiBid ¶
func (c *AuctionClient) AuctionMultiBid(amount *big.Int, startingSlot, endingSlot int64, slotSets [6]bool, maxBid, minBid, deadline *big.Int) (tx *types.Transaction, err error)
AuctionMultiBid is the interface to call the smart contract function
func (*AuctionClient) AuctionSetAllocationRatio ¶
func (c *AuctionClient) AuctionSetAllocationRatio( newAllocationRatio [3]uint16) (tx *types.Transaction, err error)
AuctionSetAllocationRatio is the interface to call the smart contract function
func (*AuctionClient) AuctionSetBootCoordinator ¶
func (c *AuctionClient) AuctionSetBootCoordinator(newBootCoordinator ethCommon.Address, newBootCoordinatorURL string) (tx *types.Transaction, err error)
AuctionSetBootCoordinator is the interface to call the smart contract function
func (*AuctionClient) AuctionSetClosedAuctionSlots ¶
func (c *AuctionClient) AuctionSetClosedAuctionSlots( newClosedAuctionSlots uint16) (tx *types.Transaction, err error)
AuctionSetClosedAuctionSlots is the interface to call the smart contract function
func (*AuctionClient) AuctionSetCoordinator ¶
func (c *AuctionClient) AuctionSetCoordinator(forger ethCommon.Address, coordinatorURL string) (tx *types.Transaction, err error)
AuctionSetCoordinator is the interface to call the smart contract function
func (*AuctionClient) AuctionSetDonationAddress ¶
func (c *AuctionClient) AuctionSetDonationAddress( newDonationAddress ethCommon.Address) (tx *types.Transaction, err error)
AuctionSetDonationAddress is the interface to call the smart contract function
func (*AuctionClient) AuctionSetOpenAuctionSlots ¶
func (c *AuctionClient) AuctionSetOpenAuctionSlots( newOpenAuctionSlots uint16) (tx *types.Transaction, err error)
AuctionSetOpenAuctionSlots is the interface to call the smart contract function
func (*AuctionClient) AuctionSetOutbidding ¶
func (c *AuctionClient) AuctionSetOutbidding(newOutbidding uint16) (tx *types.Transaction, err error)
AuctionSetOutbidding is the interface to call the smart contract function
func (*AuctionClient) AuctionSetSlotDeadline ¶
func (c *AuctionClient) AuctionSetSlotDeadline(newDeadline uint8) (*types.Transaction, error)
AuctionSetSlotDeadline is the interface to call the smart contract function
func (*AuctionClient) AuctionVariables ¶
func (c *AuctionClient) AuctionVariables() (auctionVariables *common.AuctionVariables, err error)
AuctionVariables returns the variables of the Auction Smart Contract
type AuctionEventCBClaimed ¶
AuctionEventCBClaimed is an event of the Auction Smart Contract
type AuctionEventInitialize ¶
type AuctionEventInitialize struct { DonationAddress ethCommon.Address BootCoordinatorAddress ethCommon.Address BootCoordinatorURL string Outbidding uint16 SlotDeadline uint8 ClosedAuctionSlots uint16 OpenAuctionSlots uint16 AllocationRatio [3]uint16 }
AuctionEventInitialize is the InitializeChainbingAuctionProtocolEvent event of the Smart Contract
func (*AuctionEventInitialize) AuctionVariables ¶
func (ei *AuctionEventInitialize) AuctionVariables( InitialMinimalBidding *big.Int) *common.AuctionVariables
AuctionVariables returns the AuctionVariables from the initialize event
type AuctionEventNewAllocationRatio ¶
type AuctionEventNewAllocationRatio struct {
NewAllocationRatio [3]uint16
}
AuctionEventNewAllocationRatio is an event of the Auction Smart Contract
type AuctionEventNewBid ¶
AuctionEventNewBid is an event of the Auction Smart Contract
type AuctionEventNewBootCoordinator ¶
type AuctionEventNewBootCoordinator struct { NewBootCoordinator ethCommon.Address NewBootCoordinatorURL string }
AuctionEventNewBootCoordinator is an event of the Auction Smart Contract
type AuctionEventNewClosedAuctionSlots ¶
type AuctionEventNewClosedAuctionSlots struct {
NewClosedAuctionSlots uint16
}
AuctionEventNewClosedAuctionSlots is an event of the Auction Smart Contract
type AuctionEventNewDefaultSlotSetBid ¶
AuctionEventNewDefaultSlotSetBid is an event of the Auction Smart Contract
type AuctionEventNewDonationAddress ¶
AuctionEventNewDonationAddress is an event of the Auction Smart Contract
type AuctionEventNewForge ¶
AuctionEventNewForge is an event of the Auction Smart Contract
type AuctionEventNewForgeAllocated ¶
type AuctionEventNewForgeAllocated struct { Bidder ethCommon.Address Forger ethCommon.Address SlotToForge int64 BurnAmount *big.Int DonationAmount *big.Int GovernanceAmount *big.Int }
AuctionEventNewForgeAllocated is an event of the Auction Smart Contract
type AuctionEventNewOpenAuctionSlots ¶
type AuctionEventNewOpenAuctionSlots struct {
NewOpenAuctionSlots uint16
}
AuctionEventNewOpenAuctionSlots is an event of the Auction Smart Contract
type AuctionEventNewOutbidding ¶
type AuctionEventNewOutbidding struct {
NewOutbidding uint16
}
AuctionEventNewOutbidding is an event of the Auction Smart Contract
type AuctionEventNewSlotDeadline ¶
type AuctionEventNewSlotDeadline struct {
NewSlotDeadline uint8
}
AuctionEventNewSlotDeadline is an event of the Auction Smart Contract
type AuctionEventSetCoordinator ¶
type AuctionEventSetCoordinator struct { BidderAddress ethCommon.Address ForgerAddress ethCommon.Address CoordinatorURL string }
AuctionEventSetCoordinator is an event of the Auction Smart Contract
type AuctionEvents ¶
type AuctionEvents struct { NewBid []AuctionEventNewBid NewSlotDeadline []AuctionEventNewSlotDeadline NewClosedAuctionSlots []AuctionEventNewClosedAuctionSlots NewOutbidding []AuctionEventNewOutbidding NewDonationAddress []AuctionEventNewDonationAddress NewBootCoordinator []AuctionEventNewBootCoordinator NewOpenAuctionSlots []AuctionEventNewOpenAuctionSlots NewAllocationRatio []AuctionEventNewAllocationRatio SetCoordinator []AuctionEventSetCoordinator NewForgeAllocated []AuctionEventNewForgeAllocated NewDefaultSlotSetBid []AuctionEventNewDefaultSlotSetBid NewForge []AuctionEventNewForge CBClaimed []AuctionEventCBClaimed }
AuctionEvents is the list of events in a block of the Auction Smart Contract
func NewAuctionEvents ¶
func NewAuctionEvents() AuctionEvents
NewAuctionEvents creates an empty AuctionEvents with the slices initialized.
type AuctionInterface ¶
type AuctionInterface interface { // Getter/Setter, where Setter is onlyOwner AuctionSetSlotDeadline(newDeadline uint8) (*types.Transaction, error) AuctionGetSlotDeadline() (uint8, error) AuctionSetOpenAuctionSlots(newOpenAuctionSlots uint16) (*types.Transaction, error) AuctionGetOpenAuctionSlots() (uint16, error) AuctionSetClosedAuctionSlots(newClosedAuctionSlots uint16) (*types.Transaction, error) AuctionGetClosedAuctionSlots() (uint16, error) AuctionSetOutbidding(newOutbidding uint16) (*types.Transaction, error) AuctionGetOutbidding() (uint16, error) AuctionSetAllocationRatio(newAllocationRatio [3]uint16) (*types.Transaction, error) AuctionGetAllocationRatio() ([3]uint16, error) AuctionSetDonationAddress(newDonationAddress ethCommon.Address) (*types.Transaction, error) AuctionGetDonationAddress() (*ethCommon.Address, error) AuctionSetBootCoordinator(newBootCoordinator ethCommon.Address, newBootCoordinatorURL string) (*types.Transaction, error) AuctionGetBootCoordinator() (*ethCommon.Address, error) AuctionChangeDefaultSlotSetBid(slotSet int64, newInitialMinBid *big.Int) (*types.Transaction, error) // Coordinator Management AuctionSetCoordinator(forger ethCommon.Address, coordinatorURL string) (*types.Transaction, error) // Slot Info AuctionGetSlotNumber(blockNum int64) (int64, error) AuctionGetCurrentSlotNumber() (int64, error) AuctionGetMinBidBySlot(slot int64) (*big.Int, error) AuctionGetDefaultSlotSetBid(slotSet uint8) (*big.Int, error) AuctionGetSlotSet(slot int64) (*big.Int, error) // Bidding AuctionBid(amount *big.Int, slot int64, bidAmount *big.Int, deadline *big.Int) ( tx *types.Transaction, err error) AuctionMultiBid(amount *big.Int, startingSlot, endingSlot int64, slotSets [6]bool, maxBid, minBid, deadline *big.Int) (tx *types.Transaction, err error) // Forge AuctionCanForge(forger ethCommon.Address, blockNum int64) (bool, error) AuctionForge(forger ethCommon.Address) (*types.Transaction, error) // Fees AuctionClaimCB() (*types.Transaction, error) AuctionGetClaimableCB(bidder ethCommon.Address) (*big.Int, error) AuctionConstants() (*common.AuctionConstants, error) AuctionEventsByBlock(blockNum int64, blockHash *ethCommon.Hash) (*AuctionEvents, error) AuctionEventInit(genesisBlockNum int64) (*AuctionEventInitialize, int64, error) }
AuctionInterface is the inteface to to Auction Smart Contract
type AuctionState ¶
type AuctionState struct { // Mapping to control slot state Slots map[int64]*SlotState // Mapping to control balances pending to claim PendingBalances map[ethCommon.Address]*big.Int // Mapping to register all the coordinators. The address used for the mapping is the forger address Coordinators map[ethCommon.Address]*Coordinator }
AuctionState represents the state of the Rollup in the Smart Contract
type Client ¶
type Client struct { EthereumClient AuctionClient RollupClient WDelayerClient }
Client is used to interact with Ethereum and the Chainbing smart contracts.
type ClientConfig ¶
type ClientConfig struct { Ethereum EthereumConfig Rollup RollupConfig }
ClientConfig is the configuration of the Client
type ClientInterface ¶
type ClientInterface interface { EthereumInterface RollupInterface AuctionInterface WDelayerInterface }
ClientInterface is the eth Client interface used by node modules to interact with Ethereum Blockchain and smart contracts.
type ContractData ¶
ContractData contains the contract data
type Coordinator ¶
Coordinator is the details of the Coordinator identified by the forger address
type ERC20Consts ¶
ERC20Consts are the constants defined in a particular ERC20 Token instance
type EthereumClient ¶
type EthereumClient struct {
// contains filtered or unexported fields
}
EthereumClient is an ethereum client to call Smart Contract methods and check blockchain information.
func NewEthereumClient ¶
func NewEthereumClient(client *ethclient.Client, account *accounts.Account, ks *ethKeystore.KeyStore, config *EthereumConfig) (*EthereumClient, error)
NewEthereumClient creates a EthereumClient instance. The account is not mandatory (it can be nil). If the account is nil, CallAuth will fail with ErrAccountNil.
func (*EthereumClient) Account ¶
func (c *EthereumClient) Account() *accounts.Account
Account returns the underlying ethereum account
func (*EthereumClient) Call ¶
func (c *EthereumClient) Call(fn func(*ethclient.Client) error) error
Call performs a read only Smart Contract method call.
func (*EthereumClient) CallAuth ¶
func (c *EthereumClient) CallAuth(gasLimit uint64, fn func(*ethclient.Client, *bind.TransactOpts) (*types.Transaction, error)) (*types.Transaction, error)
CallAuth performs a Smart Contract method call that requires authorization. This call requires a valid account with Ether that can be spend during the call.
func (*EthereumClient) Client ¶
func (c *EthereumClient) Client() *ethclient.Client
Client returns the internal ethclient.Client
func (*EthereumClient) EthAddress ¶
func (c *EthereumClient) EthAddress() (*ethCommon.Address, error)
EthAddress returns the ethereum address of the account loaded into the EthereumClient
func (*EthereumClient) EthBlockByNumber ¶
EthBlockByNumber internally calls ethclient.Client BlockByNumber and returns *common.Block. If number == -1, the latests known block is returned.
func (*EthereumClient) EthCall ¶
func (c *EthereumClient) EthCall(ctx context.Context, tx *types.Transaction, blockNum *big.Int) ([]byte, error)
EthCall runs the transaction as a call (without paying) in the local node at blockNum.
func (*EthereumClient) EthChainID ¶
func (c *EthereumClient) EthChainID() (*big.Int, error)
EthChainID returns the ChainID of the ethereum network
func (*EthereumClient) EthERC20Consts ¶
func (c *EthereumClient) EthERC20Consts(tokenAddress ethCommon.Address) (*ERC20Consts, error)
EthERC20Consts returns the constants defined for a particular ERC20 Token instance.
func (*EthereumClient) EthKeyStore ¶
func (c *EthereumClient) EthKeyStore() *ethKeystore.KeyStore
EthKeyStore returns the keystore in the EthereumClient
func (*EthereumClient) EthLastBlock ¶
func (c *EthereumClient) EthLastBlock() (int64, error)
EthLastBlock returns the last block number in the blockchain
func (*EthereumClient) EthNonceAt ¶
func (c *EthereumClient) EthNonceAt(ctx context.Context, account ethCommon.Address, blockNumber *big.Int) (uint64, error)
EthNonceAt returns the account nonce of the given account. The block number can be nil, in which case the nonce is taken from the latest known block.
func (*EthereumClient) EthPendingNonceAt ¶
func (c *EthereumClient) EthPendingNonceAt(ctx context.Context, account ethCommon.Address) (uint64, error)
EthPendingNonceAt returns the account nonce of the given account in the pending state. This is the nonce that should be used for the next transaction.
func (*EthereumClient) EthSuggestGasPrice ¶
EthSuggestGasPrice retrieves the currently suggested gas price to allow a timely execution of a transaction.
func (*EthereumClient) EthTransactionReceipt ¶
func (c *EthereumClient) EthTransactionReceipt(ctx context.Context, txHash ethCommon.Hash) (*types.Receipt, error)
EthTransactionReceipt returns the transaction receipt of the given txHash
func (*EthereumClient) NewAuth ¶
func (c *EthereumClient) NewAuth() (*bind.TransactOpts, error)
NewAuth builds a new auth object to make a transaction
type EthereumConfig ¶
EthereumConfig defines the configuration parameters of the EthereumClient
type EthereumInterface ¶
type EthereumInterface interface { EthLastBlock() (int64, error) // EthHeaderByNumber(context.Context, *big.Int) (*types.Header, error) EthBlockByNumber(context.Context, int64) (*common.Block, error) EthAddress() (*ethCommon.Address, error) EthTransactionReceipt(context.Context, ethCommon.Hash) (*types.Receipt, error) EthERC20Consts(ethCommon.Address) (*ERC20Consts, error) EthChainID() (*big.Int, error) EthPendingNonceAt(ctx context.Context, account ethCommon.Address) (uint64, error) EthNonceAt(ctx context.Context, account ethCommon.Address, blockNumber *big.Int) (uint64, error) EthSuggestGasPrice(ctx context.Context) (*big.Int, error) EthKeyStore() *ethKeystore.KeyStore EthCall(ctx context.Context, tx *types.Transaction, blockNum *big.Int) ([]byte, error) }
EthereumInterface is the interface to Ethereum
type RollupConfig ¶
RollupConfig is the configuration for the Rollup smart contract interface