|
|
package eth
import ( "fmt"
"github.com/ethereum/go-ethereum/accounts" ethKeystore "github.com/ethereum/go-ethereum/accounts/keystore" "github.com/ethereum/go-ethereum/ethclient" )
var errTODO = fmt.Errorf("TODO: Not implemented yet")
// ClientInterface is the eth Client interface used by hermez-node modules to
// interact with Ethereum Blockchain and smart contracts.
type ClientInterface interface { EthereumInterface RollupInterface AuctionInterface }
//
// Implementation
//
// Client is used to interact with Ethereum and the Hermez smart contracts.
type Client struct { EthereumClient AuctionClient RollupClient }
// NewClient creates a new Client to interact with Ethereum and the Hermez smart contracts.
func NewClient(client *ethclient.Client, account *accounts.Account, ks *ethKeystore.KeyStore, config *EthereumConfig) *Client { ethereumClient := NewEthereumClient(client, account, ks, config) auctionClient := &AuctionClient{} rollupCient := &RollupClient{} return &Client{ EthereumClient: *ethereumClient, AuctionClient: *auctionClient, RollupClient: *rollupCient, } }
|