extstate

package
v0.7.4 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2025 License: GPL-3.0, LGPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

(c) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTestStateDB

func NewTestStateDB(t testing.TB) contract.StateDB

Types

type StateDB

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

func New

func New(vm VmStateDB) *StateDB

New creates a new *StateDB with the given VmStateDB, effectively wrapping it with additional functionality.

func (*StateDB) GetLogData

func (s *StateDB) GetLogData() (topics [][]common.Hash, data [][]byte)

GetLogData returns the underlying topics and data from each log included in the StateDB. Test helper function.

func (*StateDB) GetPredicateStorageSlots

func (s *StateDB) GetPredicateStorageSlots(address common.Address, index int) ([]byte, bool)

GetPredicateStorageSlots returns the storage slots associated with the address+index pair as a byte slice as well as a boolean indicating if the address+index pair exists. A list of access tuples can be included within transaction types post EIP-2930. The address is declared directly on the access tuple and the index is the i'th occurrence of an access tuple with the specified address.

Ex. AccessList[[AddrA, Predicate1], [AddrB, Predicate2], [AddrA, Predicate3]] In this case, the caller could retrieve predicates 1-3 with the following calls: GetPredicateStorageSlots(AddrA, 0) -> Predicate1 GetPredicateStorageSlots(AddrB, 0) -> Predicate2 GetPredicateStorageSlots(AddrA, 1) -> Predicate3

func (*StateDB) Prepare

func (s *StateDB) Prepare(rules params.Rules, sender, coinbase common.Address, dst *common.Address, precompiles []common.Address, list types.AccessList)

func (*StateDB) SetPredicateStorageSlots

func (s *StateDB) SetPredicateStorageSlots(address common.Address, predicates [][]byte)

SetPredicateStorageSlots sets the predicate storage slots for the given address

type VmStateDB

type VmStateDB interface {
	vm.StateDB
	Logs() []*types.Log
	GetTxHash() common.Hash
}

Jump to

Keyboard shortcuts

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