Documentation
¶
Index ¶
- Variables
- func NewCryptoComponentsFactory(args CryptoComponentsFactoryArgs) (*cryptoComponentsFactory, error)
- func NewCryptoSigningParamsLoader(pubkeyConverter state.PubkeyConverter, skIndex int, skPemFileName string, ...) (*cryptoSigningParamsLoader, error)
- func NewDataComponentsFactory(args DataComponentsFactoryArgs) (*dataComponentsFactory, error)
- func NewNetworkComponentsFactory(p2pConfig config.P2PConfig, mainConfig config.Config, ...) (*networkComponentsFactory, error)
- func NewStateComponentsFactory(args StateComponentsFactoryArgs) (*stateComponentsFactory, error)
- func NewTriesComponentsFactory(args TriesComponentsFactoryArgs) (*triesComponentsFactory, error)
- type CoreComponents
- type CoreComponentsFactory
- type CoreComponentsFactoryArgs
- type CryptoComponents
- type CryptoComponentsFactoryArgs
- type CryptoParams
- type DataComponents
- type DataComponentsFactoryArgs
- type EpochStartNotifier
- type NetworkComponents
- type NodesSetupHandler
- type P2PAntifloodHandler
- type StateComponents
- type StateComponentsFactoryArgs
- type TriesComponents
- type TriesComponentsFactoryArgs
Constants ¶
This section is empty.
Variables ¶
var ErrAccountsAdapterCreation = errors.New("error creating accounts adapter")
ErrAccountsAdapterCreation signals that the accounts adapter cannot be created based on provided data
var ErrBlockchainCreation = errors.New("can not create blockchain")
ErrBlockchainCreation signals that the blockchain cannot be created
var ErrDataPoolCreation = errors.New("can not create data pool")
ErrDataPoolCreation signals that the data pool cannot be created
var ErrDataStoreCreation = errors.New("can not create data store")
ErrDataStoreCreation signals that the data store cannot be created
var ErrHasherCreation = errors.New("error creating hasher")
ErrHasherCreation signals that the hasher cannot be created based on provided data
var ErrInitialBalancesCreation = errors.New("error creating initial balances")
ErrInitialBalancesCreation signals that the initial balances cannot be created based on provided data
var ErrMarshalizerCreation = errors.New("error creating marshalizer")
ErrMarshalizerCreation signals that the marshalizer cannot be created based on provided data
var ErrMissingConsensusConfig = errors.New("no consensus type provided in config file")
ErrMissingConsensusConfig signals that consensus type isn't specified in the configuration file
var ErrMissingMultiHasherConfig = errors.New("no multisig hasher provided in config file")
ErrMissingMultiHasherConfig signals that the multihasher type isn't specified in the configuration file
var ErrMultiSigCreation = errors.New("could not start creation of multiSigner")
ErrMultiSigCreation signals that the multisigner couldn't be created
var ErrMultiSigHasherMissmatch = errors.New("wrong multisig hasher provided for bls consensus type")
ErrMultiSigHasherMissmatch signals that an invalid multisig hasher was provided
var ErrNilCoreComponents = errors.New("nil core components provided")
ErrNilCoreComponents signals that nil core components have been provided
var ErrNilEconomicsData = errors.New("nil economics data provided")
ErrNilEconomicsData signals that a nil economics data handler has been provided
var ErrNilEpochStartNotifier = errors.New("nil epoch start notifier provided")
ErrNilEpochStartNotifier signals that a nil epoch start notifier has been provided
var ErrNilGenesisConfiguration = errors.New("nil genesis configuration provided")
ErrNilGenesisConfiguration signals that a nil genesis configuration has been provided
var ErrNilHasher = errors.New("nil hasher provided")
ErrNilHasher signals that a nil hasher has been provided
var ErrNilKeyGen = errors.New("nil key generator provided")
ErrNilKeyGen signals that a nil key generator has been provided
var ErrNilMarshalizer = errors.New("nil marshalizer provided")
ErrNilMarshalizer signals that a nil marshalizer has been provided
var ErrNilNodesConfig = errors.New("nil nodes configuration provided")
ErrNilNodesConfig signals that a nil nodes configuration has been provided
var ErrNilPathManager = errors.New("nil path manager provided")
ErrNilPathManager signals that a nil path manager has been provided
var ErrNilPrivateKey = errors.New("nil private key provided")
ErrNilPrivateKey signals that a nil private key has been provided
var ErrNilPubKeyConverter = errors.New("nil public key converter provided")
ErrNilPubKeyConverter signals that a nil public key converter has been provided
var ErrNilShardCoordinator = errors.New("nil shard coordinator provided")
ErrNilShardCoordinator signals that nil core components have been provided
var ErrNilStatusHandler = errors.New("nil status handler provided")
ErrNilStatusHandler signals that a nil status handler has been provided
var ErrNilSuite = errors.New("nil suite provided")
ErrNilSuite signals that a nil suite has been provided
var ErrNilTriesComponents = errors.New("nil tries components provided")
ErrNilTriesComponents signals that nil tries components have been provided
var ErrPubKeyConverterCreation = errors.New("error creating public key converter")
ErrPubKeyConverterCreation signals that the public key converter cannot be created based on provided data
var ErrPublicKeyMismatch = errors.New("public key mismatch between the computed and the one read from the file")
ErrPublicKeyMismatch signals that the read public key mismatch the one read
var ErrWrongTypeAssertion = errors.New("wrong type assertion")
ErrWrongTypeAssertion signals that a wrong type assertion occurred
Functions ¶
func NewCryptoComponentsFactory ¶
func NewCryptoComponentsFactory(args CryptoComponentsFactoryArgs) (*cryptoComponentsFactory, error)
NewCryptoComponentsFactory returns a new crypto components factory
func NewCryptoSigningParamsLoader ¶
func NewCryptoSigningParamsLoader( pubkeyConverter state.PubkeyConverter, skIndex int, skPemFileName string, suite crypto.Suite, ) (*cryptoSigningParamsLoader, error)
NewCryptoSigningParamsLoader returns a new instance of cryptoSigningParamsLoader
func NewDataComponentsFactory ¶
func NewDataComponentsFactory(args DataComponentsFactoryArgs) (*dataComponentsFactory, error)
NewDataComponentsFactory will return a new instance of dataComponentsFactory
func NewNetworkComponentsFactory ¶
func NewNetworkComponentsFactory( p2pConfig config.P2PConfig, mainConfig config.Config, statusHandler core.AppStatusHandler, ) (*networkComponentsFactory, error)
NewNetworkComponentsFactory returns a new instance of a network components factory
func NewStateComponentsFactory ¶
func NewStateComponentsFactory(args StateComponentsFactoryArgs) (*stateComponentsFactory, error)
NewStateComponentsFactory will return a new instance of stateComponentsFactory
func NewTriesComponentsFactory ¶
func NewTriesComponentsFactory(args TriesComponentsFactoryArgs) (*triesComponentsFactory, error)
NewTriesComponentsFactory return a new instance of tries components factory
Types ¶
type CoreComponents ¶
type CoreComponents struct {
Hasher hashing.Hasher
InternalMarshalizer marshal.Marshalizer
VmMarshalizer marshal.Marshalizer
TxSignMarshalizer marshal.Marshalizer
Uint64ByteSliceConverter typeConverters.Uint64ByteSliceConverter
StatusHandler core.AppStatusHandler
ChainID []byte
}
CoreComponents is the DTO used for core components
type CoreComponentsFactory ¶
type CoreComponentsFactory struct {
// contains filtered or unexported fields
}
CoreComponentsFactory is responsible for creating the core components
func NewCoreComponentsFactory ¶
func NewCoreComponentsFactory(args CoreComponentsFactoryArgs) *CoreComponentsFactory
NewCoreComponentsFactory initializes the factory which is responsible to creating core components
func (*CoreComponentsFactory) Create ¶
func (ccf *CoreComponentsFactory) Create() (*CoreComponents, error)
Create creates the core components
type CoreComponentsFactoryArgs ¶
CoreComponentsFactoryArgs holds the arguments needed for creating a core components factory
type CryptoComponents ¶
type CryptoComponents struct {
TxSingleSigner crypto.SingleSigner
SingleSigner crypto.SingleSigner
MultiSigner crypto.MultiSigner
BlockSignKeyGen crypto.KeyGenerator
TxSignKeyGen crypto.KeyGenerator
InitialPubKeys map[uint32][]string
MessageSignVerifier vm.MessageSignVerifier
}
CryptoComponents struct holds the crypto components
type CryptoComponentsFactoryArgs ¶
type CryptoComponentsFactoryArgs struct {
Config config.Config
NodesConfig NodesSetupHandler
ShardCoordinator sharding.Coordinator
KeyGen crypto.KeyGenerator
PrivKey crypto.PrivateKey
ActivateBLSPubKeyMessageVerification bool
}
CryptoComponentsFactoryArgs holds the arguments needed for creating crypto components
type CryptoParams ¶
type CryptoParams struct {
KeyGenerator crypto.KeyGenerator
PrivateKey crypto.PrivateKey
PublicKey crypto.PublicKey
PublicKeyBytes []byte
PublicKeyString string
}
CryptoParams is a DTO for holding block signing parameters
type DataComponents ¶
type DataComponents struct {
Blkc data.ChainHandler
Store dataRetriever.StorageService
Datapool dataRetriever.PoolsHolder
}
DataComponents struct holds the data components
type DataComponentsFactoryArgs ¶
type DataComponentsFactoryArgs struct {
Config config.Config
EconomicsData *economics.EconomicsData
ShardCoordinator sharding.Coordinator
Core *CoreComponents
PathManager storage.PathManagerHandler
EpochStartNotifier EpochStartNotifier
CurrentEpoch uint32
}
DataComponentsFactoryArgs holds the arguments needed for creating a data components factory
type EpochStartNotifier ¶
type EpochStartNotifier interface {
RegisterHandler(handler epochStart.ActionHandler)
UnregisterHandler(handler epochStart.ActionHandler)
NotifyAll(hdr data.HeaderHandler)
NotifyAllPrepare(metaHdr data.HeaderHandler, body data.BodyHandler)
IsInterfaceNil() bool
}
EpochStartNotifier defines which actions should be done for handling new epoch's events
type NetworkComponents ¶
type NetworkComponents struct {
NetMessenger p2p.Messenger
InputAntifloodHandler P2PAntifloodHandler
OutputAntifloodHandler P2PAntifloodHandler
PeerBlackListHandler process.BlackListHandler
}
NetworkComponents struct holds the network components
type NodesSetupHandler ¶
type NodesSetupHandler interface {
InitialNodesPubKeys() map[uint32][]string
InitialEligibleNodesPubKeysForShard(shardId uint32) ([]string, error)
IsInterfaceNil() bool
}
NodesSetupHandler defines which actions should be done for handling initial nodes setup
type P2PAntifloodHandler ¶
type P2PAntifloodHandler interface {
CanProcessMessage(message p2p.MessageP2P, fromConnectedPeer p2p.PeerID) error
CanProcessMessagesOnTopic(peer p2p.PeerID, topic string, numMessages uint32) error
ResetForTopic(topic string)
SetMaxMessagesForTopic(topic string, maxNum uint32)
IsInterfaceNil() bool
}
P2PAntifloodHandler defines the behavior of a component able to signal that the system is too busy (or flooded) processing p2p messages
type StateComponents ¶
type StateComponents struct {
AddressPubkeyConverter state.PubkeyConverter
ValidatorPubkeyConverter state.PubkeyConverter
PeerAccounts state.AccountsAdapter
AccountsAdapter state.AccountsAdapter
InBalanceForShard map[string]*big.Int
}
StateComponents struct holds the state components of the Elrond protocol
type StateComponentsFactoryArgs ¶
type StateComponentsFactoryArgs struct {
Config config.Config
GenesisConfig *sharding.Genesis
ShardCoordinator sharding.Coordinator
Core *CoreComponents
Tries *TriesComponents
PathManager storage.PathManagerHandler
}
StateComponentsFactoryArgs holds the arguments needed for creating a state components factory
type TriesComponents ¶
type TriesComponents struct {
TriesContainer state.TriesHolder
TrieStorageManagers map[string]data.StorageManager
}
TriesComponents holds the tries components
type TriesComponentsFactoryArgs ¶
type TriesComponentsFactoryArgs struct {
Marshalizer marshal.Marshalizer
Hasher hashing.Hasher
PathManager storage.PathManagerHandler
ShardCoordinator sharding.Coordinator
Config config.Config
}
TriesComponentsFactoryArgs holds the arguments needed for creating a tries components factory