fakechain

package
v0.98.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2022 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FakeChain

type FakeChain struct {
	config.ProtocolConfiguration
	*mempool.Pool

	Blockheight uint32
	PoolTxF     func(*transaction.Transaction) error

	VerifyWitnessF           func() (int64, error)
	MaxVerificationGAS       int64
	NotaryContractScriptHash util.Uint160
	NotaryDepositExpiration  uint32
	PostBlock                []func(func(*transaction.Transaction, *mempool.Pool, bool) bool, *mempool.Pool, *block.Block)
	UtilityTokenBalance      *big.Int
	// contains filtered or unexported fields
}

FakeChain implements Blockchainer interface, but does not provide real functionality.

func NewFakeChain

func NewFakeChain() *FakeChain

NewFakeChain returns new FakeChain structure.

func NewFakeChainWithCustomCfg added in v0.97.3

func NewFakeChainWithCustomCfg(protocolCfg func(c *config.ProtocolConfiguration)) *FakeChain

NewFakeChainWithCustomCfg returns new FakeChain structure with specified protocol configuration.

func (*FakeChain) AddBlock

func (chain *FakeChain) AddBlock(block *block.Block) error

AddBlock implements Blockchainer interface.

func (*FakeChain) AddHeaders

func (chain *FakeChain) AddHeaders(...*block.Header) error

AddHeaders implements Blockchainer interface.

func (*FakeChain) ApplyPolicyToTxSet

func (chain *FakeChain) ApplyPolicyToTxSet([]*transaction.Transaction) []*transaction.Transaction

ApplyPolicyToTxSet implements Blockchainer interface.

func (*FakeChain) BlockHeight

func (chain *FakeChain) BlockHeight() uint32

BlockHeight implements Feer interface.

func (*FakeChain) CalculateClaimable

func (chain *FakeChain) CalculateClaimable(util.Uint160, uint32) (*big.Int, error)

CalculateClaimable implements Blockchainer interface.

func (*FakeChain) Close

func (chain *FakeChain) Close()

Close implements Blockchainer interface.

func (*FakeChain) CurrentBlockHash

func (chain *FakeChain) CurrentBlockHash() util.Uint256

CurrentBlockHash implements Blockchainer interface.

func (*FakeChain) CurrentHeaderHash

func (chain *FakeChain) CurrentHeaderHash() util.Uint256

CurrentHeaderHash implements Blockchainer interface.

func (*FakeChain) FeePerByte

func (chain *FakeChain) FeePerByte() int64

FeePerByte implements Feer interface.

func (*FakeChain) ForEachNEP11Transfer added in v0.98.0

func (chain *FakeChain) ForEachNEP11Transfer(util.Uint160, uint64, func(*state.NEP11Transfer) (bool, error)) error

ForEachNEP17Transfer implements Blockchainer interface.

func (*FakeChain) ForEachNEP17Transfer

func (chain *FakeChain) ForEachNEP17Transfer(util.Uint160, uint64, func(*state.NEP17Transfer) (bool, error)) error

ForEachNEP17Transfer implements Blockchainer interface.

func (*FakeChain) GetAppExecResults

func (chain *FakeChain) GetAppExecResults(hash util.Uint256, trig trigger.Type) ([]state.AppExecResult, error)

GetAppExecResults implements Blockchainer interface.

func (*FakeChain) GetBaseExecFee

func (chain *FakeChain) GetBaseExecFee() int64

GetBaseExecFee implements Policer interface.

func (*FakeChain) GetBlock

func (chain *FakeChain) GetBlock(hash util.Uint256) (*block.Block, error)

GetBlock implements Blockchainer interface.

func (*FakeChain) GetCommittee

func (chain *FakeChain) GetCommittee() (keys.PublicKeys, error)

GetCommittee implements Blockchainer interface.

func (*FakeChain) GetConfig

func (chain *FakeChain) GetConfig() config.ProtocolConfiguration

GetConfig implements Blockchainer interface.

func (*FakeChain) GetContractScriptHash

func (chain *FakeChain) GetContractScriptHash(id int32) (util.Uint160, error)

GetContractScriptHash implements Blockchainer interface.

