Documentation ¶
Index ¶
Constants ¶
const DelegationType = "delegation"
DelegationType defines the constant used when checking if a smart contract is of delegation type
Variables ¶
var ErrAccountAlreadyExists = errors.New("account already exists")
ErrAccountAlreadyExists signals that an account already exists
var ErrAccountNotCreated = errors.New("account not created")
ErrAccountNotCreated signals that an account could not have been created
var ErrAddressIsSmartContract = errors.New("address is a smart contract")
ErrAddressIsSmartContract signals that provided address is of type smart contract
var ErrDelegationValueIsNotEnough = errors.New("delegation value is not enough")
ErrDelegationValueIsNotEnough signals that the delegation value provided is not enough for provided node(s)
var ErrDuplicateAddress = errors.New("duplicate address")
ErrDuplicateAddress signals that the same address was found more than one time
var ErrEmptyAddress = errors.New("empty address")
ErrEmptyAddress signals that an empty address was found in genesis file
var ErrEmptyDelegationAddress = errors.New("empty delegation address")
ErrEmptyDelegationAddress signals that the delegation address is empty
var ErrEmptyOwnerAddress = errors.New("empty owner address")
ErrEmptyOwnerAddress signals that an empty owner address was found in genesis file
var ErrEmptyPubKey = errors.New("empty public key")
ErrEmptyPubKey signals that empty public key has been provided
var ErrEmptyVmType = errors.New("empty vm type")
ErrEmptyVmType signals that the provided VM type is empty
var ErrEntireSupplyMismatch = errors.New("entire supply mismatch")
ErrEntireSupplyMismatch signals that the provided entire supply mismatches the computed one
var ErrFilenameIsDirectory = errors.New("provided name is actually a directory")
ErrFilenameIsDirectory signals that the provided filename is a directory
var ErrGetVersionFromSC = errors.New("get version from contract returned an invalid response")
ErrGetVersionFromSC signals that a call to "version" function on a contract resulted in an unexpected result
var ErrInvalidAddress = errors.New("invalid address")
ErrInvalidAddress signals that an invalid address was found
var ErrInvalidBalance = errors.New("invalid balance")
ErrInvalidBalance signals that the balance field is invalid
var ErrInvalidBalanceString = errors.New("invalid balance string")
ErrInvalidBalanceString signals that the balance string is not a valid number
var ErrInvalidDelegationAddress = errors.New("invalid delegation address")
ErrInvalidDelegationAddress signals that the delegation address is invalid
var ErrInvalidDelegationValue = errors.New("invalid delegation value")
ErrInvalidDelegationValue signals that the delegation value field is invalid
var ErrInvalidDelegationValueString = errors.New("invalid delegation value string")
ErrInvalidDelegationValueString signals that the delegation balance string is not a valid number
var ErrInvalidEntireSupply = errors.New("invalid entire supply")
ErrInvalidEntireSupply signals that the provided entire supply is invalid
var ErrInvalidInitialNodePrice = errors.New("invalid initial node price")
ErrInvalidInitialNodePrice signals that the provided initial node price is invalid
var ErrInvalidOwnerAddress = errors.New("invalid owner address")
ErrInvalidOwnerAddress signals that an invalid owner address was found
var ErrInvalidPubKey = errors.New("invalid public key")
ErrInvalidPubKey signals that an invalid public key has been provided
var ErrInvalidStakingBalance = errors.New("invalid staking balance")
ErrInvalidStakingBalance signals that the staking balance field is invalid
var ErrInvalidStakingBalanceString = errors.New("invalid staking balance string")
ErrInvalidStakingBalanceString signals that the staking balance string is not a valid number
var ErrInvalidSupply = errors.New("invalid supply")
ErrInvalidSupply signals that the supply field is invalid
var ErrInvalidSupplyString = errors.New("invalid supply string")
ErrInvalidSupplyString signals that the supply string is not a valid number
var ErrInvalidVmType = errors.New("invalid vm type")
ErrInvalidVmType signals that the provided VM type is invalid
var ErrMissingElement = errors.New("missing element")
ErrMissingElement signals a missing element event
var ErrNilAccountsParser = errors.New("nil accounts parser")
ErrNilAccountsParser signals that the provided accounts parser is nil
var ErrNilDelegationHandler = errors.New("nil delegation handler")
ErrNilDelegationHandler signals that a nil delegation handler has been used
var ErrNilEntireSupply = errors.New("nil entire supply")
ErrNilEntireSupply signals that the provided entire supply is nil
var ErrNilInitialNodePrice = errors.New("nil initial node price")
ErrNilInitialNodePrice signals that the provided initial node price is nil
var ErrNilKeyGenerator = errors.New("nil key generator")
ErrNilKeyGenerator signals that nil key generator has been provided
var ErrNilNodesListSplitter = errors.New("nil nodes list splitter")
ErrNilNodesListSplitter signals that a nil nodes handler has been provided
var ErrNilNodesSetup = errors.New("nil nodes setup")
ErrNilNodesSetup signals that a nil nodes setup handler has been provided
var ErrNilPubkeyConverter = errors.New("nil pubkey converter")
ErrNilPubkeyConverter signals that the provided public key converter is nil
var ErrNilQueryService = errors.New("nil query service")
ErrNilQueryService signals that a nil query service has been provided
var ErrNilShardCoordinator = errors.New("nil shard coordinator")
ErrNilShardCoordinator signals that the provided shard coordinator is nil
var ErrNilSmartContractParser = errors.New("nil smart contract parser")
ErrNilSmartContractParser signals that the smart contract parser is nil
var ErrNilTrieStorageManager = errors.New("nil trie storage manager")
ErrNilTrieStorageManager signals that a nil trie storage manager has been provided
var ErrNilTxExecutionProcessor = errors.New("nil tx execution processor")
ErrNilTxExecutionProcessor signals that a nil tx execution processor has been provided
var ErrNodeNotStaked = errors.New("for the provided node, no one staked")
ErrNodeNotStaked signals that no one staked for the provided node
var ErrStakingValueIsNotEnough = errors.New("staking value is not enough")
ErrStakingValueIsNotEnough signals that the staking value provided is not enough for provided node(s)
var ErrSupplyMismatch = errors.New("supply value mismatch")
ErrSupplyMismatch signals that the supply value provided is not valid when summing the other fields
var ErrWhileVerifyingDelegation = errors.New("error occurred while verifying delegation SC")
ErrWhileVerifyingDelegation signals that a verification error occurred
var ErrWrongTypeAssertion = errors.New("wrong type assertion")
ErrWrongTypeAssertion signals that a wrong type assertion occurred
Functions ¶
This section is empty.
Types ¶
type AccountsParser ¶
type AccountsParser interface { InitialAccountsSplitOnAddressesShards(shardCoordinator sharding.Coordinator) (map[uint32][]InitialAccountHandler, error) InitialAccounts() []InitialAccountHandler GetTotalStakedForDelegationAddress(delegationAddress string) *big.Int GetInitialAccountsForDelegated(addressBytes []byte) []InitialAccountHandler IsInterfaceNil() bool }
AccountsParser contains the parsed genesis json file and has some functionality regarding processed data
type DelegationDataHandler ¶
type DelegationDataHandler interface { GetAddress() string AddressBytes() []byte GetValue() *big.Int IsInterfaceNil() bool }
DelegationDataHandler represents the interface that describes the data held by a delegation address
type DelegationResult ¶
DelegationResult represents the DTO that contains the delegation results metrics
type DeployProcessor ¶
type DeployProcessor interface { Deploy(sc InitialSmartContractHandler) error IsInterfaceNil() bool }
DeployProcessor is able to deploy a smart contract
type InitialAccountHandler ¶
type InitialAccountHandler interface { Clone() InitialAccountHandler GetAddress() string AddressBytes() []byte GetStakingValue() *big.Int GetBalanceValue() *big.Int GetSupply() *big.Int GetDelegationHandler() DelegationDataHandler IsInterfaceNil() bool }
InitialAccountHandler represents the interface that describes the data held by an initial account
type InitialNodesHandler ¶
type InitialNodesHandler interface { InitialNodesInfo() (map[uint32][]sharding.GenesisNodeInfoHandler, map[uint32][]sharding.GenesisNodeInfoHandler) MinNumberOfNodes() uint32 IsInterfaceNil() bool }
InitialNodesHandler contains the initial nodes setup
type InitialSmartContractHandler ¶
type InitialSmartContractHandler interface { GetOwner() string OwnerBytes() []byte GetFilename() string GetVmType() string GetInitParameters() string GetType() string VmTypeBytes() []byte SetAddressBytes(addressBytes []byte) AddressBytes() []byte SetAddress(address string) Address() string GetVersion() string IsInterfaceNil() bool }
InitialSmartContractHandler represents the interface that describes the the initial smart contract
type InitialSmartContractParser ¶
type InitialSmartContractParser interface { InitialSmartContractsSplitOnOwnersShards(shardCoordinator sharding.Coordinator) (map[uint32][]InitialSmartContractHandler, error) InitialSmartContracts() []InitialSmartContractHandler IsInterfaceNil() bool }
InitialSmartContractParser contains the parsed genesis initial smart contracts json file and has some functionality regarding processed data
type NodesListSplitter ¶
type NodesListSplitter interface { GetAllNodes() []sharding.GenesisNodeInfoHandler GetDelegatedNodes(delegationScAddress []byte) []sharding.GenesisNodeInfoHandler IsInterfaceNil() bool }
NodesListSplitter is able to split de initial nodes based on some criteria
type TxExecutionProcessor ¶
type TxExecutionProcessor interface { ExecuteTransaction(nonce uint64, sndAddr []byte, rcvAddress []byte, value *big.Int, data []byte) error AccountExists(address []byte) bool GetNonce(senderBytes []byte) (uint64, error) AddBalance(senderBytes []byte, value *big.Int) error AddNonce(senderBytes []byte, nonce uint64) error IsInterfaceNil() bool }
TxExecutionProcessor represents a transaction builder and executor containing also related helper functions