Move hexutil.Bytes to erigon-lib (#7305)

This commit is contained in:
Andrew Ashikhmin 2023-04-13 13:19:02 +02:00 committed by GitHub
parent a41ad2d94b
commit 02f6cac7b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 320 additions and 427 deletions

View File

@ -5,6 +5,8 @@ import (
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/cmd/devnet/devnetutils"
"github.com/ledgerwatch/erigon/cmd/devnet/models"
"github.com/ledgerwatch/erigon/cmd/devnet/requests"
@ -153,7 +155,7 @@ func callContractTx() (*libcommon.Hash, error) {
}
expectedLog := devnetutils.BuildLog(*eventHash, blockNum, address,
devnetutils.GenerateTopic(models.SolContractMethodSignature), hexutil.Bytes{}, hexutil.Uint(1),
devnetutils.GenerateTopic(models.SolContractMethodSignature), hexutility.Bytes{}, hexutil.Uint(1),
block.Result.Hash, hexutil.Uint(0), false)
if err = requests.GetAndCompareLogs(models.ReqId, 0, 20, expectedLog); err != nil {

View File

@ -10,6 +10,8 @@ import (
"strings"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/cmd/devnet/models"
"github.com/ledgerwatch/erigon/cmd/rpctest/rpctest"
"github.com/ledgerwatch/erigon/common/hexutil"
@ -116,7 +118,7 @@ func HashSlicesAreEqual(s1, s2 []libcommon.Hash) bool {
return true
}
func BuildLog(hash libcommon.Hash, blockNum string, address libcommon.Address, topics []libcommon.Hash, data hexutil.Bytes, txIndex hexutil.Uint, blockHash libcommon.Hash, index hexutil.Uint, removed bool) rpctest.Log {
func BuildLog(hash libcommon.Hash, blockNum string, address libcommon.Address, topics []libcommon.Hash, data hexutility.Bytes, txIndex hexutil.Uint, blockHash libcommon.Hash, index hexutil.Uint, removed bool) rpctest.Log {
return rpctest.Log{
Address: address,
Topics: topics,

View File

@ -28,18 +28,19 @@ import (
"path/filepath"
"github.com/holiman/uint256"
"github.com/ledgerwatch/log/v3"
"github.com/urfave/cli/v2"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/kvcfg"
"github.com/ledgerwatch/erigon-lib/kv/memdb"
"github.com/ledgerwatch/log/v3"
"github.com/urfave/cli/v2"
"github.com/ledgerwatch/erigon/cmd/rpcdaemon/commands"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/consensus/ethash"
"github.com/ledgerwatch/erigon/core"
@ -525,7 +526,7 @@ func saveFile(baseDir, filename string, data interface{}) error {
// dispatchOutput writes the output data to either stderr or stdout, or to the specified
// files
func dispatchOutput(ctx *cli.Context, baseDir string, result *core.EphemeralExecResult, alloc Alloc, body hexutil.Bytes) error {
func dispatchOutput(ctx *cli.Context, baseDir string, result *core.EphemeralExecResult, alloc Alloc, body hexutility.Bytes) error {
stdOutObject := make(map[string]interface{})
stdErrObject := make(map[string]interface{})
dispatch := func(baseDir, fName, name string, obj interface{}) error {

View File

@ -4,15 +4,15 @@ import (
"context"
"fmt"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
// DBAPI the interface for the db_ RPC commands (deprecated)
type DBAPI interface {
GetString(_ context.Context, _ string, _ string) (string, error)
PutString(_ context.Context, _ string, _ string, _ string) (bool, error)
GetHex(_ context.Context, _ string, _ string) (hexutil.Bytes, error)
PutHex(_ context.Context, _ string, _ string, _ hexutil.Bytes) (bool, error)
GetHex(_ context.Context, _ string, _ string) (hexutility.Bytes, error)
PutHex(_ context.Context, _ string, _ string, _ hexutility.Bytes) (bool, error)
}
// DBAPIImpl data structure to store things needed for db_ commands
@ -41,12 +41,12 @@ func (api *DBAPIImpl) PutString(_ context.Context, _ string, _ string, _ string)
// GetHex implements db_getHex. Returns binary data from the local database.
// Deprecated: This function will be removed in the future.
func (api *DBAPIImpl) GetHex(_ context.Context, _ string, _ string) (hexutil.Bytes, error) {
return hexutil.Bytes(""), fmt.Errorf(NotAvailableDeprecated, "db_getHex")
func (api *DBAPIImpl) GetHex(_ context.Context, _ string, _ string) (hexutility.Bytes, error) {
return hexutility.Bytes(""), fmt.Errorf(NotAvailableDeprecated, "db_getHex")
}
// PutHex implements db_putHex. Stores binary data in the local database.
// Deprecated: This function will be removed in the future.
func (api *DBAPIImpl) PutHex(_ context.Context, _ string, _ string, _ hexutil.Bytes) (bool, error) {
func (api *DBAPIImpl) PutHex(_ context.Context, _ string, _ string, _ hexutility.Bytes) (bool, error) {
return false, fmt.Errorf(NotAvailableDeprecated, "db_putHex")
}

View File

@ -6,6 +6,7 @@ import (
jsoniter "github.com/json-iterator/go"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/order"
"github.com/ledgerwatch/erigon-lib/kv/rawdbv3"
@ -27,7 +28,7 @@ const AccountRangeMaxResults = 256
// PrivateDebugAPI Exposed RPC endpoints for debugging use
type PrivateDebugAPI interface {
StorageRangeAt(ctx context.Context, blockHash common.Hash, txIndex uint64, contractAddress common.Address, keyStart hexutil.Bytes, maxResult int) (StorageRangeResult, error)
StorageRangeAt(ctx context.Context, blockHash common.Hash, txIndex uint64, contractAddress common.Address, keyStart hexutility.Bytes, maxResult int) (StorageRangeResult, error)
TraceTransaction(ctx context.Context, hash common.Hash, config *tracers.TraceConfig, stream *jsoniter.Stream) error
TraceBlockByHash(ctx context.Context, hash common.Hash, config *tracers.TraceConfig, stream *jsoniter.Stream) error
TraceBlockByNumber(ctx context.Context, number rpc.BlockNumber, config *tracers.TraceConfig, stream *jsoniter.Stream) error
@ -55,7 +56,7 @@ func NewPrivateDebugAPI(base *BaseAPI, db kv.RoDB, gascap uint64) *PrivateDebugA
}
// storageRangeAt implements debug_storageRangeAt. Returns information about a range of storage locations (if any) for the given address.
func (api *PrivateDebugAPIImpl) StorageRangeAt(ctx context.Context, blockHash common.Hash, txIndex uint64, contractAddress common.Address, keyStart hexutil.Bytes, maxResult int) (StorageRangeResult, error) {
func (api *PrivateDebugAPIImpl) StorageRangeAt(ctx context.Context, blockHash common.Hash, txIndex uint64, contractAddress common.Address, keyStart hexutility.Bytes, maxResult int) (StorageRangeResult, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return StorageRangeResult{}, err
@ -355,8 +356,8 @@ func (api *PrivateDebugAPIImpl) AccountAt(ctx context.Context, blockHash common.
}
type AccountResult struct {
Balance hexutil.Big `json:"balance"`
Nonce hexutil.Uint64 `json:"nonce"`
Code hexutil.Bytes `json:"code"`
CodeHash common.Hash `json:"codeHash"`
Balance hexutil.Big `json:"balance"`
Nonce hexutil.Uint64 `json:"nonce"`
Code hexutility.Bytes `json:"code"`
CodeHash common.Hash `json:"codeHash"`
}

View File

@ -10,6 +10,7 @@ import (
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/gointerfaces"
"github.com/ledgerwatch/erigon-lib/gointerfaces/remote"
types2 "github.com/ledgerwatch/erigon-lib/gointerfaces/types"
@ -29,16 +30,16 @@ type ExecutionPayload struct {
FeeRecipient common.Address `json:"feeRecipient" gencodec:"required"`
StateRoot common.Hash `json:"stateRoot" gencodec:"required"`
ReceiptsRoot common.Hash `json:"receiptsRoot" gencodec:"required"`
LogsBloom hexutil.Bytes `json:"logsBloom" gencodec:"required"`
LogsBloom hexutility.Bytes `json:"logsBloom" gencodec:"required"`
PrevRandao common.Hash `json:"prevRandao" gencodec:"required"`
BlockNumber hexutil.Uint64 `json:"blockNumber" gencodec:"required"`
GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"`
ExtraData hexutil.Bytes `json:"extraData" gencodec:"required"`
ExtraData hexutility.Bytes `json:"extraData" gencodec:"required"`
BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"`
BlockHash common.Hash `json:"blockHash" gencodec:"required"`
Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
Transactions []hexutility.Bytes `json:"transactions" gencodec:"required"`
Withdrawals []*types.Withdrawal `json:"withdrawals"`
ExcessDataGas *hexutil.Big `json:"excessDataGas"`
}
@ -72,7 +73,7 @@ type TransitionConfiguration struct {
}
type ExecutionPayloadBodyV1 struct {
Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"`
Transactions []hexutility.Bytes `json:"transactions" gencodec:"required"`
Withdrawals []*types.Withdrawal `json:"withdrawals" gencodec:"required"`
}
@ -82,8 +83,8 @@ type EngineAPI interface {
NewPayloadV2(context.Context, *ExecutionPayload) (map[string]interface{}, error)
ForkchoiceUpdatedV1(ctx context.Context, forkChoiceState *ForkChoiceState, payloadAttributes *PayloadAttributes) (map[string]interface{}, error)
ForkchoiceUpdatedV2(ctx context.Context, forkChoiceState *ForkChoiceState, payloadAttributes *PayloadAttributes) (map[string]interface{}, error)
GetPayloadV1(ctx context.Context, payloadID hexutil.Bytes) (*ExecutionPayload, error)
GetPayloadV2(ctx context.Context, payloadID hexutil.Bytes) (*GetPayloadV2Response, error)
GetPayloadV1(ctx context.Context, payloadID hexutility.Bytes) (*ExecutionPayload, error)
GetPayloadV2(ctx context.Context, payloadID hexutility.Bytes) (*GetPayloadV2Response, error)
ExchangeTransitionConfigurationV1(ctx context.Context, transitionConfiguration *TransitionConfiguration) (*TransitionConfiguration, error)
GetPayloadBodiesByHashV1(ctx context.Context, hashes []common.Hash) ([]*ExecutionPayloadBodyV1, error)
GetPayloadBodiesByRangeV1(ctx context.Context, start, count hexutil.Uint64) ([]*ExecutionPayloadBodyV1, error)
@ -140,7 +141,7 @@ func addPayloadId(json map[string]interface{}, payloadId uint64) {
if payloadId != 0 {
encodedPayloadId := make([]byte, 8)
binary.BigEndian.PutUint64(encodedPayloadId, payloadId)
json["payloadId"] = hexutil.Bytes(encodedPayloadId)
json["payloadId"] = hexutility.Bytes(encodedPayloadId)
}
}
@ -242,7 +243,7 @@ func (e *EngineImpl) newPayload(version uint32, ctx context.Context, payload *Ex
return nil, fmt.Errorf("invalid request")
}
// Convert slice of hexutil.Bytes to a slice of slice of bytes
// Convert slice of hexutility.Bytes to a slice of slice of bytes
transactions := make([][]byte, len(payload.Transactions))
for i, transaction := range payload.Transactions {
transactions[i] = transaction
@ -292,8 +293,8 @@ func convertPayloadFromRpc(payload *types2.ExecutionPayload) *ExecutionPayload {
var bloom types.Bloom = gointerfaces.ConvertH2048ToBloom(payload.LogsBloom)
baseFee := gointerfaces.ConvertH256ToUint256Int(payload.BaseFeePerGas).ToBig()
// Convert slice of hexutil.Bytes to a slice of slice of bytes
transactions := make([]hexutil.Bytes, len(payload.Transactions))
// Convert slice of hexutility.Bytes to a slice of slice of bytes
transactions := make([]hexutility.Bytes, len(payload.Transactions))
for i, transaction := range payload.Transactions {
transactions[i] = transaction
}
@ -324,7 +325,7 @@ func convertPayloadFromRpc(payload *types2.ExecutionPayload) *ExecutionPayload {
return res
}
func (e *EngineImpl) GetPayloadV1(ctx context.Context, payloadID hexutil.Bytes) (*ExecutionPayload, error) {
func (e *EngineImpl) GetPayloadV1(ctx context.Context, payloadID hexutility.Bytes) (*ExecutionPayload, error) {
if e.internalCL {
log.Error("EXTERNAL CONSENSUS LAYER IS NOT ENABLED, PLEASE RESTART WITH FLAG --externalcl")
return nil, fmt.Errorf("engine api should not be used, restart with --externalcl")
@ -341,7 +342,7 @@ func (e *EngineImpl) GetPayloadV1(ctx context.Context, payloadID hexutil.Bytes)
return convertPayloadFromRpc(response.ExecutionPayload), nil
}
func (e *EngineImpl) GetPayloadV2(ctx context.Context, payloadID hexutil.Bytes) (*GetPayloadV2Response, error) {
func (e *EngineImpl) GetPayloadV2(ctx context.Context, payloadID hexutility.Bytes) (*GetPayloadV2Response, error) {
if e.internalCL {
log.Error("EXTERNAL CONSENSUS LAYER IS NOT ENABLED, PLEASE RESTART WITH FLAG --externalcl")
return nil, fmt.Errorf("engine api should not be used, restart with --externalcl")
@ -482,7 +483,7 @@ func convertExecutionPayloadV1(response *remote.EngineGetPayloadBodiesV1Response
result[idx] = nil
} else {
pl := &ExecutionPayloadBodyV1{
Transactions: make([]hexutil.Bytes, len(body.Transactions)),
Transactions: make([]hexutility.Bytes, len(body.Transactions)),
Withdrawals: privateapi.ConvertWithdrawalsFromRpc(body.Withdrawals),
}
for i := range body.Transactions {

View File

@ -75,7 +75,7 @@ func (api *APIImpl) GetTransactionCount(ctx context.Context, address libcommon.A
}
// GetCode implements eth_getCode. Returns the byte code at a given address (if it's a smart contract).
func (api *APIImpl) GetCode(ctx context.Context, address libcommon.Address, blockNrOrHash rpc.BlockNumberOrHash) (hexutil.Bytes, error) {
func (api *APIImpl) GetCode(ctx context.Context, address libcommon.Address, blockNrOrHash rpc.BlockNumberOrHash) (hexutility.Bytes, error) {
tx, err1 := api.db.BeginRo(ctx)
if err1 != nil {
return nil, fmt.Errorf("getCode cannot open tx: %w", err1)
@ -92,11 +92,11 @@ func (api *APIImpl) GetCode(ctx context.Context, address libcommon.Address, bloc
acc, err := reader.ReadAccountData(address)
if acc == nil || err != nil {
return hexutil.Bytes(""), nil
return hexutility.Bytes(""), nil
}
res, _ := reader.ReadAccountCode(address, acc.Incarnation, acc.CodeHash)
if res == nil {
return hexutil.Bytes(""), nil
return hexutility.Bytes(""), nil
}
return res, nil
}

View File

@ -11,10 +11,12 @@ import (
lru "github.com/hashicorp/golang-lru/v2"
"github.com/holiman/uint256"
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon-lib/chain"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/datadir"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/gointerfaces/txpool"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/kvcache"
@ -35,7 +37,6 @@ import (
ethapi2 "github.com/ledgerwatch/erigon/turbo/adapter/ethapi"
"github.com/ledgerwatch/erigon/turbo/rpchelper"
"github.com/ledgerwatch/erigon/turbo/services"
"github.com/ledgerwatch/log/v3"
)
// EthAPI is a collection of functions that are exposed in the
@ -50,9 +51,9 @@ type EthAPI interface {
GetTransactionByHash(ctx context.Context, hash common.Hash) (*RPCTransaction, error)
GetTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, txIndex hexutil.Uint64) (*RPCTransaction, error)
GetTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, txIndex hexutil.Uint) (*RPCTransaction, error)
GetRawTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) (hexutil.Bytes, error)
GetRawTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) (hexutil.Bytes, error)
GetRawTransactionByHash(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)
GetRawTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) (hexutility.Bytes, error)
GetRawTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) (hexutility.Bytes, error)
GetRawTransactionByHash(ctx context.Context, hash common.Hash) (hexutility.Bytes, error)
// Receipt related (see ./eth_receipts.go)
GetTransactionReceipt(ctx context.Context, hash common.Hash) (map[string]interface{}, error)
@ -78,7 +79,7 @@ type EthAPI interface {
GetBalance(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (*hexutil.Big, error)
GetTransactionCount(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (*hexutil.Uint64, error)
GetStorageAt(ctx context.Context, address common.Address, index string, blockNrOrHash rpc.BlockNumberOrHash) (string, error)
GetCode(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (hexutil.Bytes, error)
GetCode(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (hexutility.Bytes, error)
// System related (see ./eth_system.go)
BlockNumber(ctx context.Context) (hexutil.Uint64, error)
@ -88,11 +89,11 @@ type EthAPI interface {
GasPrice(_ context.Context) (*hexutil.Big, error)
// Sending related (see ./eth_call.go)
Call(ctx context.Context, args ethapi2.CallArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *ethapi2.StateOverrides) (hexutil.Bytes, error)
Call(ctx context.Context, args ethapi2.CallArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *ethapi2.StateOverrides) (hexutility.Bytes, error)
EstimateGas(ctx context.Context, argsOrNil *ethapi2.CallArgs, blockNrOrHash *rpc.BlockNumberOrHash) (hexutil.Uint64, error)
SendRawTransaction(ctx context.Context, encodedTx hexutil.Bytes) (common.Hash, error)
SendRawTransaction(ctx context.Context, encodedTx hexutility.Bytes) (common.Hash, error)
SendTransaction(_ context.Context, txObject interface{}) (common.Hash, error)
Sign(ctx context.Context, _ common.Address, _ hexutil.Bytes) (hexutil.Bytes, error)
Sign(ctx context.Context, _ common.Address, _ hexutility.Bytes) (hexutility.Bytes, error)
SignTransaction(_ context.Context, txObject interface{}) (common.Hash, error)
GetProof(ctx context.Context, address common.Address, storageKeys []common.Hash, blockNr rpc.BlockNumberOrHash) (*accounts.AccProofResult, error)
CreateAccessList(ctx context.Context, args ethapi2.CallArgs, blockNrOrHash *rpc.BlockNumberOrHash, optimizeGas *bool) (*accessListResult, error)
@ -350,7 +351,7 @@ type RPCTransaction struct {
Tip *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"`
FeeCap *hexutil.Big `json:"maxFeePerGas,omitempty"`
Hash common.Hash `json:"hash"`
Input hexutil.Bytes `json:"input"`
Input hexutility.Bytes `json:"input"`
Nonce hexutil.Uint64 `json:"nonce"`
To *common.Address `json:"to"`
TransactionIndex *hexutil.Uint64 `json:"transactionIndex"`
@ -375,7 +376,7 @@ func newRPCTransaction(tx types.Transaction, blockHash common.Hash, blockNumber
Type: hexutil.Uint64(tx.Type()),
Gas: hexutil.Uint64(tx.GetGas()),
Hash: tx.Hash(),
Input: hexutil.Bytes(tx.GetData()),
Input: hexutility.Bytes(tx.GetData()),
Nonce: hexutil.Uint64(tx.GetNonce()),
To: tx.GetTo(),
Value: (*hexutil.Big)(tx.GetValue().ToBig()),
@ -437,7 +438,7 @@ func newRPCBorTransaction(opaqueTx types.Transaction, txHash common.Hash, blockH
GasPrice: (*hexutil.Big)(tx.GasPrice.ToBig()),
Gas: hexutil.Uint64(tx.GetGas()),
Hash: txHash,
Input: hexutil.Bytes(tx.GetData()),
Input: hexutility.Bytes(tx.GetData()),
Nonce: hexutil.Uint64(tx.GetNonce()),
From: common.Address{},
To: tx.GetTo(),
@ -465,7 +466,7 @@ func newRPCPendingTransaction(tx types.Transaction, current *types.Header, confi
}
// newRPCRawTransactionFromBlockIndex returns the bytes of a transaction given a block and a transaction index.
func newRPCRawTransactionFromBlockIndex(b *types.Block, index uint64) (hexutil.Bytes, error) {
func newRPCRawTransactionFromBlockIndex(b *types.Block, index uint64) (hexutility.Bytes, error) {
txs := b.Transactions()
if index >= uint64(len(txs)) {
return nil, nil

View File

@ -7,14 +7,16 @@ import (
"math/big"
"github.com/holiman/uint256"
"github.com/ledgerwatch/log/v3"
"google.golang.org/grpc"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/gointerfaces"
txpool_proto "github.com/ledgerwatch/erigon-lib/gointerfaces/txpool"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/memdb"
types2 "github.com/ledgerwatch/erigon-lib/types"
"github.com/ledgerwatch/log/v3"
"google.golang.org/grpc"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core"
@ -36,7 +38,7 @@ import (
var latestNumOrHash = rpc.BlockNumberOrHashWithNumber(rpc.LatestBlockNumber)
// Call implements eth_call. Executes a new message call immediately without creating a transaction on the block chain.
func (api *APIImpl) Call(ctx context.Context, args ethapi2.CallArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *ethapi2.StateOverrides) (hexutil.Bytes, error) {
func (api *APIImpl) Call(ctx context.Context, args ethapi2.CallArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *ethapi2.StateOverrides) (hexutility.Bytes, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return nil, err

View File

@ -9,7 +9,9 @@ import (
"testing"
"github.com/ledgerwatch/erigon-lib/common/datadir"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv/kvcache"
"github.com/ledgerwatch/erigon/accounts/abi/bind"
"github.com/ledgerwatch/erigon/accounts/abi/bind/backends"
"github.com/ledgerwatch/erigon/cmd/rpcdaemon/commands/contracts"
@ -56,11 +58,11 @@ func TestCallMany(t *testing.T) {
)
hexBytes, _ := hex.DecodeString(addr2BalanceCheck)
balanceCallAddr2 := hexutil.Bytes(hexBytes)
balanceCallAddr2 := hexutility.Bytes(hexBytes)
hexBytes, _ = hex.DecodeString(addr1BalanceCheck)
balanceCallAddr1 := hexutil.Bytes(hexBytes)
balanceCallAddr1 := hexutility.Bytes(hexBytes)
hexBytes, _ = hex.DecodeString(transferAddr2)
transferCallData := hexutil.Bytes(hexBytes)
transferCallData := hexutility.Bytes(hexBytes)
//submit 3 Transactions and commit the results
transactOpts, _ := bind.NewKeyedTransactorWithChainID(key, chainID)

View File

@ -7,18 +7,13 @@ import (
"testing"
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon/turbo/trie"
"github.com/ledgerwatch/erigon/rlp"
"github.com/ledgerwatch/erigon/rpc/rpccfg"
"github.com/ledgerwatch/erigon/turbo/adapter/ethapi"
"github.com/holiman/uint256"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon-lib/gointerfaces/txpool"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/kvcache"
@ -33,10 +28,14 @@ import (
"github.com/ledgerwatch/erigon/core/types/accounts"
"github.com/ledgerwatch/erigon/crypto"
"github.com/ledgerwatch/erigon/params"
"github.com/ledgerwatch/erigon/rlp"
"github.com/ledgerwatch/erigon/rpc"
"github.com/ledgerwatch/erigon/rpc/rpccfg"
"github.com/ledgerwatch/erigon/turbo/adapter/ethapi"
"github.com/ledgerwatch/erigon/turbo/rpchelper"
"github.com/ledgerwatch/erigon/turbo/snapshotsync"
"github.com/ledgerwatch/erigon/turbo/stages"
"github.com/ledgerwatch/erigon/turbo/trie"
)
func TestEstimateGas(t *testing.T) {
@ -91,7 +90,7 @@ func TestEthCallToPrunedBlock(t *testing.T) {
api := NewEthAPI(NewBaseApi(nil, stateCache, br, agg, false, rpccfg.DefaultEvmCallTimeout, m.Engine, m.Dirs), m.DB, nil, nil, nil, 5000000, 100_000)
callData := hexutil.MustDecode("0x2e64cec1")
callDataBytes := hexutil.Bytes(callData)
callDataBytes := hexutility.Bytes(callData)
if _, err := api.Call(context.Background(), ethapi.CallArgs{
From: &bankAddress,
@ -184,7 +183,7 @@ func decodeNode(t *testing.T, encoded []byte) any {
}
// proofMap creates a map from hash to proof node
func proofMap(t *testing.T, proof []hexutil.Bytes) (map[libcommon.Hash]any, map[libcommon.Hash][]byte) {
func proofMap(t *testing.T, proof []hexutility.Bytes) (map[libcommon.Hash]any, map[libcommon.Hash][]byte) {
res := map[libcommon.Hash]any{}
raw := map[libcommon.Hash][]byte{}
for _, proofB := range proof {

View File

@ -5,8 +5,7 @@ import (
"fmt"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
// Accounts implements eth_accounts. Returns a list of addresses owned by the client.
@ -17,8 +16,8 @@ func (api *APIImpl) Accounts(ctx context.Context) ([]common.Address, error) {
// Sign implements eth_sign. Calculates an Ethereum specific signature with: sign(keccak256('\\x19Ethereum Signed Message:\\n' + len(message) + message))).
// Deprecated: This function will be removed in the future.
func (api *APIImpl) Sign(ctx context.Context, _ common.Address, _ hexutil.Bytes) (hexutil.Bytes, error) {
return hexutil.Bytes(""), fmt.Errorf(NotAvailableDeprecated, "eth_sign")
func (api *APIImpl) Sign(ctx context.Context, _ common.Address, _ hexutility.Bytes) (hexutility.Bytes, error) {
return hexutility.Bytes(""), fmt.Errorf(NotAvailableDeprecated, "eth_sign")
}
// SignTransaction deprecated

View File

@ -6,6 +6,7 @@ import (
"math/big"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/gointerfaces"
"github.com/ledgerwatch/erigon-lib/gointerfaces/txpool"
"github.com/ledgerwatch/erigon-lib/gointerfaces/types"
@ -117,7 +118,7 @@ func (api *APIImpl) GetTransactionByHash(ctx context.Context, txnHash common.Has
}
// GetRawTransactionByHash returns the bytes of the transaction for the given hash.
func (api *APIImpl) GetRawTransactionByHash(ctx context.Context, hash common.Hash) (hexutil.Bytes, error) {
func (api *APIImpl) GetRawTransactionByHash(ctx context.Context, hash common.Hash) (hexutility.Bytes, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return nil, err
@ -204,7 +205,7 @@ func (api *APIImpl) GetTransactionByBlockHashAndIndex(ctx context.Context, block
}
// GetRawTransactionByBlockHashAndIndex returns the bytes of the transaction for the given block hash and index.
func (api *APIImpl) GetRawTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) (hexutil.Bytes, error) {
func (api *APIImpl) GetRawTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) (hexutility.Bytes, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return nil, err
@ -268,7 +269,7 @@ func (api *APIImpl) GetTransactionByBlockNumberAndIndex(ctx context.Context, blo
}
// GetRawTransactionByBlockNumberAndIndex returns the bytes of the transaction for the given block number and index.
func (api *APIImpl) GetRawTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) (hexutil.Bytes, error) {
func (api *APIImpl) GetRawTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) (hexutility.Bytes, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return nil, err

View File

@ -8,14 +8,16 @@ import (
"sync"
"github.com/holiman/uint256"
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon-lib/chain"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/iter"
"github.com/ledgerwatch/erigon-lib/kv/order"
"github.com/ledgerwatch/erigon-lib/kv/rawdbv3"
"github.com/ledgerwatch/erigon/core/state/temporal"
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/consensus/ethash"
@ -49,7 +51,7 @@ type OtterscanAPI interface {
GetBlockTransactions(ctx context.Context, number rpc.BlockNumber, pageNumber uint8, pageSize uint8) (map[string]interface{}, error)
HasCode(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (bool, error)
TraceTransaction(ctx context.Context, hash common.Hash) ([]*TraceEntry, error)
GetTransactionError(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)
GetTransactionError(ctx context.Context, hash common.Hash) (hexutility.Bytes, error)
GetTransactionBySenderAndNonce(ctx context.Context, addr common.Address, nonce uint64) (*common.Hash, error)
GetContractCreator(ctx context.Context, addr common.Address) (*ContractCreatorData, error)
}

View File

@ -5,7 +5,9 @@ import (
"math/big"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/vm"
@ -27,12 +29,12 @@ func (api *OtterscanAPIImpl) TraceTransaction(ctx context.Context, hash common.H
}
type TraceEntry struct {
Type string `json:"type"`
Depth int `json:"depth"`
From common.Address `json:"from"`
To common.Address `json:"to"`
Value *hexutil.Big `json:"value"`
Input hexutil.Bytes `json:"input"`
Type string `json:"type"`
Depth int `json:"depth"`
From common.Address `json:"from"`
To common.Address `json:"to"`
Value *hexutil.Big `json:"value"`
Input hexutility.Bytes `json:"input"`
}
type TransactionTracer struct {

View File

@ -4,11 +4,10 @@ import (
"context"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
func (api *OtterscanAPIImpl) GetTransactionError(ctx context.Context, hash common.Hash) (hexutil.Bytes, error) {
func (api *OtterscanAPIImpl) GetTransactionError(ctx context.Context, hash common.Hash) (hexutility.Bytes, error) {
tx, err := api.db.BeginRo(ctx)
if err != nil {
return nil, err

View File

@ -6,10 +6,10 @@ import (
"fmt"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/state"
"github.com/ledgerwatch/erigon/rpc"
)
@ -20,7 +20,7 @@ var ErrWrongTag = fmt.Errorf("listStorageKeys wrong block tag or number: must be
// ParityAPI the interface for the parity_ RPC commands
type ParityAPI interface {
ListStorageKeys(ctx context.Context, account libcommon.Address, quantity int, offset *hexutil.Bytes, blockNumber rpc.BlockNumberOrHash) ([]hexutil.Bytes, error)
ListStorageKeys(ctx context.Context, account libcommon.Address, quantity int, offset *hexutility.Bytes, blockNumber rpc.BlockNumberOrHash) ([]hexutility.Bytes, error)
}
// ParityAPIImpl data structure to store things needed for parity_ commands
@ -36,7 +36,7 @@ func NewParityAPIImpl(db kv.RoDB) *ParityAPIImpl {
}
// ListStorageKeys implements parity_listStorageKeys. Returns all storage keys of the given address
func (api *ParityAPIImpl) ListStorageKeys(ctx context.Context, account libcommon.Address, quantity int, offset *hexutil.Bytes, blockNumberOrTag rpc.BlockNumberOrHash) ([]hexutil.Bytes, error) {
func (api *ParityAPIImpl) ListStorageKeys(ctx context.Context, account libcommon.Address, quantity int, offset *hexutility.Bytes, blockNumberOrTag rpc.BlockNumberOrHash) ([]hexutility.Bytes, error) {
if err := api.checkBlockNumber(blockNumberOrTag); err != nil {
return nil, err
}
@ -62,7 +62,7 @@ func (api *ParityAPIImpl) ListStorageKeys(ctx context.Context, account libcommon
return nil, err
}
defer c.Close()
keys := make([]hexutil.Bytes, 0)
keys := make([]hexutility.Bytes, 0)
var v []byte
var seekVal []byte
if offset != nil {

View File

@ -5,12 +5,13 @@ import (
"fmt"
"testing"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/stretchr/testify/assert"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/cmd/rpcdaemon/rpcdaemontest"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/rpc"
)
@ -51,7 +52,7 @@ func TestParityAPIImpl_ListStorageKeys_WithOffset_ExistingPrefix(t *testing.T) {
}
addr := libcommon.HexToAddress("0x920fd5070602feaea2e251e9e7238b6c376bcae5")
offset := common.Hex2Bytes("29")
b := hexutil.Bytes(offset)
b := hexutility.Bytes(offset)
result, err := api.ListStorageKeys(context.Background(), addr, 5, &b, latestBlock)
if err != nil {
t.Errorf("calling ListStorageKeys: %v", err)
@ -72,7 +73,7 @@ func TestParityAPIImpl_ListStorageKeys_WithOffset_NonExistingPrefix(t *testing.T
}
addr := libcommon.HexToAddress("0x920fd5070602feaea2e251e9e7238b6c376bcae5")
offset := common.Hex2Bytes("30")
b := hexutil.Bytes(offset)
b := hexutility.Bytes(offset)
result, err := api.ListStorageKeys(context.Background(), addr, 2, &b, latestBlock)
if err != nil {
t.Errorf("calling ListStorageKeys: %v", err)
@ -89,7 +90,7 @@ func TestParityAPIImpl_ListStorageKeys_WithOffset_EmptyResponse(t *testing.T) {
api := NewParityAPIImpl(m.DB)
addr := libcommon.HexToAddress("0x920fd5070602feaea2e251e9e7238b6c376bcae5")
offset := common.Hex2Bytes("ff")
b := hexutil.Bytes(offset)
b := hexutility.Bytes(offset)
result, err := api.ListStorageKeys(context.Background(), addr, 2, &b, latestBlock)
if err != nil {
t.Errorf("calling ListStorageKeys: %v", err)

View File

@ -8,10 +8,10 @@ import (
"math/big"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
txPoolProto "github.com/ledgerwatch/erigon-lib/gointerfaces/txpool"
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/rawdb"
"github.com/ledgerwatch/erigon/core/types"
"github.com/ledgerwatch/erigon/crypto"
@ -21,7 +21,7 @@ import (
)
// SendRawTransaction implements eth_sendRawTransaction. Creates new message call transaction or a contract creation for previously-signed transactions.
func (api *APIImpl) SendRawTransaction(ctx context.Context, encodedTx hexutil.Bytes) (common.Hash, error) {
func (api *APIImpl) SendRawTransaction(ctx context.Context, encodedTx hexutility.Bytes) (common.Hash, error) {
txn, err := types.DecodeTransaction(rlp.NewStream(bytes.NewReader(encodedTx), uint64(len(encodedTx))))
if err != nil {
return common.Hash{}, err

View File

@ -9,10 +9,12 @@ import (
"strings"
"github.com/holiman/uint256"
"github.com/ledgerwatch/log/v3"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv"
types2 "github.com/ledgerwatch/erigon-lib/types"
"github.com/ledgerwatch/log/v3"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
@ -51,7 +53,7 @@ type TraceCallParam struct {
MaxPriorityFeePerGas *hexutil.Big `json:"maxPriorityFeePerGas"`
MaxFeePerGas *hexutil.Big `json:"maxFeePerGas"`
Value *hexutil.Big `json:"value"`
Data hexutil.Bytes `json:"data"`
Data hexutility.Bytes `json:"data"`
AccessList *types2.AccessList `json:"accessList"`
txHash *libcommon.Hash
traceTypes []string
@ -59,7 +61,7 @@ type TraceCallParam struct {
// TraceCallResult is the response to `trace_call` method
type TraceCallResult struct {
Output hexutil.Bytes `json:"output"`
Output hexutility.Bytes `json:"output"`
StateDiff map[libcommon.Address]*StateDiffAccount `json:"stateDiff"`
Trace []*ParityTrace `json:"trace"`
VmTrace *VmTrace `json:"vmTrace"`
@ -80,8 +82,8 @@ type StateDiffBalance struct {
}
type StateDiffCode struct {
From hexutil.Bytes `json:"from"`
To hexutil.Bytes `json:"to"`
From hexutility.Bytes `json:"from"`
To hexutility.Bytes `json:"to"`
}
type StateDiffNonce struct {
@ -96,8 +98,8 @@ type StateDiffStorage struct {
// VmTrace is the part of `trace_call` response that is under "vmTrace" tag
type VmTrace struct {
Code hexutil.Bytes `json:"code"`
Ops []*VmTraceOp `json:"ops"`
Code hexutility.Bytes `json:"code"`
Ops []*VmTraceOp `json:"ops"`
}
// VmTraceOp is one element of the vmTrace ops trace
@ -659,7 +661,7 @@ func (sd *StateDiff) CompareStates(initialIbs, ibs *state.IntraBlockState) {
accountDiff.Balance = m
}
{
m := make(map[string]hexutil.Bytes)
m := make(map[string]hexutility.Bytes)
m["-"] = initialIbs.GetCode(addr)
accountDiff.Code = m
}
@ -676,7 +678,7 @@ func (sd *StateDiff) CompareStates(initialIbs, ibs *state.IntraBlockState) {
accountDiff.Balance = m
}
{
m := make(map[string]hexutil.Bytes)
m := make(map[string]hexutility.Bytes)
m["+"] = ibs.GetCode(addr)
accountDiff.Code = m
}

View File

@ -4,6 +4,7 @@ import (
"fmt"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/types"
@ -56,34 +57,34 @@ type ParityTraces []ParityTrace
// TraceAction A parity formatted trace action
type TraceAction struct {
// Do not change the ordering of these fields -- allows for easier comparison with other clients
Author string `json:"author,omitempty"`
RewardType string `json:"rewardType,omitempty"`
SelfDestructed string `json:"address,omitempty"`
Balance string `json:"balance,omitempty"`
CallType string `json:"callType,omitempty"`
From common.Address `json:"from"`
Gas hexutil.Big `json:"gas"`
Init hexutil.Bytes `json:"init,omitempty"`
Input hexutil.Bytes `json:"input,omitempty"`
RefundAddress string `json:"refundAddress,omitempty"`
To string `json:"to,omitempty"`
Value string `json:"value,omitempty"`
Author string `json:"author,omitempty"`
RewardType string `json:"rewardType,omitempty"`
SelfDestructed string `json:"address,omitempty"`
Balance string `json:"balance,omitempty"`
CallType string `json:"callType,omitempty"`
From common.Address `json:"from"`
Gas hexutil.Big `json:"gas"`
Init hexutility.Bytes `json:"init,omitempty"`
Input hexutility.Bytes `json:"input,omitempty"`
RefundAddress string `json:"refundAddress,omitempty"`
To string `json:"to,omitempty"`
Value string `json:"value,omitempty"`
}
type CallTraceAction struct {
From common.Address `json:"from"`
CallType string `json:"callType"`
Gas hexutil.Big `json:"gas"`
Input hexutil.Bytes `json:"input"`
To common.Address `json:"to"`
Value hexutil.Big `json:"value"`
From common.Address `json:"from"`
CallType string `json:"callType"`
Gas hexutil.Big `json:"gas"`
Input hexutility.Bytes `json:"input"`
To common.Address `json:"to"`
Value hexutil.Big `json:"value"`
}
type CreateTraceAction struct {
From common.Address `json:"from"`
Gas hexutil.Big `json:"gas"`
Init hexutil.Bytes `json:"init"`
Value hexutil.Big `json:"value"`
From common.Address `json:"from"`
Gas hexutil.Big `json:"gas"`
Init hexutility.Bytes `json:"init"`
Value hexutil.Big `json:"value"`
}
type SuicideTraceAction struct {
@ -100,16 +101,16 @@ type RewardTraceAction struct {
type CreateTraceResult struct {
// Do not change the ordering of these fields -- allows for easier comparison with other clients
Address *common.Address `json:"address,omitempty"`
Code hexutil.Bytes `json:"code"`
GasUsed *hexutil.Big `json:"gasUsed"`
Address *common.Address `json:"address,omitempty"`
Code hexutility.Bytes `json:"code"`
GasUsed *hexutil.Big `json:"gasUsed"`
}
// TraceResult A parity formatted trace result
type TraceResult struct {
// Do not change the ordering of these fields -- allows for easier comparison with other clients
GasUsed *hexutil.Big `json:"gasUsed"`
Output hexutil.Bytes `json:"output"`
GasUsed *hexutil.Big `json:"gasUsed"`
Output hexutility.Bytes `json:"output"`
}
// Allows for easy printing of a geth trace for debugging

View File

@ -3,7 +3,8 @@ package commands
import (
"context"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/crypto"
"github.com/ledgerwatch/erigon/turbo/rpchelper"
)
@ -11,7 +12,7 @@ import (
// Web3API provides interfaces for the web3_ RPC commands
type Web3API interface {
ClientVersion(_ context.Context) (string, error)
Sha3(_ context.Context, input hexutil.Bytes) hexutil.Bytes
Sha3(_ context.Context, input hexutility.Bytes) hexutility.Bytes
}
type Web3APIImpl struct {
@ -33,6 +34,6 @@ func (api *Web3APIImpl) ClientVersion(ctx context.Context) (string, error) {
}
// Sha3 implements web3_sha3. Returns Keccak-256 (not the standardized SHA3-256) of the given data.
func (api *Web3APIImpl) Sha3(_ context.Context, input hexutil.Bytes) hexutil.Bytes {
func (api *Web3APIImpl) Sha3(_ context.Context, input hexutility.Bytes) hexutility.Bytes {
return crypto.Keccak256(input)
}

View File

@ -7,7 +7,10 @@ import (
"strconv"
"github.com/holiman/uint256"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/types"
)
@ -23,7 +26,7 @@ func convertDataToStringP(abstractMap map[string]interface{}, field string) *str
return nil
}
result = v.String()
case hexutil.Bytes:
case hexutility.Bytes:
result = v.String()
case hexutil.Uint:
result = v.String()

View File

@ -8,6 +8,7 @@ import (
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -80,7 +81,7 @@ func BenchTraceCallMany(erigonURL, oeURL string, needCompare bool, blockFrom uin
gas := make([]*hexutil.Big, n)
gasPrice := make([]*hexutil.Big, n)
value := make([]*hexutil.Big, n)
data := make([]hexutil.Bytes, n)
data := make([]hexutility.Bytes, n)
for i := 0; i < n; i++ {
tx := b.Result.Transactions[i]

View File

@ -7,9 +7,11 @@ import (
"strings"
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/valyala/fastjson"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -97,7 +99,7 @@ func (g *RequestGenerator) getProof(bn uint64, account libcommon.Address, storag
return fmt.Sprintf(template, account, strings.Join(storageStr, ","), bn, g.reqID)
}
func (g *RequestGenerator) traceCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutil.Bytes, bn uint64) string {
func (g *RequestGenerator) traceCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutility.Bytes, bn uint64) string {
var sb strings.Builder
fmt.Fprintf(&sb, `{ "jsonrpc": "2.0", "method": "trace_call", "params": [{"from":"0x%x"`, from)
if to != nil {
@ -120,7 +122,7 @@ func (g *RequestGenerator) traceCall(from libcommon.Address, to *libcommon.Addre
return sb.String()
}
func (g *RequestGenerator) traceCallMany(from []libcommon.Address, to []*libcommon.Address, gas []*hexutil.Big, gasPrice []*hexutil.Big, value []*hexutil.Big, data []hexutil.Bytes, bn uint64) string {
func (g *RequestGenerator) traceCallMany(from []libcommon.Address, to []*libcommon.Address, gas []*hexutil.Big, gasPrice []*hexutil.Big, value []*hexutil.Big, data []hexutility.Bytes, bn uint64) string {
var sb strings.Builder
fmt.Fprintf(&sb, `{ "jsonrpc": "2.0", "method": "trace_callMany", "params": [[`)
for i, f := range from {
@ -149,7 +151,7 @@ func (g *RequestGenerator) traceCallMany(from []libcommon.Address, to []*libcomm
return sb.String()
}
func (g *RequestGenerator) debugTraceCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutil.Bytes, bn uint64) string {
func (g *RequestGenerator) debugTraceCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutility.Bytes, bn uint64) string {
var sb strings.Builder
fmt.Fprintf(&sb, `{ "jsonrpc": "2.0", "method": "debug_traceCall", "params": [{"from":"0x%x"`, from)
if to != nil {
@ -197,7 +199,7 @@ func (g *RequestGenerator) traceReplayTransaction(hash string) string {
return fmt.Sprintf(template, hash, g.reqID)
}
func (g *RequestGenerator) ethCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutil.Bytes, bn uint64) string {
func (g *RequestGenerator) ethCall(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutility.Bytes, bn uint64) string {
var sb strings.Builder
fmt.Fprintf(&sb, `{ "jsonrpc": "2.0", "method": "eth_call", "params": [{"from":"0x%x"`, from)
if to != nil {
@ -219,7 +221,7 @@ func (g *RequestGenerator) ethCall(from libcommon.Address, to *libcommon.Address
return sb.String()
}
func (g *RequestGenerator) ethCallLatest(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutil.Bytes) string {
func (g *RequestGenerator) ethCallLatest(from libcommon.Address, to *libcommon.Address, gas *hexutil.Big, gasPrice *hexutil.Big, value *hexutil.Big, data hexutility.Bytes) string {
var sb strings.Builder
fmt.Fprintf(&sb, `{ "jsonrpc": "2.0", "method": "eth_call", "params": [{"from":"0x%x"`, from)
if to != nil {

View File

@ -4,6 +4,7 @@ import (
"fmt"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/state"
@ -39,7 +40,7 @@ type EthTransaction struct {
Hash string `json:"hash"`
Gas hexutil.Big `json:"gas"`
GasPrice hexutil.Big `json:"gasPrice"`
Input hexutil.Bytes `json:"input"`
Input hexutility.Bytes `json:"input"`
Value hexutil.Big `json:"value"`
}
@ -96,7 +97,7 @@ type TraceCall struct {
}
type TraceCallResult struct {
Output hexutil.Bytes `json:"output"`
Output hexutility.Bytes `json:"output"`
Trace []TraceCallTrace `json:"trace"`
StateDiff map[libcommon.Address]TraceCallStateDiff `json:"stateDiff"`
}
@ -119,16 +120,16 @@ type TraceCallAction struct {
Gas hexutil.Big `json:"gas"`
Value hexutil.Big `json:"value"`
Balance hexutil.Big `json:"balance"`
Init hexutil.Bytes `json:"init"`
Input hexutil.Bytes `json:"input"`
Init hexutility.Bytes `json:"init"`
Input hexutility.Bytes `json:"input"`
CallType string `json:"callType"`
}
type TraceCallTraceResult struct {
GasUsed hexutil.Big `json:"gasUsed"`
Output hexutil.Bytes `json:"output"`
Output hexutility.Bytes `json:"output"`
Address libcommon.Address `json:"address"`
Code hexutil.Bytes `json:"code"`
Code hexutility.Bytes `json:"code"`
}
type TraceCallStateDiff struct {
@ -191,7 +192,7 @@ type Log struct { //nolint
// list of topics provided by the contract.
Topics []libcommon.Hash `json:"topics" gencodec:"required"`
// supplied by the contract, usually ABI-encoded
Data hexutil.Bytes `json:"data" gencodec:"required"`
Data hexutility.Bytes `json:"data" gencodec:"required"`
// Derived fields. These fields are filled in by the node
// but not secured by consensus.
@ -213,11 +214,11 @@ type Log struct { //nolint
type Receipt struct {
// Consensus fields
PostState libcommon.Hash `json:"root"`
Status hexutil.Uint64 `json:"status"`
CumulativeGasUsed hexutil.Uint64 `json:"cumulativeGasUsed" gencodec:"required"`
Bloom hexutil.Bytes `json:"logsBloom" gencodec:"required"`
Logs []*Log `json:"logs" gencodec:"required"`
PostState libcommon.Hash `json:"root"`
Status hexutil.Uint64 `json:"status"`
CumulativeGasUsed hexutil.Uint64 `json:"cumulativeGasUsed" gencodec:"required"`
Bloom hexutility.Bytes `json:"logsBloom" gencodec:"required"`
Logs []*Log `json:"logs" gencodec:"required"`
// Implementation fields (don't reorder!)
TxHash libcommon.Hash `json:"transactionHash" gencodec:"required"`
@ -263,5 +264,5 @@ type StorageResult struct {
type ParityListStorageKeysResult struct {
CommonResponse
Result []hexutil.Bytes `json:"result"`
Result []hexutility.Bytes `json:"result"`
}

View File

@ -23,59 +23,14 @@ import (
"math/big"
"reflect"
"strconv"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
var (
bytesT = reflect.TypeOf(Bytes(nil))
bigT = reflect.TypeOf((*Big)(nil))
uintT = reflect.TypeOf(Uint(0))
uint64T = reflect.TypeOf(Uint64(0))
)
// Bytes marshals/unmarshals as a JSON string with 0x prefix.
// The empty slice marshals as "0x".
type Bytes []byte
const hexPrefix = `0x`
// MarshalText implements encoding.TextMarshaler
func (b Bytes) MarshalText() ([]byte, error) {
result := make([]byte, len(b)*2+2)
copy(result, hexPrefix)
hex.Encode(result[2:], b)
return result, nil
}
// UnmarshalJSON implements json.Unmarshaler.
func (b *Bytes) UnmarshalJSON(input []byte) error {
if !isString(input) {
return errNonString(bytesT)
}
return wrapTypeError(b.UnmarshalText(input[1:len(input)-1]), bytesT)
}
// UnmarshalText implements encoding.TextUnmarshaler.
func (b *Bytes) UnmarshalText(input []byte) error {
raw, err := checkText(input, true)
if err != nil {
return err
}
dec := make([]byte, len(raw)/2)
if _, err = hex.Decode(dec, raw); err != nil {
err = mapError(err)
} else {
*b = dec
}
return err
}
// String returns the hex encoding of b.
func (b Bytes) String() string {
return hexutility.Encode(b)
}
// UnmarshalFixedUnprefixedText decodes the input as a string with optional 0x prefix. The
// length of out determines the required input length. This function is commonly used to
// implement the UnmarshalText method for fixed-size types.

View File

@ -21,8 +21,6 @@ import (
"fmt"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
type MyType [5]byte
@ -32,7 +30,7 @@ func (v *MyType) UnmarshalText(input []byte) error {
}
func (v MyType) String() string {
return hexutil.Bytes(v[:]).String()
return hexutility.Bytes(v[:]).String()
}
func ExampleUnmarshalFixedText() {

View File

@ -18,7 +18,6 @@ package hexutil
import (
"bytes"
"encoding/hex"
"encoding/json"
"errors"
"math/big"
@ -49,81 +48,8 @@ func referenceBig(s string) *big.Int {
return b
}
func referenceBytes(s string) []byte {
b, err := hex.DecodeString(s)
if err != nil {
panic(err)
}
return b
}
var errJSONEOF = errors.New("unexpected end of JSON input")
var unmarshalBytesTests = []unmarshalTest{
// invalid encoding
{input: "", wantErr: errJSONEOF},
{input: "null", wantErr: errNonString(bytesT)},
{input: "10", wantErr: errNonString(bytesT)},
{input: `"0"`, wantErr: wrapTypeError(ErrMissingPrefix, bytesT)},
{input: `"0x0"`, wantErr: wrapTypeError(ErrOddLength, bytesT)},
{input: `"0xxx"`, wantErr: wrapTypeError(ErrSyntax, bytesT)},
{input: `"0x01zz01"`, wantErr: wrapTypeError(ErrSyntax, bytesT)},
// valid encoding
{input: `""`, want: referenceBytes("")},
{input: `"0x"`, want: referenceBytes("")},
{input: `"0x02"`, want: referenceBytes("02")},
{input: `"0X02"`, want: referenceBytes("02")},
{input: `"0xffffffffff"`, want: referenceBytes("ffffffffff")},
{
input: `"0xffffffffffffffffffffffffffffffffffff"`,
want: referenceBytes("ffffffffffffffffffffffffffffffffffff"),
},
}
func TestUnmarshalBytes(t *testing.T) {
for _, test := range unmarshalBytesTests {
var v Bytes
err := json.Unmarshal([]byte(test.input), &v)
if !checkError(t, test.input, err, test.wantErr) {
continue
}
if !bytes.Equal(test.want.([]byte), v) {
t.Errorf("input %s: value mismatch: got %x, want %x", test.input, &v, test.want)
continue
}
}
}
func BenchmarkUnmarshalBytes(b *testing.B) {
input := []byte(`"0x123456789abcdef123456789abcdef"`)
for i := 0; i < b.N; i++ {
var v Bytes
if err := v.UnmarshalJSON(input); err != nil {
b.Fatal(err)
}
}
}
func TestMarshalBytes(t *testing.T) {
for _, test := range encodeBytesTests {
in := test.input.([]byte)
out, err := json.Marshal(Bytes(in))
if err != nil {
t.Errorf("%x: %v", in, err)
continue
}
if want := `"` + test.want + `"`; string(out) != want {
t.Errorf("%x: MarshalJSON output mismatch: got %q, want %q", in, out, want)
continue
}
if out := Bytes(in).String(); out != test.want {
t.Errorf("%x: String mismatch: got %q, want %q", in, out, test.want)
continue
}
}
}
var unmarshalBigTests = []unmarshalTest{
// invalid encoding
{input: "", wantErr: errJSONEOF},

View File

@ -22,7 +22,9 @@ import (
"sort"
"github.com/holiman/uint256"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/u256"
@ -126,7 +128,7 @@ type JsonSpec struct {
// See https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md
WithdrawalContractAddress *libcommon.Address `json:"withdrawalContractAddress"`
RewriteBytecode map[uint64]map[libcommon.Address]hexutil.Bytes `json:"rewriteBytecode"`
RewriteBytecode map[uint64]map[libcommon.Address]hexutility.Bytes `json:"rewriteBytecode"`
}
type Code struct {

View File

@ -1,36 +0,0 @@
{
"stepDuration": 4,
"blockReward": "0x4563918244F40000",
"validators": {
"multi": {
"0": {
"list": [
"0x00D6Cc1BA9cf89BD2e58009741f4F7325BAdc0ED",
"0x00427feae2419c15b89d1c21af10d1b6650a4d3d",
"0x4Ed9B08e6354C70fE6F8CB0411b0d3246b424d6c",
"0x0020ee4Be0e2027d76603cB751eE069519bA81A1",
"0x0010f94b296a852aaac52ea6c5ac72e03afd032d",
"0x007733a1FE69CF3f2CF989F81C7b4cAc1693387A",
"0x00E6d2b931F55a3f1701c7389d592a7778897879",
"0x00e4a10650e5a6D6001C38ff8E64F97016a1645c",
"0x00a0a24b9f0e5ec7aa4c7389b8302fd0123194de"
]
},
"10960440": {
"list": [
"0x00D6Cc1BA9cf89BD2e58009741f4F7325BAdc0ED",
"0x0010f94b296a852aaac52ea6c5ac72e03afd032d",
"0x00a0a24b9f0e5ec7aa4c7389b8302fd0123194de"
]
},
"10960500": {
"safeContract": "0xaE71807C1B0a093cB1547b682DC78316D945c9B8"
}
}
},
"validateScoreTransition": 4301764,
"validateStepTransition": 1500000,
"maximumUncleCountTransition": 5067000,
"maximumUncleCount": 0
}

View File

@ -5,15 +5,14 @@ import (
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
// EventRecord represents state record
type EventRecord struct {
ID uint64 `json:"id" yaml:"id"`
Contract libcommon.Address `json:"contract" yaml:"contract"`
Data hexutil.Bytes `json:"data" yaml:"data"`
Data hexutility.Bytes `json:"data" yaml:"data"`
TxHash libcommon.Hash `json:"tx_hash" yaml:"tx_hash"`
LogIndex uint64 `json:"log_index" yaml:"log_index"`
ChainID string `json:"bor_chain_id" yaml:"bor_chain_id"`

View File

@ -13,32 +13,31 @@ import (
"sync"
"time"
"github.com/hashicorp/golang-lru/v2"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon/core/rawdb"
"github.com/ledgerwatch/erigon/crypto/cryptopool"
lru "github.com/hashicorp/golang-lru/v2"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/log/v3"
"golang.org/x/exp/slices"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/accounts/abi"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/common/u256"
"github.com/ledgerwatch/erigon/consensus"
"github.com/ledgerwatch/erigon/consensus/misc"
"github.com/ledgerwatch/erigon/core"
"github.com/ledgerwatch/erigon/core/forkid"
"github.com/ledgerwatch/erigon/core/rawdb"
"github.com/ledgerwatch/erigon/core/state"
"github.com/ledgerwatch/erigon/core/systemcontracts"
"github.com/ledgerwatch/erigon/core/types"
"github.com/ledgerwatch/erigon/core/vm"
"github.com/ledgerwatch/erigon/crypto"
"github.com/ledgerwatch/erigon/crypto/cryptopool"
"github.com/ledgerwatch/erigon/params"
"github.com/ledgerwatch/erigon/rlp"
"github.com/ledgerwatch/erigon/rpc"
@ -1034,7 +1033,7 @@ func (p *Parlia) getCurrentValidators(header *types.Header, ibs *state.IntraBloc
return nil, err
}
// call
msgData := hexutil.Bytes(data)
msgData := hexutility.Bytes(data)
_, returnData, err := p.systemCall(header.Coinbase, systemcontracts.ValidatorContract, msgData[:], ibs, header, u256.Num0)
if err != nil {
return nil, err

View File

@ -22,14 +22,14 @@ import (
"fmt"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon-lib/kv/order"
"github.com/ledgerwatch/erigon-lib/kv/rawdbv3"
"github.com/ledgerwatch/erigon/core/state/temporal"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/dbutils"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/state/temporal"
"github.com/ledgerwatch/erigon/core/types/accounts"
"github.com/ledgerwatch/erigon/crypto"
"github.com/ledgerwatch/erigon/turbo/trie"
@ -46,12 +46,12 @@ type Dumper struct {
type DumpAccount struct {
Balance string `json:"balance"`
Nonce uint64 `json:"nonce"`
Root hexutil.Bytes `json:"root"`
CodeHash hexutil.Bytes `json:"codeHash"`
Code hexutil.Bytes `json:"code,omitempty"`
Root hexutility.Bytes `json:"root"`
CodeHash hexutility.Bytes `json:"codeHash"`
Code hexutility.Bytes `json:"code,omitempty"`
Storage map[string]string `json:"storage,omitempty"`
Address *libcommon.Address `json:"address,omitempty"` // Address only present in iterative (line-by-line) mode
SecureKey *hexutil.Bytes `json:"key,omitempty"` // If we don't have address, we can output the key
SecureKey *hexutility.Bytes `json:"key,omitempty"` // If we don't have address, we can output the key
}
// Dump represents the full dump in a collected format, as one large map.
@ -190,8 +190,8 @@ func (d *Dumper) DumpToCollector(c DumpCollector, excludeCode, excludeStorage bo
account := DumpAccount{
Balance: acc.Balance.ToBig().String(),
Nonce: acc.Nonce,
Root: hexutil.Bytes(emptyHash[:]), // We cannot provide historical storage hash
CodeHash: hexutil.Bytes(emptyCodeHash[:]),
Root: hexutility.Bytes(emptyHash[:]), // We cannot provide historical storage hash
CodeHash: hexutility.Bytes(emptyCodeHash[:]),
Storage: make(map[string]string),
}
accountList = append(accountList, &account)
@ -219,8 +219,8 @@ func (d *Dumper) DumpToCollector(c DumpCollector, excludeCode, excludeStorage bo
account := DumpAccount{
Balance: acc.Balance.ToBig().String(),
Nonce: acc.Nonce,
Root: hexutil.Bytes(emptyHash[:]), // We cannot provide historical storage hash
CodeHash: hexutil.Bytes(emptyCodeHash[:]),
Root: hexutility.Bytes(emptyHash[:]), // We cannot provide historical storage hash
CodeHash: hexutility.Bytes(emptyCodeHash[:]),
Storage: make(map[string]string),
}
accountList = append(accountList, &account)

View File

@ -2,21 +2,23 @@ package accounts
import (
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
// Result structs for GetProof
type AccProofResult struct {
Address libcommon.Address `json:"address"`
AccountProof []hexutil.Bytes `json:"accountProof"`
Balance *hexutil.Big `json:"balance"`
CodeHash libcommon.Hash `json:"codeHash"`
Nonce hexutil.Uint64 `json:"nonce"`
StorageHash libcommon.Hash `json:"storageHash"`
StorageProof []StorProofResult `json:"storageProof"`
Address libcommon.Address `json:"address"`
AccountProof []hexutility.Bytes `json:"accountProof"`
Balance *hexutil.Big `json:"balance"`
CodeHash libcommon.Hash `json:"codeHash"`
Nonce hexutil.Uint64 `json:"nonce"`
StorageHash libcommon.Hash `json:"storageHash"`
StorageProof []StorProofResult `json:"storageProof"`
}
type StorProofResult struct {
Key libcommon.Hash `json:"key"`
Value *hexutil.Big `json:"value"`
Proof []hexutil.Bytes `json:"proof"`
Key libcommon.Hash `json:"key"`
Value *hexutil.Big `json:"value"`
Proof []hexutility.Bytes `json:"proof"`
}

View File

@ -62,7 +62,7 @@ func (n BlockNonce) Uint64() uint64 {
// MarshalText encodes n as a hex string with 0x prefix.
func (n BlockNonce) MarshalText() ([]byte, error) {
return hexutil.Bytes(n[:]).MarshalText()
return hexutility.Bytes(n[:]).MarshalText()
}
// UnmarshalText implements encoding.TextUnmarshaler.
@ -506,7 +506,7 @@ type headerMarshaling struct {
GasLimit hexutil.Uint64
GasUsed hexutil.Uint64
Time hexutil.Uint64
Extra hexutil.Bytes
Extra hexutility.Bytes
BaseFee *hexutil.Big
ExcessDataGas *hexutil.Big
Hash libcommon.Hash `json:"hash"` // adds call to Hash() in MarshalJSON

View File

@ -23,7 +23,6 @@ import (
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/crypto"
"github.com/ledgerwatch/erigon/crypto/cryptopool"
)
@ -95,7 +94,7 @@ func (b Bloom) Test(topic []byte) bool {
// MarshalText encodes b as a hex string with 0x prefix.
func (b Bloom) MarshalText() ([]byte, error) {
return hexutil.Bytes(b[:]).MarshalText()
return hexutility.Bytes(b[:]).MarshalText()
}
// UnmarshalText b as a hex string with 0x prefix.

View File

@ -7,6 +7,7 @@ import (
"errors"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -18,7 +19,7 @@ func (l ErigonLog) MarshalJSON() ([]byte, error) {
type ErigonLog struct {
Address libcommon.Address `json:"address" gencodec:"required"`
Topics []libcommon.Hash `json:"topics" gencodec:"required"`
Data hexutil.Bytes `json:"data" gencodec:"required"`
Data hexutility.Bytes `json:"data" gencodec:"required"`
BlockNumber hexutil.Uint64 `json:"blockNumber"`
TxHash libcommon.Hash `json:"transactionHash" gencodec:"required"`
TxIndex hexutil.Uint `json:"transactionIndex"`
@ -48,7 +49,7 @@ func (l *ErigonLog) UnmarshalJSON(input []byte) error {
type ErigonLog struct {
Address *libcommon.Address `json:"address" gencodec:"required"`
Topics []libcommon.Hash `json:"topics" gencodec:"required"`
Data *hexutil.Bytes `json:"data" gencodec:"required"`
Data *hexutility.Bytes `json:"data" gencodec:"required"`
BlockNumber *hexutil.Uint64 `json:"blockNumber"`
TxHash *libcommon.Hash `json:"transactionHash" gencodec:"required"`
TxIndex *hexutil.Uint `json:"transactionIndex"`

View File

@ -9,9 +9,9 @@ import (
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
)
@ -23,7 +23,7 @@ func (g Genesis) MarshalJSON() ([]byte, error) {
Config *chain.Config `json:"config"`
Nonce math.HexOrDecimal64 `json:"nonce"`
Timestamp math.HexOrDecimal64 `json:"timestamp"`
ExtraData hexutil.Bytes `json:"extraData"`
ExtraData hexutility.Bytes `json:"extraData"`
GasLimit math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
Difficulty *math.HexOrDecimal256 `json:"difficulty" gencodec:"required"`
Mixhash libcommon.Hash `json:"mixHash"`
@ -62,7 +62,7 @@ func (g *Genesis) UnmarshalJSON(input []byte) error {
Config *chain.Config `json:"config"`
Nonce *math.HexOrDecimal64 `json:"nonce"`
Timestamp *math.HexOrDecimal64 `json:"timestamp"`
ExtraData *hexutil.Bytes `json:"extraData"`
ExtraData *hexutility.Bytes `json:"extraData"`
GasLimit *math.HexOrDecimal64 `json:"gasLimit" gencodec:"required"`
Difficulty *math.HexOrDecimal256 `json:"difficulty" gencodec:"required"`
Mixhash *libcommon.Hash `json:"mixHash"`

View File

@ -8,8 +8,8 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
)
@ -18,12 +18,12 @@ var _ = (*genesisAccountMarshaling)(nil)
// MarshalJSON marshals as JSON.
func (g GenesisAccount) MarshalJSON() ([]byte, error) {
type GenesisAccount struct {
Constructor hexutil.Bytes `json:"constructor,omitempty"`
Code hexutil.Bytes `json:"code,omitempty"`
Constructor hexutility.Bytes `json:"constructor,omitempty"`
Code hexutility.Bytes `json:"code,omitempty"`
Storage map[storageJSON]storageJSON `json:"storage,omitempty"`
Balance *math.HexOrDecimal256 `json:"balance" gencodec:"required"`
Nonce math.HexOrDecimal64 `json:"nonce,omitempty"`
PrivateKey hexutil.Bytes `json:"secretKey,omitempty"`
PrivateKey hexutility.Bytes `json:"secretKey,omitempty"`
}
var enc GenesisAccount
enc.Constructor = g.Constructor
@ -43,12 +43,12 @@ func (g GenesisAccount) MarshalJSON() ([]byte, error) {
// UnmarshalJSON unmarshals from JSON.
func (g *GenesisAccount) UnmarshalJSON(input []byte) error {
type GenesisAccount struct {
Constructor *hexutil.Bytes `json:"constructor,omitempty"`
Code *hexutil.Bytes `json:"code,omitempty"`
Constructor *hexutility.Bytes `json:"constructor,omitempty"`
Code *hexutility.Bytes `json:"code,omitempty"`
Storage map[storageJSON]storageJSON `json:"storage,omitempty"`
Balance *math.HexOrDecimal256 `json:"balance" gencodec:"required"`
Nonce *math.HexOrDecimal64 `json:"nonce,omitempty"`
PrivateKey *hexutil.Bytes `json:"secretKey,omitempty"`
PrivateKey *hexutility.Bytes `json:"secretKey,omitempty"`
}
var dec GenesisAccount
if err := json.Unmarshal(input, &dec); err != nil {

View File

@ -8,6 +8,7 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -29,7 +30,7 @@ func (h Header) MarshalJSON() ([]byte, error) {
GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
Time hexutil.Uint64 `json:"timestamp" gencodec:"required"`
Extra hexutil.Bytes `json:"extraData" gencodec:"required"`
Extra hexutility.Bytes `json:"extraData" gencodec:"required"`
MixDigest libcommon.Hash `json:"mixHash"`
Nonce BlockNonce `json:"nonce"`
BaseFee *hexutil.Big `json:"baseFeePerGas"`
@ -73,7 +74,7 @@ func (h *Header) UnmarshalJSON(input []byte) error {
GasLimit *hexutil.Uint64 `json:"gasLimit" gencodec:"required"`
GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"`
Time *hexutil.Uint64 `json:"timestamp" gencodec:"required"`
Extra *hexutil.Bytes `json:"extraData" gencodec:"required"`
Extra *hexutility.Bytes `json:"extraData" gencodec:"required"`
MixDigest *libcommon.Hash `json:"mixHash"`
Nonce *BlockNonce `json:"nonce"`
BaseFee *hexutil.Big `json:"baseFeePerGas"`

View File

@ -7,6 +7,7 @@ import (
"errors"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -18,7 +19,7 @@ func (l Log) MarshalJSON() ([]byte, error) {
type Log struct {
Address libcommon.Address `json:"address" gencodec:"required"`
Topics []libcommon.Hash `json:"topics" gencodec:"required"`
Data hexutil.Bytes `json:"data" gencodec:"required"`
Data hexutility.Bytes `json:"data" gencodec:"required"`
BlockNumber hexutil.Uint64 `json:"blockNumber"`
TxHash libcommon.Hash `json:"transactionHash" gencodec:"required"`
TxIndex hexutil.Uint `json:"transactionIndex"`
@ -44,7 +45,7 @@ func (l *Log) UnmarshalJSON(input []byte) error {
type Log struct {
Address *libcommon.Address `json:"address" gencodec:"required"`
Topics []libcommon.Hash `json:"topics" gencodec:"required"`
Data *hexutil.Bytes `json:"data" gencodec:"required"`
Data *hexutility.Bytes `json:"data" gencodec:"required"`
BlockNumber *hexutil.Uint64 `json:"blockNumber"`
TxHash *libcommon.Hash `json:"transactionHash" gencodec:"required"`
TxIndex *hexutil.Uint `json:"transactionIndex"`

View File

@ -8,6 +8,7 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -18,7 +19,7 @@ var _ = (*receiptMarshaling)(nil)
func (r Receipt) MarshalJSON() ([]byte, error) {
type Receipt struct {
Type hexutil.Uint64 `json:"type,omitempty"`
PostState hexutil.Bytes `json:"root"`
PostState hexutility.Bytes `json:"root"`
Status hexutil.Uint64 `json:"status"`
CumulativeGasUsed hexutil.Uint64 `json:"cumulativeGasUsed" gencodec:"required"`
Bloom Bloom `json:"logsBloom" gencodec:"required"`
@ -50,7 +51,7 @@ func (r Receipt) MarshalJSON() ([]byte, error) {
func (r *Receipt) UnmarshalJSON(input []byte) error {
type Receipt struct {
Type *hexutil.Uint64 `json:"type,omitempty"`
PostState *hexutil.Bytes `json:"root"`
PostState *hexutility.Bytes `json:"root"`
Status *hexutil.Uint64 `json:"status"`
CumulativeGasUsed *hexutil.Uint64 `json:"cumulativeGasUsed" gencodec:"required"`
Bloom *Bloom `json:"logsBloom" gencodec:"required"`

View File

@ -26,8 +26,9 @@ import (
"github.com/ledgerwatch/erigon-lib/chain"
"github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
common2 "github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/params"
)
@ -98,7 +99,7 @@ type GenesisAccount struct {
type genesisSpecMarshaling struct {
Nonce math.HexOrDecimal64
Timestamp math.HexOrDecimal64
ExtraData hexutil.Bytes
ExtraData hexutility.Bytes
GasLimit math.HexOrDecimal64
GasUsed math.HexOrDecimal64
Number math.HexOrDecimal64
@ -109,12 +110,12 @@ type genesisSpecMarshaling struct {
}
type genesisAccountMarshaling struct {
Constructor hexutil.Bytes
Code hexutil.Bytes
Constructor hexutility.Bytes
Code hexutility.Bytes
Balance *math.HexOrDecimal256
Nonce math.HexOrDecimal64
Storage map[storageJSON]storageJSON
PrivateKey hexutil.Bytes
PrivateKey hexutility.Bytes
}
// storageJSON represents a 256 bit byte array, but allows less than 256 bits when
@ -134,7 +135,7 @@ func (h *storageJSON) UnmarshalText(text []byte) error {
}
func (h storageJSON) MarshalText() ([]byte, error) {
return hexutil.Bytes(h[:]).MarshalText()
return hexutility.Bytes(h[:]).MarshalText()
}
// GenesisMismatchError is raised when trying to overwrite an existing

View File

@ -20,6 +20,7 @@ import (
"io"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/rlp"
@ -189,7 +190,7 @@ Logs:
}
type logMarshaling struct {
Data hexutil.Bytes
Data hexutility.Bytes
BlockNumber hexutil.Uint64
TxIndex hexutil.Uint
Index hexutil.Uint

View File

@ -24,6 +24,7 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/crypto"
@ -72,7 +73,7 @@ type Receipt struct {
type receiptMarshaling struct {
Type hexutil.Uint64
PostState hexutil.Bytes
PostState hexutility.Bytes
Status hexutil.Uint64
CumulativeGasUsed hexutil.Uint64
GasUsed hexutil.Uint64

View File

@ -6,10 +6,12 @@ import (
"fmt"
"github.com/holiman/uint256"
libcommon "github.com/ledgerwatch/erigon-lib/common"
types2 "github.com/ledgerwatch/erigon-lib/types"
"github.com/valyala/fastjson"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
types2 "github.com/ledgerwatch/erigon-lib/types"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -24,7 +26,7 @@ type txJSON struct {
Tip *hexutil.Big `json:"maxPriorityFeePerGas"`
Gas *hexutil.Uint64 `json:"gas"`
Value *hexutil.Big `json:"value"`
Data *hexutil.Bytes `json:"input"`
Data *hexutility.Bytes `json:"input"`
V *hexutil.Big `json:"v"`
R *hexutil.Big `json:"r"`
S *hexutil.Big `json:"s"`
@ -47,7 +49,7 @@ func (tx LegacyTx) MarshalJSON() ([]byte, error) {
enc.Gas = (*hexutil.Uint64)(&tx.Gas)
enc.GasPrice = (*hexutil.Big)(tx.GasPrice.ToBig())
enc.Value = (*hexutil.Big)(tx.Value.ToBig())
enc.Data = (*hexutil.Bytes)(&tx.Data)
enc.Data = (*hexutility.Bytes)(&tx.Data)
enc.To = tx.To
enc.V = (*hexutil.Big)(tx.V.ToBig())
enc.R = (*hexutil.Big)(tx.R.ToBig())
@ -66,7 +68,7 @@ func (tx AccessListTx) MarshalJSON() ([]byte, error) {
enc.Gas = (*hexutil.Uint64)(&tx.Gas)
enc.GasPrice = (*hexutil.Big)(tx.GasPrice.ToBig())
enc.Value = (*hexutil.Big)(tx.Value.ToBig())
enc.Data = (*hexutil.Bytes)(&tx.Data)
enc.Data = (*hexutility.Bytes)(&tx.Data)
enc.To = tx.To
enc.V = (*hexutil.Big)(tx.V.ToBig())
enc.R = (*hexutil.Big)(tx.R.ToBig())
@ -86,7 +88,7 @@ func (tx DynamicFeeTransaction) MarshalJSON() ([]byte, error) {
enc.FeeCap = (*hexutil.Big)(tx.FeeCap.ToBig())
enc.Tip = (*hexutil.Big)(tx.Tip.ToBig())
enc.Value = (*hexutil.Big)(tx.Value.ToBig())
enc.Data = (*hexutil.Bytes)(&tx.Data)
enc.Data = (*hexutility.Bytes)(&tx.Data)
enc.To = tx.To
enc.V = (*hexutil.Big)(tx.V.ToBig())
enc.R = (*hexutil.Big)(tx.R.ToBig())

View File

@ -26,9 +26,12 @@ import (
"testing"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv/memdb"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
@ -59,7 +62,7 @@ type callContext struct {
type callLog struct {
Address libcommon.Address `json:"address"`
Topics []libcommon.Hash `json:"topics"`
Data hexutil.Bytes `json:"data"`
Data hexutility.Bytes `json:"data"`
}
// callTrace is the result of a callTracer run.
@ -68,8 +71,8 @@ type callTrace struct {
Gas *hexutil.Uint64 `json:"gas"`
GasUsed *hexutil.Uint64 `json:"gasUsed"`
To libcommon.Address `json:"to,omitempty"`
Input hexutil.Bytes `json:"input"`
Output hexutil.Bytes `json:"output,omitempty"`
Input hexutility.Bytes `json:"input"`
Output hexutility.Bytes `json:"output,omitempty"`
Error string `json:"error,omitempty"`
Revertal string `json:"revertReason,omitempty"`
Calls []callTrace `json:"calls,omitempty"`

View File

@ -5,8 +5,8 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/core/vm"
)
@ -20,11 +20,11 @@ func (s StructLog) MarshalJSON() ([]byte, error) {
Op vm.OpCode `json:"op"`
Gas math.HexOrDecimal64 `json:"gas"`
GasCost math.HexOrDecimal64 `json:"gasCost"`
Memory hexutil.Bytes `json:"memory"`
Memory hexutility.Bytes `json:"memory"`
MemorySize int `json:"memSize"`
Stack []*math.HexOrDecimal256 `json:"stack"`
ReturnStack []math.HexOrDecimal64 `json:"returnStack"`
ReturnData hexutil.Bytes `json:"returnData"`
ReturnData hexutility.Bytes `json:"returnData"`
Storage map[libcommon.Hash]libcommon.Hash `json:"-"`
Depth int `json:"depth"`
RefundCounter uint64 `json:"refund"`
@ -62,10 +62,10 @@ func (s *StructLog) UnmarshalJSON(input []byte) error {
Op *vm.OpCode `json:"op"`
Gas *math.HexOrDecimal64 `json:"gas"`
GasCost *math.HexOrDecimal64 `json:"gasCost"`
Memory *hexutil.Bytes `json:"memory"`
Memory *hexutility.Bytes `json:"memory"`
MemorySize *int `json:"memSize"`
Stack []*math.HexOrDecimal256 `json:"stack"`
ReturnData *hexutil.Bytes `json:"returnData"`
ReturnData *hexutility.Bytes `json:"returnData"`
Storage map[libcommon.Hash]libcommon.Hash `json:"-"`
Depth *int `json:"depth"`
RefundCounter *uint64 `json:"refund"`

View File

@ -11,10 +11,11 @@ import (
"strings"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/core/types"
"github.com/ledgerwatch/erigon/core/vm"
@ -70,8 +71,8 @@ type structLogMarshaling struct {
Stack []*math.HexOrDecimal256
Gas math.HexOrDecimal64
GasCost math.HexOrDecimal64
Memory hexutil.Bytes
ReturnData hexutil.Bytes
Memory hexutility.Bytes
ReturnData hexutility.Bytes
OpName string `json:"opName"` // adds call to OpName() in MarshalJSON
ErrorString string `json:"error"` // adds call to ErrorString() in MarshalJSON
}

View File

@ -23,7 +23,9 @@ import (
"sync/atomic"
"github.com/holiman/uint256"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/accounts/abi"
"github.com/ledgerwatch/erigon/common"
@ -41,7 +43,7 @@ func init() {
type callLog struct {
Address libcommon.Address `json:"address"`
Topics []libcommon.Hash `json:"topics"`
Data hexutil.Bytes `json:"data"`
Data hexutility.Bytes `json:"data"`
}
type callFrame struct {
@ -96,8 +98,8 @@ type callFrameMarshaling struct {
Gas hexutil.Uint64
GasUsed hexutil.Uint64
Value *hexutil.Big
Input hexutil.Bytes
Output hexutil.Bytes
Input hexutility.Bytes
Output hexutility.Bytes
}
type callTracer struct {
@ -181,7 +183,7 @@ func (t *callTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, sco
}
data := scope.Memory.GetCopy(int64(mStart.Uint64()), int64(mSize.Uint64()))
log := callLog{Address: scope.Contract.Address(), Topics: topics, Data: hexutil.Bytes(data)}
log := callLog{Address: scope.Contract.Address(), Topics: topics, Data: hexutility.Bytes(data)}
t.callstack[len(t.callstack)-1].Logs = append(t.callstack[len(t.callstack)-1].Logs, log)
}
}

View File

@ -7,6 +7,7 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
)
@ -17,7 +18,7 @@ var _ = (*accountMarshaling)(nil)
func (a account) MarshalJSON() ([]byte, error) {
type account struct {
Balance *hexutil.Big `json:"balance,omitempty"`
Code hexutil.Bytes `json:"code,omitempty"`
Code hexutility.Bytes `json:"code,omitempty"`
Nonce uint64 `json:"nonce,omitempty"`
Storage map[libcommon.Hash]libcommon.Hash `json:"storage,omitempty"`
}
@ -33,7 +34,7 @@ func (a account) MarshalJSON() ([]byte, error) {
func (a *account) UnmarshalJSON(input []byte) error {
type account struct {
Balance *hexutil.Big `json:"balance,omitempty"`
Code *hexutil.Bytes `json:"code,omitempty"`
Code *hexutility.Bytes `json:"code,omitempty"`
Nonce *uint64 `json:"nonce,omitempty"`
Storage map[libcommon.Hash]libcommon.Hash `json:"storage,omitempty"`
}

View File

@ -7,6 +7,7 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/vm"
@ -22,8 +23,8 @@ func (c callFrame) MarshalJSON() ([]byte, error) {
Gas hexutil.Uint64 `json:"gas"`
GasUsed hexutil.Uint64 `json:"gasUsed"`
To libcommon.Address `json:"to,omitempty" rlp:"optional"`
Input hexutil.Bytes `json:"input" rlp:"optional"`
Output hexutil.Bytes `json:"output,omitempty" rlp:"optional"`
Input hexutility.Bytes `json:"input" rlp:"optional"`
Output hexutility.Bytes `json:"output,omitempty" rlp:"optional"`
Error string `json:"error,omitempty" rlp:"optional"`
Revertal string `json:"revertReason,omitempty"`
Calls []callFrame `json:"calls,omitempty" rlp:"optional"`
@ -56,8 +57,8 @@ func (c *callFrame) UnmarshalJSON(input []byte) error {
Gas *hexutil.Uint64 `json:"gas"`
GasUsed *hexutil.Uint64 `json:"gasUsed"`
To *libcommon.Address `json:"to,omitempty" rlp:"optional"`
Input *hexutil.Bytes `json:"input" rlp:"optional"`
Output *hexutil.Bytes `json:"output,omitempty" rlp:"optional"`
Input *hexutility.Bytes `json:"input" rlp:"optional"`
Output *hexutility.Bytes `json:"output,omitempty" rlp:"optional"`
Error *string `json:"error,omitempty" rlp:"optional"`
Revertal *string `json:"revertReason,omitempty"`
Calls []callFrame `json:"calls,omitempty" rlp:"optional"`

View File

@ -23,7 +23,9 @@ import (
"sync/atomic"
"github.com/holiman/uint256"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/core/vm"
@ -52,7 +54,7 @@ func (a *account) exists() bool {
type accountMarshaling struct {
Balance *hexutil.Big
Code hexutil.Bytes
Code hexutility.Bytes
}
type prestateTracer struct {

2
go.mod
View File

@ -3,7 +3,7 @@ module github.com/ledgerwatch/erigon
go 1.19
require (
github.com/ledgerwatch/erigon-lib v0.0.0-20230412095902-9ef1a57e8418
github.com/ledgerwatch/erigon-lib v0.0.0-20230413101817-5e9e729d3ce3
github.com/ledgerwatch/erigon-snapshot v1.1.1-0.20230404044759-5dec854ce336
github.com/ledgerwatch/log/v3 v3.7.0
github.com/ledgerwatch/secp256k1 v1.0.0

4
go.sum
View File

@ -527,8 +527,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758 h1:0D5M2HQSGD3PYPwICLl+/9oulQauOuETfgFvhBDffs0=
github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
github.com/ledgerwatch/erigon-lib v0.0.0-20230412095902-9ef1a57e8418 h1:7U1yMWGDN4GWpydbej8CMkFAY4R+6knO61MXtDxteLc=
github.com/ledgerwatch/erigon-lib v0.0.0-20230412095902-9ef1a57e8418/go.mod h1:jfv6zfkuhalm02Q7wzlmjDdDHf9jxRLO/KM/1aJMhlw=
github.com/ledgerwatch/erigon-lib v0.0.0-20230413101817-5e9e729d3ce3 h1:oo8E+wE18V2awVlVU8w8uuSGPo9zlyzRYRxZGVw5X3w=
github.com/ledgerwatch/erigon-lib v0.0.0-20230413101817-5e9e729d3ce3/go.mod h1:jfv6zfkuhalm02Q7wzlmjDdDHf9jxRLO/KM/1aJMhlw=
github.com/ledgerwatch/erigon-snapshot v1.1.1-0.20230404044759-5dec854ce336 h1:Yxmt4Wyd0RCLr7UJJAl0ApCP/f5qkWfvHfgPbnI8ghM=
github.com/ledgerwatch/erigon-snapshot v1.1.1-0.20230404044759-5dec854ce336/go.mod h1:3AuPxZc85jkehh/HA9h8gabv5MSi3kb/ddtzBsTVJFo=
github.com/ledgerwatch/log/v3 v3.7.0 h1:aFPEZdwZx4jzA3+/Pf8wNDN5tCI0cIolq/kfvgcM+og=

View File

@ -6,8 +6,7 @@ import (
"time"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
)
// MiningConfig is the configuration parameters of mining.
@ -18,7 +17,7 @@ type MiningConfig struct {
Etherbase libcommon.Address `toml:",omitempty"` // Public address for block mining rewards
SigKey *ecdsa.PrivateKey // ECDSA private key for signing blocks
Notify []string `toml:",omitempty"` // HTTP URL list to be notified of new work packages(only useful in ethash).
ExtraData hexutil.Bytes `toml:",omitempty"` // Block extra data set by the miner
ExtraData hexutility.Bytes `toml:",omitempty"` // Block extra data set by the miner
GasLimit uint64 // Target gas limit for mined blocks.
GasPrice *big.Int // Minimum gas price for mining a transaction
Recommit time.Duration // The time interval for miner to re-create mining work.

View File

@ -27,9 +27,12 @@ import (
"testing"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
@ -94,7 +97,7 @@ type btHeader struct {
}
type btHeaderMarshaling struct {
ExtraData hexutil.Bytes
ExtraData hexutility.Bytes
Number *math.HexOrDecimal256
Difficulty *math.HexOrDecimal256
GasLimit math.HexOrDecimal64

View File

@ -7,8 +7,8 @@ import (
"math/big"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/core/types"
)
@ -29,7 +29,7 @@ func (b btHeader) MarshalJSON() ([]byte, error) {
StateRoot libcommon.Hash
TransactionsTrie libcommon.Hash
UncleHash libcommon.Hash
ExtraData hexutil.Bytes
ExtraData hexutility.Bytes
Difficulty *math.HexOrDecimal256
GasLimit math.HexOrDecimal64
GasUsed math.HexOrDecimal64
@ -71,7 +71,7 @@ func (b *btHeader) UnmarshalJSON(input []byte) error {
StateRoot *libcommon.Hash
TransactionsTrie *libcommon.Hash
UncleHash *libcommon.Hash
ExtraData *hexutil.Bytes
ExtraData *hexutility.Bytes
Difficulty *math.HexOrDecimal256
GasLimit *math.HexOrDecimal64
GasUsed *math.HexOrDecimal64

View File

@ -26,15 +26,16 @@ import (
"strings"
"github.com/holiman/uint256"
"golang.org/x/crypto/sha3"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon-lib/common/length"
"github.com/ledgerwatch/erigon-lib/kv"
types2 "github.com/ledgerwatch/erigon-lib/types"
"golang.org/x/crypto/sha3"
"github.com/ledgerwatch/erigon/common"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/core"
"github.com/ledgerwatch/erigon/core/state"
@ -65,14 +66,14 @@ type stJSON struct {
Env stEnv `json:"env"`
Pre types.GenesisAlloc `json:"pre"`
Tx stTransactionMarshaling `json:"transaction"`
Out hexutil.Bytes `json:"out"`
Out hexutility.Bytes `json:"out"`
Post map[string][]stPostState `json:"post"`
}
type stPostState struct {
Root common.UnprefixedHash `json:"hash"`
Logs common.UnprefixedHash `json:"logs"`
Tx hexutil.Bytes `json:"txbytes"`
Tx hexutility.Bytes `json:"txbytes"`
ExpectException string `json:"expectException"`
Indexes struct {
Data int `json:"data"`
@ -87,7 +88,7 @@ type stTransactionMarshaling struct {
MaxPriorityFeePerGas *math.HexOrDecimal256 `json:"maxPriorityFeePerGas"`
Nonce math.HexOrDecimal64 `json:"nonce"`
GasLimit []math.HexOrDecimal64 `json:"gasLimit"`
PrivateKey hexutil.Bytes `json:"secretKey"`
PrivateKey hexutility.Bytes `json:"secretKey"`
To string `json:"to"`
Data []string `json:"data"`
Value []string `json:"value"`

View File

@ -23,10 +23,11 @@ import (
"math/big"
"github.com/holiman/uint256"
"github.com/ledgerwatch/erigon-lib/chain"
libcommon "github.com/ledgerwatch/erigon-lib/common"
"github.com/ledgerwatch/erigon-lib/common/hexutility"
"github.com/ledgerwatch/erigon/common/hexutil"
"github.com/ledgerwatch/erigon/common/math"
"github.com/ledgerwatch/erigon/core"
"github.com/ledgerwatch/erigon/core/types"
@ -35,8 +36,8 @@ import (
// TransactionTest checks RLP decoding and sender derivation of transactions.
type TransactionTest struct {
RLP hexutil.Bytes `json:"txbytes"`
Forks ttForks `json:"result"`
RLP hexutility.Bytes `json:"txbytes"`
Forks ttForks `json:"result"`
}
type ttForks struct {
@ -60,7 +61,7 @@ type ttFork struct {
}
func (tt *TransactionTest) Run(chainID *big.Int) error {
validateTx := func(rlpData hexutil.Bytes, signer types.Signer, rules *chain.Rules) (*libcommon.Address, *libcommon.Hash, uint64, error) {
validateTx := func(rlpData hexutility.Bytes, signer types.Signer, rules *chain.Rules) (*libcommon.Address, *libcommon.Hash, uint64, error) {
tx, err := types.DecodeTransaction(rlp.NewStream(bytes.NewReader(rlpData), 0))
if err != nil {
return nil, nil, 0, err

View File

@ -45,7 +45,7 @@ type CallArgs struct {
MaxFeePerGas *hexutil.Big `json:"maxFeePerGas"`
Value *hexutil.Big `json:"value"`
Nonce *hexutil.Uint64 `json:"nonce"`
Data *hexutil.Bytes `json:"data"`
Data *hexutility.Bytes `json:"data"`
AccessList *types2.AccessList `json:"accessList"`
ChainID *hexutil.Big `json:"chainId,omitempty"`
}
@ -157,7 +157,7 @@ func (args *CallArgs) ToMessage(globalGasCap uint64, baseFee *uint256.Int) (type
// message.
type Account struct {
Nonce *hexutil.Uint64 `json:"nonce"`
Code *hexutil.Bytes `json:"code"`
Code *hexutility.Bytes `json:"code"`
Balance **hexutil.Big `json:"balance"`
State *map[libcommon.Hash]uint256.Int `json:"state"`
StateDiff *map[libcommon.Hash]uint256.Int `json:"stateDiff"`
@ -267,7 +267,7 @@ func RPCMarshalHeader(head *types.Header) map[string]interface{} {
"stateRoot": head.Root,
"miner": head.Coinbase,
"difficulty": (*hexutil.Big)(head.Difficulty),
"extraData": hexutil.Bytes(head.Extra),
"extraData": hexutility.Bytes(head.Extra),
"size": hexutil.Uint64(head.Size()),
"gasLimit": hexutil.Uint64(head.GasLimit),
"gasUsed": hexutil.Uint64(head.GasUsed),
@ -378,7 +378,7 @@ type RPCTransaction struct {
Tip *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"`
FeeCap *hexutil.Big `json:"maxFeePerGas,omitempty"`
Hash libcommon.Hash `json:"hash"`
Input hexutil.Bytes `json:"input"`
Input hexutility.Bytes `json:"input"`
Nonce hexutil.Uint64 `json:"nonce"`
To *libcommon.Address `json:"to"`
TransactionIndex *hexutil.Uint64 `json:"transactionIndex"`
@ -403,7 +403,7 @@ func newRPCTransaction(tx types.Transaction, blockHash libcommon.Hash, blockNumb
Type: hexutil.Uint64(tx.Type()),
Gas: hexutil.Uint64(tx.GetGas()),
Hash: tx.Hash(),
Input: hexutil.Bytes(tx.GetData()),
Input: hexutility.Bytes(tx.GetData()),
Nonce: hexutil.Uint64(tx.GetNonce()),
To: tx.GetTo(),
Value: (*hexutil.Big)(tx.GetValue().ToBig()),
@ -469,7 +469,7 @@ func newRPCBorTransaction(opaqueTx types.Transaction, txHash libcommon.Hash, blo
GasPrice: (*hexutil.Big)(tx.GasPrice.ToBig()),
Gas: hexutil.Uint64(tx.GetGas()),
Hash: txHash,
Input: hexutil.Bytes(tx.GetData()),
Input: hexutility.Bytes(tx.GetData()),
Nonce: hexutil.Uint64(tx.GetNonce()),
From: libcommon.Address{},
To: tx.GetTo(),