func (*FakeChain) GetContractState

func (chain *FakeChain) GetContractState(hash util.Uint160) *state.Contract

GetContractState implements Blockchainer interface.

func (*FakeChain) GetEnrollments

func (chain *FakeChain) GetEnrollments() ([]state.Validator, error)

GetEnrollments implements Blockchainer interface.

func (*FakeChain) GetGoverningTokenBalance

func (chain *FakeChain) GetGoverningTokenBalance(acc util.Uint160) (*big.Int, uint32)

GetGoverningTokenBalance implements Blockchainer interface.

func (*FakeChain) GetHeader

func (chain *FakeChain) GetHeader(hash util.Uint256) (*block.Header, error)

GetHeader implements Blockchainer interface.

func (*FakeChain) GetHeaderHash

func (chain *FakeChain) GetHeaderHash(n int) util.Uint256

GetHeaderHash implements Blockchainer interface.

func (*FakeChain) GetMaxVerificationGAS

func (chain *FakeChain) GetMaxVerificationGAS() int64

GetMaxVerificationGAS implements Policer interface.

func (*FakeChain) GetMemPool

func (chain *FakeChain) GetMemPool() *mempool.Pool

GetMemPool implements Blockchainer interface.

func (*FakeChain) GetNEP11Contracts added in v0.98.0

func (chain *FakeChain) GetNEP11Contracts() []util.Uint160

GetNEP17Contracts implements Blockchainer interface.

func (*FakeChain) GetNEP17Contracts added in v0.97.1

func (chain *FakeChain) GetNEP17Contracts() []util.Uint160

GetNEP17Contracts implements Blockchainer interface.

func (*FakeChain) GetNativeContractScriptHash

func (chain *FakeChain) GetNativeContractScriptHash(name string) (util.Uint160, error)

GetNativeContractScriptHash implements Blockchainer interface.

func (*FakeChain) GetNatives

func (*FakeChain) GetNatives() []state.NativeContract

GetNatives implements blockchainer.Blockchainer interface.

func (*FakeChain) GetNextBlockValidators

func (chain *FakeChain) GetNextBlockValidators() ([]*keys.PublicKey, error)

GetNextBlockValidators implements Blockchainer interface.

func (*FakeChain) GetNotaryBalance

func (chain *FakeChain) GetNotaryBalance(acc util.Uint160) *big.Int

GetNotaryBalance implements Blockchainer interface.

func (*FakeChain) GetNotaryContractScriptHash

func (chain *FakeChain) GetNotaryContractScriptHash() util.Uint160

GetNotaryContractScriptHash implements Blockchainer interface.

func (*FakeChain) GetNotaryDepositExpiration

func (chain *FakeChain) GetNotaryDepositExpiration(acc util.Uint160) uint32

GetNotaryDepositExpiration implements Blockchainer interface.

func (*FakeChain) GetNotaryServiceFeePerKey added in v0.98.2

func (chain *FakeChain) GetNotaryServiceFeePerKey() int64

GetNotaryServiceFeePerKey implements Blockchainer interface.

func (*FakeChain) GetStateModule added in v0.94.0

func (chain *FakeChain) GetStateModule() blockchainer.StateRoot

GetStateModule implements Blockchainer interface.

func (*FakeChain) GetStorageItem

func (chain *FakeChain) GetStorageItem(id int32, key []byte) state.StorageItem

GetStorageItem implements Blockchainer interface.

func (*FakeChain) GetStorageItems

func (chain *FakeChain) GetStorageItems(id int32) ([]state.StorageItemWithKey, error)

GetStorageItems implements Blockchainer interface.

func (*FakeChain) GetStoragePrice

func (chain *FakeChain) GetStoragePrice() int64

GetStoragePrice implements Policer interface.

func (*FakeChain) GetTestVM

func (chain *FakeChain) GetTestVM(t trigger.Type, tx *transaction.Transaction, b *block.Block) *interop.Context

GetTestVM implements Blockchainer interface.

func (*FakeChain) GetTokenLastUpdated added in v0.98.0

func (chain *FakeChain) GetTokenLastUpdated(acc util.Uint160) (map[int32]uint32, error)

