backends

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2019 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SimulatedBackend

type SimulatedBackend struct {
	// contains filtered or unexported fields
}

SimulatedBackend implements bind.ContractBackend, simulating a blockchain in the background. Its main purpose is to allow easily testing contract bindings.

func NewSimulatedBackend

func NewSimulatedBackend(alloc core.GenesisAlloc) *SimulatedBackend

NewSimulatedBackend creates a new binding backend using a simulated blockchain for testing purposes.

func (*SimulatedBackend) AdjustTime

func (b *SimulatedBackend) AdjustTime(adjustment time.Duration) error

AdjustTime adds a time shift to the simulated clock.

func (*SimulatedBackend) BalanceAt

func (b *SimulatedBackend) BalanceAt(ctx context.Context, contract common.Address, blockNumber *big.Int) (*big.Int, error)

BalanceAt returns the wei balance of a certain account in the blockchain.

func (*SimulatedBackend) CallContract

func (b *SimulatedBackend) CallContract(ctx context.Context, call ethereum.CallMsg, blockNumber *big.Int) ([]byte, error)

CallContract executes a contract call.

func (*SimulatedBackend) CodeAt

func (b *SimulatedBackend) CodeAt(ctx context.Context, contract common.Address, blockNumber *big.Int) ([]byte, error)

CodeAt returns the code associated with a certain account in the blockchain.

func (*SimulatedBackend) Commit

func (b *SimulatedBackend) Commit()

Commit imports all the pending transactions as a single block and starts a fresh new state.

func (*SimulatedBackend) EstimateGas

func (b *SimulatedBackend) EstimateGas(ctx context.Context, call ethereum.CallMsg) (uint64, error)

EstimateGas executes the requested code against the currently pending block/state and returns the used amount of gas.

func (*SimulatedBackend) FilterLogs

func (b *SimulatedBackend) FilterLogs(ctx context.Context, query ethereum.FilterQuery) ([]types.Log, error)

FilterLogs executes a log filter operation, blocking during execution and returning all the results in one batch.

TODO(karalabe): Deprecate when the subscription one can return past data too.

func (*SimulatedBackend) ForEachStorageAt

func (b *SimulatedBackend) ForEachStorageAt(ctx context.Context, contract common.Address, blockNumber *big.Int, f func(key, val common.Hash) bool) error

ForEachStorageAt returns func to read all keys, values in the storage

func (*SimulatedBackend) NonceAt

func (b *SimulatedBackend) NonceAt(ctx context.Context, contract common.Address, blockNumber *big.Int) (uint64, error)

NonceAt returns the nonce of a certain account in the blockchain.

func (*SimulatedBackend) PendingCallContract

func (b *SimulatedBackend) PendingCallContract(ctx context.Context, call ethereum.CallMsg) ([]byte, error)

PendingCallContract executes a contract call on the pending state.

func (*SimulatedBackend) PendingCodeAt

func (b *SimulatedBackend) PendingCodeAt(ctx context.Context, contract common.Address) ([]byte, error)

PendingCodeAt returns the code associated with an account in the pending state.

func (*SimulatedBackend) PendingNonceAt

func (b *SimulatedBackend) PendingNonceAt(ctx context.Context, account common.Address) (uint64, error)

PendingNonceAt implements PendingStateReader.PendingNonceAt, retrieving the nonce currently pending for the account.

func (*SimulatedBackend) Rollback

func (b *SimulatedBackend) Rollback()

Rollback aborts all pending transactions, reverting to the last committed state.

func (*SimulatedBackend) SendTransaction

func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transaction) error

SendTransaction updates the pending block to include the given transaction. It panics if the transaction is invalid.

func (*SimulatedBackend) StorageAt

func (b *SimulatedBackend) StorageAt(ctx context.Context, contract common.Address, key common.Hash, blockNumber *big.Int) ([]byte, error)

StorageAt returns the value of key in the storage of an account in the blockchain.

func (*SimulatedBackend) SubscribeFilterLogs

func (b *SimulatedBackend) SubscribeFilterLogs(ctx context.Context, query ethereum.FilterQuery, ch chan<- types.Log) (ethereum.Subscription, error)

SubscribeFilterLogs creates a background log filtering operation, returning a subscription immediately, which can be used to stream the found events.

func (*SimulatedBackend) SuggestGasPrice

func (b *SimulatedBackend) SuggestGasPrice(ctx context.Context) (*big.Int, error)

SuggestGasPrice implements ContractTransactor.SuggestGasPrice. Since the simulated chain doens't have miners, we just return a gas price of 1 for any call.

func (*SimulatedBackend) TransactionReceipt

func (b *SimulatedBackend) TransactionReceipt(ctx context.Context, txHash common.Hash) (*types.Receipt, error)

TransactionReceipt returns the receipt of a transaction.

Jump to

Keyboard shortcuts

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