mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-07 10:12:19 +00:00
dd384d3a22
Former-commit-id: b2defb3e277217d0d5bef86f1d4078668791d251 [formerly 6a6bd5c309442805ccac942325e0feef69dd17ab] Former-commit-id: 2a26568478ed072db7c8e299eb40644b1c7c10d2
33 lines
867 B
Go
33 lines
867 B
Go
package sharding
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
ethereum "github.com/ethereum/go-ethereum"
|
|
"github.com/ethereum/go-ethereum/accounts"
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind"
|
|
"github.com/ethereum/go-ethereum/sharding/contracts"
|
|
cli "gopkg.in/urfave/cli.v1"
|
|
)
|
|
|
|
// ShardingClient defines a service that provides full control and shared access of
|
|
// necessary components for a sharded Ethereum blockchain.
|
|
type ShardingClient interface {
|
|
Start() error
|
|
Close() error
|
|
Context() *cli.Context
|
|
CreateTXOpts(*big.Int) (*bind.TransactOpts, error)
|
|
ChainReader() ethereum.ChainReader
|
|
Account() *accounts.Account
|
|
SMCCaller() *contracts.SMCCaller
|
|
SMCTransactor() *contracts.SMCTransactor
|
|
DepositFlagSet() bool
|
|
DataDirFlag() string
|
|
}
|
|
|
|
// ShardingActor refers to either a notary, proposer, or observer.
|
|
type ShardingActor interface {
|
|
Start() error
|
|
Stop() error
|
|
}
|