GetNEP17LastUpdated implements Blockchainer interface.

func (*FakeChain) GetTransaction

func (chain *FakeChain) GetTransaction(h util.Uint256) (*transaction.Transaction, uint32, error)

GetTransaction implements Blockchainer interface.

func (*FakeChain) GetUtilityTokenBalance

func (chain *FakeChain) GetUtilityTokenBalance(uint160 util.Uint160) *big.Int

GetUtilityTokenBalance implements Feer interface.

func (*FakeChain) GetValidators

func (chain *FakeChain) GetValidators() ([]*keys.PublicKey, error)

GetValidators implements Blockchainer interface.

func (*FakeChain) HasBlock

func (chain *FakeChain) HasBlock(h util.Uint256) bool

HasBlock implements Blockchainer interface.

func (*FakeChain) HasTransaction

func (chain *FakeChain) HasTransaction(h util.Uint256) bool

HasTransaction implements Blockchainer interface.

func (*FakeChain) HeaderHeight

func (chain *FakeChain) HeaderHeight() uint32

HeaderHeight implements Blockchainer interface.

func (*FakeChain) InitVerificationContext added in v0.98.1

func (chain *FakeChain) InitVerificationContext(ic *interop.Context, hash util.Uint160, witness *transaction.Witness) error

InitVerificationContext initializes context for witness check.

func (*FakeChain) IsExtensibleAllowed

func (*FakeChain) IsExtensibleAllowed(uint160 util.Uint160) bool

IsExtensibleAllowed implements Blockchainer interface.

func (*FakeChain) IsTxStillRelevant

func (chain *FakeChain) IsTxStillRelevant(t *transaction.Transaction, txpool *mempool.Pool, isPartialTx bool) bool

IsTxStillRelevant implements Blockchainer interface.

func (FakeChain) ManagementContractHash

func (chain FakeChain) ManagementContractHash() util.Uint160

ManagementContractHash implements Blockchainer interface.

func (*FakeChain) P2PSigExtensionsEnabled

func (chain *FakeChain) P2PSigExtensionsEnabled() bool

P2PSigExtensionsEnabled implements Feer interface.

func (*FakeChain) PoolTx

func (chain *FakeChain) PoolTx(tx *transaction.Transaction, _ ...*mempool.Pool) error

PoolTx implements Blockchainer interface.

func (*FakeChain) PoolTxWithData

func (chain *FakeChain) PoolTxWithData(t *transaction.Transaction, data interface{}, mp *mempool.Pool, feer mempool.Feer, verificationFunction func(t *transaction.Transaction, data interface{}) error) error

PoolTxWithData implements Blockchainer interface.

func (*FakeChain) PutBlock

func (chain *FakeChain) PutBlock(b *block.Block)

PutBlock implements Blockchainer interface.

func (*FakeChain) PutHeader

func (chain *FakeChain) PutHeader(b *block.Block)

PutHeader implements Blockchainer interface.

func (*FakeChain) PutTx

func (chain *FakeChain) PutTx(tx *transaction.Transaction)

PutTx implements Blockchainer interface.

func (*FakeChain) RegisterPostBlock

func (chain *FakeChain) RegisterPostBlock(f func(func(*transaction.Transaction, *mempool.Pool, bool) bool, *mempool.Pool, *block.Block))

RegisterPostBlock implements Blockchainer interface.

func (*FakeChain) SetNotary

func (chain *FakeChain) SetNotary(notary services.Notary)

SetNotary implements Blockchainer interface.

func (FakeChain) SetOracle

func (chain FakeChain) SetOracle(services.Oracle)

SetOracle implements Blockchainer interface.

func (*FakeChain) SubscribeForBlocks

func (chain *FakeChain) SubscribeForBlocks(ch chan<- *block.Block)

SubscribeForBlocks implements Blockchainer interface.

func (*FakeChain) SubscribeForExecutions

func (chain *FakeChain) SubscribeForExecutions(ch chan<- *state.AppExecResult)

SubscribeForExecutions implements Blockchainer interface.

func (*FakeChain) SubscribeForNotifications

