package adapt import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/trie" plugeth "github.com/openrelayxyz/plugeth-utils/core" plugeth_params "github.com/openrelayxyz/plugeth-utils/restricted/params" ) func StateAccount(a *plugeth.StateAccount) *types.StateAccount { return &types.StateAccount{ Nonce: a.Nonce, Balance: a.Balance, Root: common.Hash(a.Root), CodeHash: a.CodeHash, } } func ChainConfig(cc *plugeth_params.ChainConfig) *params.ChainConfig { return ¶ms.ChainConfig{ ChainID: cc.ChainID, HomesteadBlock: cc.HomesteadBlock, DAOForkBlock: cc.DAOForkBlock, DAOForkSupport: cc.DAOForkSupport, EIP150Block: cc.EIP150Block, EIP155Block: cc.EIP155Block, EIP158Block: cc.EIP158Block, ByzantiumBlock: cc.ByzantiumBlock, ConstantinopleBlock: cc.ConstantinopleBlock, PetersburgBlock: cc.PetersburgBlock, IstanbulBlock: cc.IstanbulBlock, MuirGlacierBlock: cc.MuirGlacierBlock, BerlinBlock: cc.BerlinBlock, LondonBlock: cc.LondonBlock, } } func NodeIterator(it plugeth.NodeIterator) trie.NodeIterator { return nodeiter{it} } type nodeiter struct { plugeth.NodeIterator } func (it nodeiter) Hash() common.Hash { return common.Hash(it.NodeIterator.Hash()) } func (it nodeiter) Parent() common.Hash { return common.Hash(it.NodeIterator.Parent()) } func (it nodeiter) AddResolver(resolver trie.NodeResolver) { r := func(owner plugeth.Hash, path []byte, hash plugeth.Hash) []byte { return resolver(common.Hash(owner), path, common.Hash(hash)) } it.NodeIterator.AddResolver(r) }