func (chain *FakeChain) SubscribeForNotifications(ch chan<- *subscriptions.NotificationEvent)

SubscribeForNotifications implements Blockchainer interface.

func (*FakeChain) SubscribeForTransactions

func (chain *FakeChain) SubscribeForTransactions(ch chan<- *transaction.Transaction)

SubscribeForTransactions implements Blockchainer interface.

func (*FakeChain) UnsubscribeFromBlocks

func (chain *FakeChain) UnsubscribeFromBlocks(ch chan<- *block.Block)

UnsubscribeFromBlocks implements Blockchainer interface.

func (*FakeChain) UnsubscribeFromExecutions

func (chain *FakeChain) UnsubscribeFromExecutions(ch chan<- *state.AppExecResult)

UnsubscribeFromExecutions implements Blockchainer interface.

func (*FakeChain) UnsubscribeFromNotifications

func (chain *FakeChain) UnsubscribeFromNotifications(ch chan<- *subscriptions.NotificationEvent)

UnsubscribeFromNotifications implements Blockchainer interface.

func (*FakeChain) UnsubscribeFromTransactions

func (chain *FakeChain) UnsubscribeFromTransactions(ch chan<- *transaction.Transaction)

UnsubscribeFromTransactions implements Blockchainer interface.

func (*FakeChain) VerifyTx

func (chain *FakeChain) VerifyTx(*transaction.Transaction) error

VerifyTx implements Blockchainer interface.

func (*FakeChain) VerifyWitness

func (chain *FakeChain) VerifyWitness(util.Uint160, hash.Hashable, *transaction.Witness, int64) (int64, error)

VerifyWitness implements Blockchainer interface.

type FakeStateSync added in v0.97.3

type FakeStateSync struct {
	IsActiveFlag      uatomic.Bool
	IsInitializedFlag uatomic.Bool
	RequestHeaders    uatomic.Bool
	InitFunc          func(h uint32) error
	TraverseFunc      func(root util.Uint256, process func(node mpt.Node, nodeBytes []byte) bool) error
	AddMPTNodesFunc   func(nodes [][]byte) error
}

FakeStateSync implements StateSync interface.

func (*FakeStateSync) AddBlock added in v0.97.3

func (s *FakeStateSync) AddBlock(block *block.Block) error

AddBlock implements StateSync interface.

func (*FakeStateSync) AddHeaders added in v0.97.3

func (s *FakeStateSync) AddHeaders(...*block.Header) error

AddHeaders implements StateSync interface.

func (*FakeStateSync) AddMPTNodes added in v0.97.3

func (s *FakeStateSync) AddMPTNodes(nodes [][]byte) error

AddMPTNodes implements StateSync interface.

func (*FakeStateSync) BlockHeight added in v0.97.3

func (s *FakeStateSync) BlockHeight() uint32

BlockHeight implements StateSync interface.

func (*FakeStateSync) GetUnknownMPTNodesBatch added in v0.97.3

func (s *FakeStateSync) GetUnknownMPTNodesBatch(limit int) []util.Uint256

GetUnknownMPTNodesBatch implements StateSync interface.

func (*FakeStateSync) Init added in v0.97.3

func (s *FakeStateSync) Init(currChainHeight uint32) error

Init implements StateSync interface.

func (*FakeStateSync) IsActive added in v0.97.3

func (s *FakeStateSync) IsActive() bool

IsActive implements StateSync interface.

func (*FakeStateSync) IsInitialized added in v0.97.3

func (s *FakeStateSync) IsInitialized() bool

IsInitialized implements StateSync interface.

func (*FakeStateSync) NeedHeaders added in v0.97.3

func (s *FakeStateSync) NeedHeaders() bool

NeedHeaders implements StateSync interface.

func (*FakeStateSync) NeedMPTNodes added in v0.97.3

func (s *FakeStateSync) NeedMPTNodes() bool

NeedMPTNodes implements StateSync interface.

func (*FakeStateSync) Traverse added in v0.97.3

func (s *FakeStateSync) Traverse(root util.Uint256, process func(node mpt.Node, nodeBytes []byte) bool) error

Traverse implements StateSync interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL