Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
9f4a5287
Unverified
Commit
9f4a5287
authored
Aug 22, 2023
by
Delweng
Committed by
GitHub
Aug 22, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
internal/ethapi: add testcases for blobTx (#27818)
Co-authored-by:
Martin Holst Swende
<
martin@swende.se
>
parent
f56ee7d9
Changes
48
Show whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
956 additions
and
647 deletions
+956
-647
chain_makers.go
core/chain_makers.go
+19
-0
api_test.go
internal/ethapi/api_test.go
+189
-647
eth_getBlockByHash-hash-1.json
internal/ethapi/testdata/eth_getBlockByHash-hash-1.json
+25
-0
eth_getBlockByHash-hash-empty-fullTx.json
...ethapi/testdata/eth_getBlockByHash-hash-empty-fullTx.json
+1
-0
eth_getBlockByHash-hash-genesis.json
...rnal/ethapi/testdata/eth_getBlockByHash-hash-genesis.json
+23
-0
eth_getBlockByHash-hash-latest-1-fullTx.json
...api/testdata/eth_getBlockByHash-hash-latest-1-fullTx.json
+41
-0
eth_getBlockByHash-hash-latest.json
internal/ethapi/testdata/eth_getBlockByHash-hash-latest.json
+25
-0
eth_getBlockByHash-hash-pending-fullTx.json
...hapi/testdata/eth_getBlockByHash-hash-pending-fullTx.json
+1
-0
eth_getBlockByHash-hash-pending.json
...rnal/ethapi/testdata/eth_getBlockByHash-hash-pending.json
+1
-0
eth_getBlockByNumber-number-0.json
internal/ethapi/testdata/eth_getBlockByNumber-number-0.json
+23
-0
eth_getBlockByNumber-number-1.json
internal/ethapi/testdata/eth_getBlockByNumber-number-1.json
+25
-0
eth_getBlockByNumber-number-latest+1.json
...ethapi/testdata/eth_getBlockByNumber-number-latest+1.json
+1
-0
eth_getBlockByNumber-number-latest-1.json
...ethapi/testdata/eth_getBlockByNumber-number-latest-1.json
+41
-0
eth_getBlockByNumber-tag-latest.json
...rnal/ethapi/testdata/eth_getBlockByNumber-tag-latest.json
+25
-0
eth_getBlockByNumber-tag-pending-fullTx.json
...api/testdata/eth_getBlockByNumber-tag-pending-fullTx.json
+50
-0
eth_getBlockByNumber-tag-pending.json
...nal/ethapi/testdata/eth_getBlockByNumber-tag-pending.json
+33
-0
eth_getBlockReceipts-block-notfound.json
.../ethapi/testdata/eth_getBlockReceipts-block-notfound.json
+1
-0
eth_getBlockReceipts-block-with-blob-tx.json
...api/testdata/eth_getBlockReceipts-block-with-blob-tx.json
+20
-0
eth_getBlockReceipts-block-with-contract-create-tx.json
...a/eth_getBlockReceipts-block-with-contract-create-tx.json
+18
-0
eth_getBlockReceipts-block-with-dynamic-fee-tx.json
...tdata/eth_getBlockReceipts-block-with-dynamic-fee-tx.json
+18
-0
eth_getBlockReceipts-block-with-legacy-contract-call-tx.json
..._getBlockReceipts-block-with-legacy-contract-call-tx.json
+34
-0
eth_getBlockReceipts-block-with-legacy-transfer-tx.json
...a/eth_getBlockReceipts-block-with-legacy-transfer-tx.json
+18
-0
eth_getBlockReceipts-hash-empty.json
...rnal/ethapi/testdata/eth_getBlockReceipts-hash-empty.json
+1
-0
eth_getBlockReceipts-hash-notfound.json
...l/ethapi/testdata/eth_getBlockReceipts-hash-notfound.json
+1
-0
eth_getBlockReceipts-number-0.json
internal/ethapi/testdata/eth_getBlockReceipts-number-0.json
+1
-0
eth_getBlockReceipts-number-1.json
internal/ethapi/testdata/eth_getBlockReceipts-number-1.json
+1
-0
eth_getBlockReceipts-tag-earliest.json
...al/ethapi/testdata/eth_getBlockReceipts-tag-earliest.json
+1
-0
eth_getBlockReceipts-tag-latest.json
...rnal/ethapi/testdata/eth_getBlockReceipts-tag-latest.json
+20
-0
eth_getHeaderByHash-hash-0.json
internal/ethapi/testdata/eth_getHeaderByHash-hash-0.json
+20
-0
eth_getHeaderByHash-hash-1.json
internal/ethapi/testdata/eth_getHeaderByHash-hash-1.json
+20
-0
eth_getHeaderByHash-hash-empty.json
internal/ethapi/testdata/eth_getHeaderByHash-hash-empty.json
+1
-0
eth_getHeaderByHash-hash-latest-1.json
...al/ethapi/testdata/eth_getHeaderByHash-hash-latest-1.json
+20
-0
eth_getHeaderByHash-hash-latest.json
...rnal/ethapi/testdata/eth_getHeaderByHash-hash-latest.json
+20
-0
eth_getHeaderByHash-hash-pending.json
...nal/ethapi/testdata/eth_getHeaderByHash-hash-pending.json
+1
-0
eth_getHeaderByNumber-number-0.json
internal/ethapi/testdata/eth_getHeaderByNumber-number-0.json
+20
-0
eth_getHeaderByNumber-number-1.json
internal/ethapi/testdata/eth_getHeaderByNumber-number-1.json
+20
-0
eth_getHeaderByNumber-number-latest+1.json
...thapi/testdata/eth_getHeaderByNumber-number-latest+1.json
+1
-0
eth_getHeaderByNumber-number-latest-1.json
...thapi/testdata/eth_getHeaderByNumber-number-latest-1.json
+20
-0
eth_getHeaderByNumber-tag-latest.json
...nal/ethapi/testdata/eth_getHeaderByNumber-tag-latest.json
+20
-0
eth_getHeaderByNumber-tag-pending.json
...al/ethapi/testdata/eth_getHeaderByNumber-tag-pending.json
+20
-0
eth_getTransactionReceipt-blob-tx.json
...al/ethapi/testdata/eth_getTransactionReceipt-blob-tx.json
+18
-0
eth_getTransactionReceipt-create-contract-tx.json
...estdata/eth_getTransactionReceipt-create-contract-tx.json
+16
-0
eth_getTransactionReceipt-create-contract-with-access-list.json
...tTransactionReceipt-create-contract-with-access-list.json
+16
-0
eth_getTransactionReceipt-dynamic-tx-with-logs.json
...tdata/eth_getTransactionReceipt-dynamic-tx-with-logs.json
+16
-0
eth_getTransactionReceipt-normal-transfer-tx.json
...estdata/eth_getTransactionReceipt-normal-transfer-tx.json
+16
-0
eth_getTransactionReceipt-txhash-empty.json
...hapi/testdata/eth_getTransactionReceipt-txhash-empty.json
+1
-0
eth_getTransactionReceipt-txhash-notfound.json
...i/testdata/eth_getTransactionReceipt-txhash-notfound.json
+1
-0
eth_getTransactionReceipt-with-logs.json
.../ethapi/testdata/eth_getTransactionReceipt-with-logs.json
+32
-0
No files found.
core/chain_makers.go
View file @
9f4a5287
...
...
@@ -24,6 +24,7 @@ import (
"github.com/ethereum/go-ethereum/consensus"
"github.com/ethereum/go-ethereum/consensus/misc"
"github.com/ethereum/go-ethereum/consensus/misc/eip1559"
"github.com/ethereum/go-ethereum/consensus/misc/eip4844"
"github.com/ethereum/go-ethereum/core/rawdb"
"github.com/ethereum/go-ethereum/core/state"
"github.com/ethereum/go-ethereum/core/types"
...
...
@@ -87,6 +88,11 @@ func (b *BlockGen) SetPoS() {
b
.
header
.
Difficulty
=
new
(
big
.
Int
)
}
// SetBlobGas sets the data gas used by the blob in the generated block.
func
(
b
*
BlockGen
)
SetBlobGas
(
blobGasUsed
uint64
)
{
b
.
header
.
BlobGasUsed
=
&
blobGasUsed
}
// addTx adds a transaction to the generated block. If no coinbase has
// been set, the block's coinbase is set to the zero address.
//
...
...
@@ -393,6 +399,19 @@ func makeHeader(chain consensus.ChainReader, parent *types.Block, state *state.S
header
.
GasLimit
=
CalcGasLimit
(
parentGasLimit
,
parentGasLimit
)
}
}
if
chain
.
Config
()
.
IsCancun
(
header
.
Number
,
header
.
Time
)
{
var
(
parentExcessBlobGas
uint64
parentBlobGasUsed
uint64
)
if
parent
.
ExcessBlobGas
()
!=
nil
{
parentExcessBlobGas
=
*
parent
.
ExcessBlobGas
()
parentBlobGasUsed
=
*
parent
.
BlobGasUsed
()
}
excessBlobGas
:=
eip4844
.
CalcExcessBlobGas
(
parentExcessBlobGas
,
parentBlobGasUsed
)
header
.
ExcessBlobGas
=
&
excessBlobGas
header
.
BlobGasUsed
=
new
(
uint64
)
}
return
header
}
...
...
internal/ethapi/api_test.go
View file @
9f4a5287
...
...
@@ -23,6 +23,8 @@ import (
"errors"
"fmt"
"math/big"
"os"
"path/filepath"
"reflect"
"testing"
"time"
...
...
@@ -32,6 +34,7 @@ import (
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/consensus"
"github.com/ethereum/go-ethereum/consensus/beacon"
"github.com/ethereum/go-ethereum/consensus/ethash"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/bloombits"
...
...
@@ -45,19 +48,18 @@ import (
"github.com/ethereum/go-ethereum/internal/blocktest"
"github.com/ethereum/go-ethereum/params"
"github.com/ethereum/go-ethereum/rpc"
"github.com/
stretchr/testify/assert
"
"github.com/
holiman/uint256
"
"github.com/stretchr/testify/require"
"golang.org/x/exp/slices"
)
func
TestTransaction_RoundTripRpcJSON
(
t
*
testing
.
T
)
{
func
testTransactionMarshal
(
t
*
testing
.
T
,
tests
[]
txData
,
config
*
params
.
ChainConfig
)
{
t
.
Parallel
()
var
(
config
=
params
.
AllEthashProtocolChanges
signer
=
types
.
LatestSigner
(
config
)
key
,
_
=
crypto
.
HexToECDSA
(
"b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291"
)
tests
=
allTransactionTypes
(
common
.
Address
{
0xde
,
0xad
},
config
)
)
t
.
Parallel
()
for
i
,
tt
:=
range
tests
{
var
tx2
types
.
Transaction
tx
,
err
:=
types
.
SignNewTx
(
key
,
signer
,
tt
.
Tx
)
...
...
@@ -88,6 +90,23 @@ func TestTransaction_RoundTripRpcJSON(t *testing.T) {
}
}
func
TestTransaction_RoundTripRpcJSON
(
t
*
testing
.
T
)
{
var
(
config
=
params
.
AllEthashProtocolChanges
tests
=
allTransactionTypes
(
common
.
Address
{
0xde
,
0xad
},
config
)
)
testTransactionMarshal
(
t
,
tests
,
config
)
}
func
TestTransactionBlobTx
(
t
*
testing
.
T
)
{
config
:=
*
params
.
TestChainConfig
config
.
ShanghaiTime
=
new
(
uint64
)
config
.
CancunTime
=
new
(
uint64
)
tests
:=
allBlobTxs
(
common
.
Address
{
0xde
,
0xad
},
&
config
)
testTransactionMarshal
(
t
,
tests
,
&
config
)
}
type
txData
struct
{
Tx
types
.
TxData
Want
string
...
...
@@ -338,15 +357,60 @@ func allTransactionTypes(addr common.Address, config *params.ChainConfig) []txDa
}
}
func
allBlobTxs
(
addr
common
.
Address
,
config
*
params
.
ChainConfig
)
[]
txData
{
return
[]
txData
{
{
Tx
:
&
types
.
BlobTx
{
Nonce
:
6
,
GasTipCap
:
uint256
.
NewInt
(
1
),
GasFeeCap
:
uint256
.
NewInt
(
5
),
Gas
:
6
,
To
:
addr
,
BlobFeeCap
:
uint256
.
NewInt
(
1
),
BlobHashes
:
[]
common
.
Hash
{{
1
}},
Value
:
new
(
uint256
.
Int
),
V
:
uint256
.
NewInt
(
32
),
R
:
uint256
.
NewInt
(
10
),
S
:
uint256
.
NewInt
(
11
),
},
Want
:
`{
"blockHash": null,
"blockNumber": null,
"from": "0x71562b71999873db5b286df957af199ec94617f7",
"gas": "0x6",
"gasPrice": "0x5",
"maxFeePerGas": "0x5",
"maxPriorityFeePerGas": "0x1",
"maxFeePerBlobGas": "0x1",
"hash": "0x1f2b59a20e61efc615ad0cbe936379d6bbea6f938aafaf35eb1da05d8e7f46a3",
"input": "0x",
"nonce": "0x6",
"to": "0xdead000000000000000000000000000000000000",
"transactionIndex": null,
"value": "0x0",
"type": "0x3",
"accessList": [],
"chainId": "0x1",
"blobVersionedHashes": [
"0x0100000000000000000000000000000000000000000000000000000000000000"
],
"v": "0x0",
"r": "0x618be8908e0e5320f8f3b48042a079fe5a335ebd4ed1422a7d2207cd45d872bc",
"s": "0x27b2bc6c80e849a8e8b764d4549d8c2efac3441e73cf37054eb0a9b9f8e89b27",
"yParity": "0x0"
}`
,
},
}
}
type
testBackend
struct
{
db
ethdb
.
Database
chain
*
core
.
BlockChain
pending
*
types
.
Block
}
func
newTestBackend
(
t
*
testing
.
T
,
n
int
,
gspec
*
core
.
Genesis
,
generator
func
(
i
int
,
b
*
core
.
BlockGen
))
*
testBackend
{
func
newTestBackend
(
t
*
testing
.
T
,
n
int
,
gspec
*
core
.
Genesis
,
engine
consensus
.
Engine
,
generator
func
(
i
int
,
b
*
core
.
BlockGen
))
*
testBackend
{
var
(
engine
=
ethash
.
NewFaker
()
cacheConfig
=
&
core
.
CacheConfig
{
TrieCleanLimit
:
256
,
TrieDirtyLimit
:
256
,
...
...
@@ -550,7 +614,7 @@ func TestEstimateGas(t *testing.T) {
signer
=
types
.
HomesteadSigner
{}
randomAccounts
=
newAccounts
(
2
)
)
api
:=
NewBlockChainAPI
(
newTestBackend
(
t
,
genBlocks
,
genesis
,
func
(
i
int
,
b
*
core
.
BlockGen
)
{
api
:=
NewBlockChainAPI
(
newTestBackend
(
t
,
genBlocks
,
genesis
,
ethash
.
NewFaker
(),
func
(
i
int
,
b
*
core
.
BlockGen
)
{
// Transfer from account[0] to account[1]
// value: 1000 wei
// fee: 0 wei
...
...
@@ -653,7 +717,7 @@ func TestCall(t *testing.T) {
genBlocks
=
10
signer
=
types
.
HomesteadSigner
{}
)
api
:=
NewBlockChainAPI
(
newTestBackend
(
t
,
genBlocks
,
genesis
,
func
(
i
int
,
b
*
core
.
BlockGen
)
{
api
:=
NewBlockChainAPI
(
newTestBackend
(
t
,
genBlocks
,
genesis
,
ethash
.
NewFaker
(),
func
(
i
int
,
b
*
core
.
BlockGen
)
{
// Transfer from account[0] to account[1]
// value: 1000 wei
// fee: 0 wei
...
...
@@ -1036,7 +1100,7 @@ func TestRPCMarshalBlock(t *testing.T) {
t
.
Errorf
(
"test %d: json marshal error: %v"
,
i
,
err
)
continue
}
assert
.
JSONEqf
(
t
,
tc
.
want
,
string
(
out
),
"test %d"
,
i
)
require
.
JSONEqf
(
t
,
tc
.
want
,
string
(
out
),
"test %d"
,
i
)
}
}
...
...
@@ -1074,7 +1138,7 @@ func TestRPCGetBlockOrHeader(t *testing.T) {
}
pending
=
types
.
NewBlockWithWithdrawals
(
&
types
.
Header
{
Number
:
big
.
NewInt
(
11
),
Time
:
42
},
[]
*
types
.
Transaction
{
tx
},
nil
,
nil
,
[]
*
types
.
Withdrawal
{
withdrawal
},
blocktest
.
NewHasher
())
)
backend
:=
newTestBackend
(
t
,
genBlocks
,
genesis
,
func
(
i
int
,
b
*
core
.
BlockGen
)
{
backend
:=
newTestBackend
(
t
,
genBlocks
,
genesis
,
ethash
.
NewFaker
(),
func
(
i
int
,
b
*
core
.
BlockGen
)
{
// Transfer from account[0] to account[1]
// value: 1000 wei
// fee: 0 wei
...
...
@@ -1099,628 +1163,156 @@ func TestRPCGetBlockOrHeader(t *testing.T) {
blockHash
*
common
.
Hash
fullTx
bool
reqHeader
bool
want
string
file
string
expectErr
error
}{
// 0. latest header
{
blockNumber
:
rpc
.
LatestBlockNumber
,
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0xfdc7303",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0xa",
"parentHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91",
"timestamp": "0x64",
"totalDifficulty": "0x1",
"transactionsRoot": "0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
}`
,
file
:
"tag-latest"
,
},
// 1. genesis header
{
blockNumber
:
rpc
.
BlockNumber
(
0
),
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x3b9aca00",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x0",
"hash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2",
"timestamp": "0x0",
"totalDifficulty": "0x1",
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
}`
,
file
:
"number-0"
,
},
// 2. #1 header
{
blockNumber
:
rpc
.
BlockNumber
(
1
),
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x342770c0",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x1",
"parentHash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22",
"timestamp": "0xa",
"totalDifficulty": "0x1",
"transactionsRoot": "0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
}`
,
file
:
"number-1"
,
},
// 3. latest-1 header
{
blockNumber
:
rpc
.
BlockNumber
(
9
),
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x121a9cca",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x9",
"parentHash": "0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0",
"timestamp": "0x5a",
"totalDifficulty": "0x1",
"transactionsRoot": "0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
}`
,
file
:
"number-latest-1"
,
},
// 4. latest+1 header
{
blockNumber
:
rpc
.
BlockNumber
(
11
),
reqHeader
:
true
,
want
:
"null
"
,
file
:
"number-latest+1
"
,
},
// 5. pending header
{
blockNumber
:
rpc
.
PendingBlockNumber
,
reqHeader
:
true
,
want
:
`{
"difficulty": "0x0",
"extraData": "0x",
"gasLimit": "0x0",
"gasUsed": "0x0",
"hash": null,
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": null,
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": null,
"number": "0xb",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x2a",
"totalDifficulty": null,
"transactionsRoot": "0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37",
"withdrawalsRoot": "0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84"
}`
,
file
:
"tag-pending"
,
},
// 6. latest block
{
blockNumber
:
rpc
.
LatestBlockNumber
,
want
:
`{
"baseFeePerGas": "0xfdc7303",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0xa",
"parentHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91",
"timestamp": "0x64",
"totalDifficulty": "0x1",
"transactions": [
"0x3ee4094ca1e0b07a66dd616a057e081e53144ca7e9685a126fd4dda9ca042644"
],
"transactionsRoot": "0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445",
"uncles": []
}`
,
file
:
"tag-latest"
,
},
// 7. genesis block
{
blockNumber
:
rpc
.
BlockNumber
(
0
),
want
:
`{
"baseFeePerGas": "0x3b9aca00",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x0",
"hash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x200",
"stateRoot": "0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2",
"timestamp": "0x0",
"totalDifficulty": "0x1",
"transactions": [],
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncles": []
}`
,
file
:
"number-0"
,
},
// 8. #1 block
{
blockNumber
:
rpc
.
BlockNumber
(
1
),
want
:
`{
"baseFeePerGas": "0x342770c0",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x1",
"parentHash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22",
"timestamp": "0xa",
"totalDifficulty": "0x1",
"transactions": [
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
],
"transactionsRoot": "0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7",
"uncles": []
}`
,
file
:
"number-1"
,
},
// 9. latest-1 block
{
blockNumber
:
rpc
.
BlockNumber
(
9
),
fullTx
:
true
,
want
:
`{
"baseFeePerGas": "0x121a9cca",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x9",
"parentHash": "0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0",
"timestamp": "0x5a",
"totalDifficulty": "0x1",
"transactions": [
{
"blockHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"blockNumber": "0x9",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gas": "0x5208",
"gasPrice": "0x121a9cca",
"hash": "0xecd155a61a5734b3efab75924e3ae34026c7c4133d8c2a46122bd03d7d199725",
"input": "0x",
"nonce": "0x8",
"to": "0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e",
"transactionIndex": "0x0",
"value": "0x3e8",
"type": "0x0",
"v": "0x1b",
"r": "0xc6028b8e983d62fa8542f8a7633fb23cc941be2c897134352d95a7d9b19feafd",
"s": "0xeb6adcaaae3bed489c6cce4435f9db05d23a52820c78bd350e31eec65ed809d"
}
],
"transactionsRoot": "0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5",
"uncles": []
}`
,
file
:
"number-latest-1"
,
},
// 10. latest+1 block
{
blockNumber
:
rpc
.
BlockNumber
(
11
),
fullTx
:
true
,
want
:
"null
"
,
file
:
"number-latest+1
"
,
},
// 11. pending block
{
blockNumber
:
rpc
.
PendingBlockNumber
,
want
:
`{
"difficulty": "0x0",
"extraData": "0x",
"gasLimit": "0x0",
"gasUsed": "0x0",
"hash": null,
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": null,
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": null,
"number": "0xb",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x256",
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x2a",
"totalDifficulty": null,
"transactions": [
"0x4afee081df5dff7a025964032871f7d4ba4d21baf5f6376a2f4a9f79fc506298"
],
"transactionsRoot": "0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37",
"withdrawals": [
{
"index": "0x0",
"validatorIndex": "0x1",
"address": "0x1234000000000000000000000000000000000000",
"amount": "0xa"
}
],
"withdrawalsRoot": "0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84",
"uncles": []
}`
,
file
:
"tag-pending"
,
},
// 12. pending block + fullTx
{
blockNumber
:
rpc
.
PendingBlockNumber
,
fullTx
:
true
,
want
:
`{
"difficulty": "0x0",
"extraData": "0x",
"gasLimit": "0x0",
"gasUsed": "0x0",
"hash": null,
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": null,
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": null,
"number": "0xb",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x256",
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x2a",
"totalDifficulty": null,
"transactions": [
{
"blockHash": "0x6cebd9f966ea686f44b981685e3f0eacea28591a7a86d7fbbe521a86e9f81165",
"blockNumber": "0xb",
"from": "0x0000000000000000000000000000000000000000",
"gas": "0x457",
"gasPrice": "0x2b67",
"hash": "0x4afee081df5dff7a025964032871f7d4ba4d21baf5f6376a2f4a9f79fc506298",
"input": "0x111111",
"nonce": "0xb",
"to": "0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e",
"transactionIndex": "0x0",
"value": "0x6f",
"type": "0x0",
"chainId": "0x7fffffffffffffee",
"v": "0x0",
"r": "0x0",
"s": "0x0"
}
],
"transactionsRoot": "0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37",
"uncles": [],
"withdrawals": [
{
"index": "0x0",
"validatorIndex": "0x1",
"address": "0x1234000000000000000000000000000000000000",
"amount": "0xa"
}
],
"withdrawalsRoot": "0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84"
}`
,
file
:
"tag-pending-fullTx"
,
},
// 13. latest header by hash
{
blockHash
:
&
blockHashes
[
len
(
blockHashes
)
-
1
],
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0xfdc7303",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0xa",
"parentHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91",
"timestamp": "0x64",
"totalDifficulty": "0x1",
"transactionsRoot": "0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
}`
,
file
:
"hash-latest"
,
},
// 14. genesis header by hash
{
blockHash
:
&
blockHashes
[
0
],
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x3b9aca00",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x0",
"hash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2",
"timestamp": "0x0",
"totalDifficulty": "0x1",
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
}`
,
file
:
"hash-0"
,
},
// 15. #1 header
{
blockHash
:
&
blockHashes
[
1
],
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x342770c0",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x1",
"parentHash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22",
"timestamp": "0xa",
"totalDifficulty": "0x1",
"transactionsRoot": "0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
}`
,
file
:
"hash-1"
,
},
// 16. latest-1 header
{
blockHash
:
&
blockHashes
[
len
(
blockHashes
)
-
2
],
reqHeader
:
true
,
want
:
`{
"baseFeePerGas": "0x121a9cca",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x9",
"parentHash": "0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"stateRoot": "0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0",
"timestamp": "0x5a",
"totalDifficulty": "0x1",
"transactionsRoot": "0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
}`
,
file
:
"hash-latest-1"
,
},
// 17. empty hash
{
blockHash
:
&
common
.
Hash
{},
reqHeader
:
true
,
want
:
"null
"
,
file
:
"hash-empty
"
,
},
// 18. pending hash
{
blockHash
:
&
pendingHash
,
reqHeader
:
true
,
want
:
`null
`
,
file
:
`hash-pending
`
,
},
// 19. latest block
{
blockHash
:
&
blockHashes
[
len
(
blockHashes
)
-
1
],
want
:
`{
"baseFeePerGas": "0xfdc7303",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0xa",
"parentHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91",
"timestamp": "0x64",
"totalDifficulty": "0x1",
"transactions": [
"0x3ee4094ca1e0b07a66dd616a057e081e53144ca7e9685a126fd4dda9ca042644"
],
"transactionsRoot": "0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445",
"uncles": []
}`
,
file
:
"hash-latest"
,
},
// 20. genesis block
{
blockHash
:
&
blockHashes
[
0
],
want
:
`{
"baseFeePerGas": "0x3b9aca00",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x0",
"hash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x200",
"stateRoot": "0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2",
"timestamp": "0x0",
"totalDifficulty": "0x1",
"transactions": [],
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncles": []
}`
,
file
:
"hash-genesis"
,
},
// 21. #1 block
{
blockHash
:
&
blockHashes
[
1
],
want
:
`{
"baseFeePerGas": "0x342770c0",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x1",
"parentHash": "0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22",
"timestamp": "0xa",
"totalDifficulty": "0x1",
"transactions": [
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
],
"transactionsRoot": "0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7",
"uncles": []
}`
,
file
:
"hash-1"
,
},
// 22. latest-1 block
{
blockHash
:
&
blockHashes
[
len
(
blockHashes
)
-
2
],
fullTx
:
true
,
want
:
`{
"baseFeePerGas": "0x121a9cca",
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x47e7c4",
"gasUsed": "0x5208",
"hash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x9",
"parentHash": "0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7",
"receiptsRoot": "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x26a",
"stateRoot": "0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0",
"timestamp": "0x5a",
"totalDifficulty": "0x1",
"transactions": [
{
"blockHash": "0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e",
"blockNumber": "0x9",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gas": "0x5208",
"gasPrice": "0x121a9cca",
"hash": "0xecd155a61a5734b3efab75924e3ae34026c7c4133d8c2a46122bd03d7d199725",
"input": "0x",
"nonce": "0x8",
"to": "0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e",
"transactionIndex": "0x0",
"value": "0x3e8",
"type": "0x0",
"v": "0x1b",
"r": "0xc6028b8e983d62fa8542f8a7633fb23cc941be2c897134352d95a7d9b19feafd",
"s": "0xeb6adcaaae3bed489c6cce4435f9db05d23a52820c78bd350e31eec65ed809d"
}
],
"transactionsRoot": "0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5",
"uncles": []
}`
,
file
:
"hash-latest-1-fullTx"
,
},
// 23. empty hash + body
{
blockHash
:
&
common
.
Hash
{},
fullTx
:
true
,
want
:
"null
"
,
file
:
"hash-empty-fullTx
"
,
},
// 24. pending block
{
blockHash
:
&
pendingHash
,
want
:
`null
`
,
file
:
`hash-pending
`
,
},
// 25. pending block + fullTx
{
blockHash
:
&
pendingHash
,
fullTx
:
true
,
want
:
`null`
,
file
:
"hash-pending-fullTx"
,
},
}
...
...
@@ -1728,18 +1320,23 @@ func TestRPCGetBlockOrHeader(t *testing.T) {
var
(
result
map
[
string
]
interface
{}
err
error
rpc
string
)
if
tt
.
blockHash
!=
nil
{
if
tt
.
reqHeader
{
result
=
api
.
GetHeaderByHash
(
context
.
Background
(),
*
tt
.
blockHash
)
rpc
=
"eth_getHeaderByHash"
}
else
{
result
,
err
=
api
.
GetBlockByHash
(
context
.
Background
(),
*
tt
.
blockHash
,
tt
.
fullTx
)
rpc
=
"eth_getBlockByHash"
}
}
else
{
if
tt
.
reqHeader
{
result
,
err
=
api
.
GetHeaderByNumber
(
context
.
Background
(),
tt
.
blockNumber
)
rpc
=
"eth_getHeaderByNumber"
}
else
{
result
,
err
=
api
.
GetBlockByNumber
(
context
.
Background
(),
tt
.
blockNumber
,
tt
.
fullTx
)
rpc
=
"eth_getBlockByNumber"
}
}
if
tt
.
expectErr
!=
nil
{
...
...
@@ -1756,18 +1353,15 @@ func TestRPCGetBlockOrHeader(t *testing.T) {
t
.
Errorf
(
"test %d: want no error, have %v"
,
i
,
err
)
continue
}
data
,
err
:=
json
.
Marshal
(
result
)
if
err
!=
nil
{
t
.
Errorf
(
"test %d: json marshal error"
,
i
)
continue
}
want
,
have
:=
tt
.
want
,
string
(
data
)
require
.
JSONEqf
(
t
,
want
,
have
,
"test %d: json not match, want: %s, have: %s"
,
i
,
want
,
have
)
testRPCResponseWithFile
(
t
,
i
,
result
,
rpc
,
tt
.
file
)
}
}
func
setupReceiptBackend
(
t
*
testing
.
T
,
genBlocks
int
)
(
*
testBackend
,
[]
common
.
Hash
)
{
// Initialize test accounts
config
:=
*
params
.
TestChainConfig
config
.
ShanghaiTime
=
new
(
uint64
)
config
.
CancunTime
=
new
(
uint64
)
var
(
acc1Key
,
_
=
crypto
.
HexToECDSA
(
"8a1f9a8f95be41cd7ccb6168179afb4504aefe388d1e14474d32c45c72ce7b7a"
)
acc2Key
,
_
=
crypto
.
HexToECDSA
(
"49a7b37aa6f6645917e7b807e9d1c00d4fa71f18343b0d4122a4d2df64dd6fee"
)
...
...
@@ -1775,7 +1369,9 @@ func setupReceiptBackend(t *testing.T, genBlocks int) (*testBackend, []common.Ha
acc2Addr
=
crypto
.
PubkeyToAddress
(
acc2Key
.
PublicKey
)
contract
=
common
.
HexToAddress
(
"0000000000000000000000000000000000031ec7"
)
genesis
=
&
core
.
Genesis
{
Config
:
params
.
TestChainConfig
,
Config
:
&
config
,
ExcessBlobGas
:
new
(
uint64
),
BlobGasUsed
:
new
(
uint64
),
Alloc
:
core
.
GenesisAlloc
{
acc1Addr
:
{
Balance
:
big
.
NewInt
(
params
.
Ether
)},
acc2Addr
:
{
Balance
:
big
.
NewInt
(
params
.
Ether
)},
...
...
@@ -1795,7 +1391,11 @@ func setupReceiptBackend(t *testing.T, genBlocks int) (*testBackend, []common.Ha
signer
=
types
.
LatestSignerForChainID
(
params
.
TestChainConfig
.
ChainID
)
txHashes
=
make
([]
common
.
Hash
,
genBlocks
)
)
backend
:=
newTestBackend
(
t
,
genBlocks
,
genesis
,
func
(
i
int
,
b
*
core
.
BlockGen
)
{
// Set the terminal total difficulty in the config
genesis
.
Config
.
TerminalTotalDifficulty
=
big
.
NewInt
(
0
)
genesis
.
Config
.
TerminalTotalDifficultyPassed
=
true
backend
:=
newTestBackend
(
t
,
genBlocks
,
genesis
,
beacon
.
New
(
ethash
.
NewFaker
()),
func
(
i
int
,
b
*
core
.
BlockGen
)
{
var
(
tx
*
types
.
Transaction
err
error
...
...
@@ -1826,6 +1426,20 @@ func setupReceiptBackend(t *testing.T, genBlocks int) (*testBackend, []common.Ha
StorageKeys
:
[]
common
.
Hash
{{
0
}},
}}
tx
,
err
=
types
.
SignTx
(
types
.
NewTx
(
&
types
.
AccessListTx
{
Nonce
:
uint64
(
i
),
To
:
nil
,
Gas
:
58100
,
GasPrice
:
b
.
BaseFee
(),
Data
:
common
.
FromHex
(
"0x60806040"
),
AccessList
:
accessList
}),
signer
,
acc1Key
)
case
5
:
// blob tx
fee
:=
big
.
NewInt
(
500
)
fee
.
Add
(
fee
,
b
.
BaseFee
())
tx
,
err
=
types
.
SignTx
(
types
.
NewTx
(
&
types
.
BlobTx
{
Nonce
:
uint64
(
i
),
GasTipCap
:
uint256
.
NewInt
(
1
),
GasFeeCap
:
uint256
.
MustFromBig
(
fee
),
Gas
:
params
.
TxGas
,
To
:
acc2Addr
,
BlobFeeCap
:
uint256
.
NewInt
(
1
),
BlobHashes
:
[]
common
.
Hash
{{
1
}},
Value
:
new
(
uint256
.
Int
),
}),
signer
,
acc1Key
)
}
if
err
!=
nil
{
t
.
Errorf
(
"failed to sign tx: %v"
,
err
)
...
...
@@ -1834,6 +1448,10 @@ func setupReceiptBackend(t *testing.T, genBlocks int) (*testBackend, []common.Ha
b
.
AddTx
(
tx
)
txHashes
[
i
]
=
tx
.
Hash
()
}
if
i
==
5
{
b
.
SetBlobGas
(
params
.
BlobTxBlobGasPerBlob
)
}
b
.
SetPoS
()
})
return
backend
,
txHashes
}
...
...
@@ -1842,139 +1460,53 @@ func TestRPCGetTransactionReceipt(t *testing.T) {
t
.
Parallel
()
var
(
backend
,
txHashes
=
setupReceiptBackend
(
t
,
5
)
backend
,
txHashes
=
setupReceiptBackend
(
t
,
6
)
api
=
NewTransactionAPI
(
backend
,
new
(
AddrLocker
))
)
var
testSuite
=
[]
struct
{
txHash
common
.
Hash
want
string
file
string
}{
// 0. normal success
{
txHash
:
txHashes
[
0
],
want
:
`{
"blockHash": "0x1356e49a24d4504e450b303aa770f4ae13c29b9ffacaea1d7dd4043396229dd9",
"blockNumber": "0x1",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
"effectiveGasPrice": "0x342770c0",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gasUsed": "0x5208",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x1",
"to": "0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e",
"transactionHash": "0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e",
"transactionIndex": "0x0",
"type": "0x0"
}`
,
file
:
"normal-transfer-tx"
,
},
// 1. create contract
{
txHash
:
txHashes
[
1
],
want
:
`{
"blockHash": "0x4fc27a4efa7fb8faa04b12b53ec8c8424ab4c21aab1323846365f000e8b4a594",
"blockNumber": "0x2",
"contractAddress": "0xae9bea628c4ce503dcfd7e305cab4e29e7476592",
"cumulativeGasUsed": "0xcf4e",
"effectiveGasPrice": "0x2db16291",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gasUsed": "0xcf4e",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x1",
"to": null,
"transactionHash": "0x340e58cda5086495010b571fe25067fecc9954dc4ee3cedece00691fa3f5904a",
"transactionIndex": "0x0",
"type": "0x0"
}`
,
file
:
"create-contract-tx"
,
},
// 2. with logs success
{
txHash
:
txHashes
[
2
],
want
:
`{
"blockHash": "0x73385c190219326907524b0020ef453ebc450eaa971ebce16f79e2d23e7e8d4d",
"blockNumber": "0x3",
"contractAddress": null,
"cumulativeGasUsed": "0x5e28",
"effectiveGasPrice": "0x281c2534",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gasUsed": "0x5e28",
"logs": [
{
"address": "0x0000000000000000000000000000000000031ec7",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000703c4b2bd70c169f5717101caee543299fc946c7",
"0x0000000000000000000000000000000000000000000000000000000000000003"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000000d",
"blockNumber": "0x3",
"transactionHash": "0x9dbf43ec9afc8d711932618616471088f66ba4f25fd5c672d97473d02dae967f",
"transactionIndex": "0x0",
"blockHash": "0x73385c190219326907524b0020ef453ebc450eaa971ebce16f79e2d23e7e8d4d",
"logIndex": "0x0",
"removed": false
}
],
"logsBloom": "0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000800000000000000008000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000400000000002000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000",
"status": "0x1",
"to": "0x0000000000000000000000000000000000031ec7",
"transactionHash": "0x9dbf43ec9afc8d711932618616471088f66ba4f25fd5c672d97473d02dae967f",
"transactionIndex": "0x0",
"type": "0x0"
}`
,
file
:
"with-logs"
,
},
// 3. dynamic tx with logs success
{
txHash
:
txHashes
[
3
],
want
:
`{
"blockHash": "0x77c3f8919590e0e68db4ce74a3da3140ac3e96dd3d078a48db1da4c08b07503d",
"blockNumber": "0x4",
"contractAddress": null,
"cumulativeGasUsed": "0x538d",
"effectiveGasPrice": "0x2325c3e8",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gasUsed": "0x538d",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x0",
"to": "0x0000000000000000000000000000000000031ec7",
"transactionHash": "0x672e3e39adf23b5656989b7a36e54d54004b1866f53871113bc52e137edb9faf",
"transactionIndex": "0x0",
"type": "0x2"
}`
,
file
:
`dynamic-tx-with-logs`
,
},
// 4. access list tx with create contract
{
txHash
:
txHashes
[
4
],
want
:
`{
"blockHash": "0x08e23d8e3711a21fbb8becd7de22fda8fb0a49fba14e1be763d00f99063627e1",
"blockNumber": "0x5",
"contractAddress": "0xfdaa97661a584d977b4d3abb5370766ff5b86a18",
"cumulativeGasUsed": "0xe01a",
"effectiveGasPrice": "0x1ecb3f75",
"from": "0x703c4b2bd70c169f5717101caee543299fc946c7",
"gasUsed": "0xe01a",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x1",
"to": null,
"transactionHash": "0x8f3c4e2663af0312d508ebd8587f0c88dccbbc8a9bcc322421ff4bc28c456a92",
"transactionIndex": "0x0",
"type": "0x1"
}`
,
file
:
"create-contract-with-access-list"
,
},
// 5. txhash empty
{
txHash
:
common
.
Hash
{},
want
:
`null`
,
file
:
"txhash-empty"
,
},
// 6. txhash not found
{
txHash
:
common
.
HexToHash
(
"deadbeef"
),
want
:
`null`
,
file
:
"txhash-notfound"
,
},
// 7. blob tx
{
txHash
:
txHashes
[
5
],
file
:
"blob-tx"
,
},
}
...
...
@@ -1988,13 +1520,7 @@ func TestRPCGetTransactionReceipt(t *testing.T) {
t
.
Errorf
(
"test %d: want no error, have %v"
,
i
,
err
)
continue
}
data
,
err
:=
json
.
Marshal
(
result
)
if
err
!=
nil
{
t
.
Errorf
(
"test %d: json marshal error"
,
i
)
continue
}
want
,
have
:=
tt
.
want
,
string
(
data
)
require
.
JSONEqf
(
t
,
want
,
have
,
"test %d: json not match, want: %s, have: %s"
,
i
,
want
,
have
)
testRPCResponseWithFile
(
t
,
i
,
result
,
"eth_getTransactionReceipt"
,
tt
.
file
)
}
}
...
...
@@ -2002,7 +1528,7 @@ func TestRPCGetBlockReceipts(t *testing.T) {
t
.
Parallel
()
var
(
genBlocks
=
5
genBlocks
=
6
backend
,
_
=
setupReceiptBackend
(
t
,
genBlocks
)
api
=
NewBlockChainAPI
(
backend
)
)
...
...
@@ -2018,62 +1544,67 @@ func TestRPCGetBlockReceipts(t *testing.T) {
var
testSuite
=
[]
struct
{
test
rpc
.
BlockNumberOrHash
want
string
file
string
}{
// 0. block without any txs(hash)
{
test
:
rpc
.
BlockNumberOrHashWithHash
(
blockHashes
[
0
],
false
),
want
:
`[]`
,
file
:
"number-0"
,
},
// 1. block without any txs(number)
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
0
),
want
:
`[]`
,
file
:
"number-1"
,
},
// 2. earliest tag
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
EarliestBlockNumber
),
want
:
`[]`
,
file
:
"tag-earliest"
,
},
// 3. latest tag
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
LatestBlockNumber
),
want
:
`[{"blockHash":"0x08e23d8e3711a21fbb8becd7de22fda8fb0a49fba14e1be763d00f99063627e1","blockNumber":"0x5","contractAddress":"0xfdaa97661a584d977b4d3abb5370766ff5b86a18","cumulativeGasUsed":"0xe01a","effectiveGasPrice":"0x1ecb3f75","from":"0x703c4b2bd70c169f5717101caee543299fc946c7","gasUsed":"0xe01a","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x8f3c4e2663af0312d508ebd8587f0c88dccbbc8a9bcc322421ff4bc28c456a92","transactionIndex":"0x0","type":"0x1"}]`
,
file
:
"tag-latest"
,
},
// 4. block with legacy transfer tx(hash)
{
test
:
rpc
.
BlockNumberOrHashWithHash
(
blockHashes
[
1
],
false
),
want
:
`[{"blockHash":"0x1356e49a24d4504e450b303aa770f4ae13c29b9ffacaea1d7dd4043396229dd9","blockNumber":"0x1","contractAddress":null,"cumulativeGasUsed":"0x5208","effectiveGasPrice":"0x342770c0","from":"0x703c4b2bd70c169f5717101caee543299fc946c7","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e","transactionHash":"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e","transactionIndex":"0x0","type":"0x0"}]`
,
file
:
"block-with-legacy-transfer-tx"
,
},
// 5. block with contract create tx(number)
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
BlockNumber
(
2
)),
want
:
`[{"blockHash":"0x4fc27a4efa7fb8faa04b12b53ec8c8424ab4c21aab1323846365f000e8b4a594","blockNumber":"0x2","contractAddress":"0xae9bea628c4ce503dcfd7e305cab4e29e7476592","cumulativeGasUsed":"0xcf4e","effectiveGasPrice":"0x2db16291","from":"0x703c4b2bd70c169f5717101caee543299fc946c7","gasUsed":"0xcf4e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0x340e58cda5086495010b571fe25067fecc9954dc4ee3cedece00691fa3f5904a","transactionIndex":"0x0","type":"0x0"}]`
,
file
:
"block-with-contract-create-tx"
,
},
// 6. block with legacy contract call tx(hash)
{
test
:
rpc
.
BlockNumberOrHashWithHash
(
blockHashes
[
3
],
false
),
want
:
`[{"blockHash":"0x73385c190219326907524b0020ef453ebc450eaa971ebce16f79e2d23e7e8d4d","blockNumber":"0x3","contractAddress":null,"cumulativeGasUsed":"0x5e28","effectiveGasPrice":"0x281c2534","from":"0x703c4b2bd70c169f5717101caee543299fc946c7","gasUsed":"0x5e28","logs":[{"address":"0x0000000000000000000000000000000000031ec7","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x000000000000000000000000703c4b2bd70c169f5717101caee543299fc946c7","0x0000000000000000000000000000000000000000000000000000000000000003"],"data":"0x000000000000000000000000000000000000000000000000000000000000000d","blockNumber":"0x3","transactionHash":"0x9dbf43ec9afc8d711932618616471088f66ba4f25fd5c672d97473d02dae967f","transactionIndex":"0x0","blockHash":"0x73385c190219326907524b0020ef453ebc450eaa971ebce16f79e2d23e7e8d4d","logIndex":"0x0","removed":false}],"logsBloom":"0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000800000000000000008000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000400000000002000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000","status":"0x1","to":"0x0000000000000000000000000000000000031ec7","transactionHash":"0x9dbf43ec9afc8d711932618616471088f66ba4f25fd5c672d97473d02dae967f","transactionIndex":"0x0","type":"0x0"}]`
,
file
:
"block-with-legacy-contract-call-tx"
,
},
// 7. block with dynamic fee tx(number)
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
BlockNumber
(
4
)),
want
:
`[{"blockHash":"0x77c3f8919590e0e68db4ce74a3da3140ac3e96dd3d078a48db1da4c08b07503d","blockNumber":"0x4","contractAddress":null,"cumulativeGasUsed":"0x538d","effectiveGasPrice":"0x2325c3e8","from":"0x703c4b2bd70c169f5717101caee543299fc946c7","gasUsed":"0x538d","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x0","to":"0x0000000000000000000000000000000000031ec7","transactionHash":"0x672e3e39adf23b5656989b7a36e54d54004b1866f53871113bc52e137edb9faf","transactionIndex":"0x0","type":"0x2"}]`
,
file
:
"block-with-dynamic-fee-tx"
,
},
// 8. block is empty
{
test
:
rpc
.
BlockNumberOrHashWithHash
(
common
.
Hash
{},
false
),
want
:
`null`
,
file
:
"hash-empty"
,
},
// 9. block is not found
{
test
:
rpc
.
BlockNumberOrHashWithHash
(
common
.
HexToHash
(
"deadbeef"
),
false
),
want
:
`null`
,
file
:
"hash-notfound"
,
},
// 10. block is not found
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
BlockNumber
(
genBlocks
+
1
)),
want
:
`null`
,
file
:
"block-notfound"
,
},
// 11. block with blob tx
{
test
:
rpc
.
BlockNumberOrHashWithNumber
(
rpc
.
BlockNumber
(
6
)),
file
:
"block-with-blob-tx"
,
},
}
...
...
@@ -2087,12 +1618,23 @@ func TestRPCGetBlockReceipts(t *testing.T) {
t
.
Errorf
(
"test %d: want no error, have %v"
,
i
,
err
)
continue
}
data
,
err
:=
json
.
Marshal
(
result
)
testRPCResponseWithFile
(
t
,
i
,
result
,
"eth_getBlockReceipts"
,
tt
.
file
)
}
}
func
testRPCResponseWithFile
(
t
*
testing
.
T
,
testid
int
,
result
interface
{},
rpc
string
,
file
string
)
{
data
,
err
:=
json
.
MarshalIndent
(
result
,
""
,
" "
)
if
err
!=
nil
{
t
.
Errorf
(
"test %d: json marshal error"
,
i
)
continue
t
.
Errorf
(
"test %d: json marshal error"
,
testid
)
return
}
want
,
have
:=
tt
.
want
,
string
(
data
)
require
.
JSONEqf
(
t
,
want
,
have
,
"test %d: json not match, want: %s, have: %s"
,
i
,
want
,
have
)
outputFile
:=
filepath
.
Join
(
"testdata"
,
fmt
.
Sprintf
(
"%s-%s.json"
,
rpc
,
file
))
if
os
.
Getenv
(
"WRITE_TEST_FILES"
)
!=
""
{
os
.
WriteFile
(
outputFile
,
data
,
0644
)
}
want
,
err
:=
os
.
ReadFile
(
outputFile
)
if
err
!=
nil
{
t
.
Fatalf
(
"error reading expected test file: %s output: %v"
,
outputFile
,
err
)
}
require
.
JSONEqf
(
t
,
string
(
want
),
string
(
data
),
"test %d: json not match, want: %s, have: %s"
,
testid
,
string
(
want
),
string
(
data
))
}
internal/ethapi/testdata/eth_getBlockByHash-hash-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x342770c0"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x1"
,
"parentHash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22"
,
"timestamp"
:
"0xa"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
],
"transactionsRoot"
:
"0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-empty-fullTx.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-genesis.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x3b9aca00"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x0"
,
"hash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x0"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x200"
,
"stateRoot"
:
"0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2"
,
"timestamp"
:
"0x0"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[],
"transactionsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-latest-1-fullTx.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x121a9cca"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x9"
,
"parentHash"
:
"0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0"
,
"timestamp"
:
"0x5a"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
{
"blockHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"blockNumber"
:
"0x9"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gas"
:
"0x5208"
,
"gasPrice"
:
"0x121a9cca"
,
"hash"
:
"0xecd155a61a5734b3efab75924e3ae34026c7c4133d8c2a46122bd03d7d199725"
,
"input"
:
"0x"
,
"nonce"
:
"0x8"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionIndex"
:
"0x0"
,
"value"
:
"0x3e8"
,
"type"
:
"0x0"
,
"v"
:
"0x1b"
,
"r"
:
"0xc6028b8e983d62fa8542f8a7633fb23cc941be2c897134352d95a7d9b19feafd"
,
"s"
:
"0xeb6adcaaae3bed489c6cce4435f9db05d23a52820c78bd350e31eec65ed809d"
}
],
"transactionsRoot"
:
"0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-latest.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0xfdc7303"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0xa"
,
"parentHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91"
,
"timestamp"
:
"0x64"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
"0x3ee4094ca1e0b07a66dd616a057e081e53144ca7e9685a126fd4dda9ca042644"
],
"transactionsRoot"
:
"0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-pending-fullTx.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByHash-hash-pending.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-number-0.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x3b9aca00"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x0"
,
"hash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x0"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x200"
,
"stateRoot"
:
"0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2"
,
"timestamp"
:
"0x0"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[],
"transactionsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-number-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x342770c0"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x1"
,
"parentHash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22"
,
"timestamp"
:
"0xa"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
],
"transactionsRoot"
:
"0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-number-latest+1.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-number-latest-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x121a9cca"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x9"
,
"parentHash"
:
"0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0"
,
"timestamp"
:
"0x5a"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
{
"blockHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"blockNumber"
:
"0x9"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gas"
:
"0x5208"
,
"gasPrice"
:
"0x121a9cca"
,
"hash"
:
"0xecd155a61a5734b3efab75924e3ae34026c7c4133d8c2a46122bd03d7d199725"
,
"input"
:
"0x"
,
"nonce"
:
"0x8"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionIndex"
:
"0x0"
,
"value"
:
"0x3e8"
,
"type"
:
"0x0"
,
"v"
:
"0x1b"
,
"r"
:
"0xc6028b8e983d62fa8542f8a7633fb23cc941be2c897134352d95a7d9b19feafd"
,
"s"
:
"0xeb6adcaaae3bed489c6cce4435f9db05d23a52820c78bd350e31eec65ed809d"
}
],
"transactionsRoot"
:
"0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-tag-latest.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0xfdc7303"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0xa"
,
"parentHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x26a"
,
"stateRoot"
:
"0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91"
,
"timestamp"
:
"0x64"
,
"totalDifficulty"
:
"0x1"
,
"transactions"
:
[
"0x3ee4094ca1e0b07a66dd616a057e081e53144ca7e9685a126fd4dda9ca042644"
],
"transactionsRoot"
:
"0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
,
"uncles"
:
[]
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-tag-pending-fullTx.json
0 → 100644
View file @
9f4a5287
{
"difficulty"
:
"0x0"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x0"
,
"gasUsed"
:
"0x0"
,
"hash"
:
null
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
null
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
null
,
"number"
:
"0xb"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x256"
,
"stateRoot"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"timestamp"
:
"0x2a"
,
"totalDifficulty"
:
null
,
"transactions"
:
[
{
"blockHash"
:
"0x6cebd9f966ea686f44b981685e3f0eacea28591a7a86d7fbbe521a86e9f81165"
,
"blockNumber"
:
"0xb"
,
"from"
:
"0x0000000000000000000000000000000000000000"
,
"gas"
:
"0x457"
,
"gasPrice"
:
"0x2b67"
,
"hash"
:
"0x4afee081df5dff7a025964032871f7d4ba4d21baf5f6376a2f4a9f79fc506298"
,
"input"
:
"0x111111"
,
"nonce"
:
"0xb"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionIndex"
:
"0x0"
,
"value"
:
"0x6f"
,
"type"
:
"0x0"
,
"chainId"
:
"0x7fffffffffffffee"
,
"v"
:
"0x0"
,
"r"
:
"0x0"
,
"s"
:
"0x0"
}
],
"transactionsRoot"
:
"0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37"
,
"uncles"
:
[],
"withdrawals"
:
[
{
"index"
:
"0x0"
,
"validatorIndex"
:
"0x1"
,
"address"
:
"0x1234000000000000000000000000000000000000"
,
"amount"
:
"0xa"
}
],
"withdrawalsRoot"
:
"0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockByNumber-tag-pending.json
0 → 100644
View file @
9f4a5287
{
"difficulty"
:
"0x0"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x0"
,
"gasUsed"
:
"0x0"
,
"hash"
:
null
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
null
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
null
,
"number"
:
"0xb"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"size"
:
"0x256"
,
"stateRoot"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"timestamp"
:
"0x2a"
,
"totalDifficulty"
:
null
,
"transactions"
:
[
"0x4afee081df5dff7a025964032871f7d4ba4d21baf5f6376a2f4a9f79fc506298"
],
"transactionsRoot"
:
"0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37"
,
"uncles"
:
[],
"withdrawals"
:
[
{
"index"
:
"0x0"
,
"validatorIndex"
:
"0x1"
,
"address"
:
"0x1234000000000000000000000000000000000000"
,
"amount"
:
"0xa"
}
],
"withdrawalsRoot"
:
"0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-notfound.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-with-blob-tx.json
0 → 100644
View file @
9f4a5287
[
{
"blobGasPrice"
:
"0x1"
,
"blobGasUsed"
:
"0x20000"
,
"blockHash"
:
"0x2ffcbc982ea819900e22b96c72bc85c8c64e080b9479d1c68ee49f55564816e7"
,
"blockNumber"
:
"0x6"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5208"
,
"effectiveGasPrice"
:
"0x1b09d63b"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5208"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionHash"
:
"0xb51ee3d2a89ba5d5623c73133c8d7a6ba9fb41194c17f4302c21b30994a1180f"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x3"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-with-contract-create-tx.json
0 → 100644
View file @
9f4a5287
[
{
"blockHash"
:
"0xc7f8a266e8bee4e36fd6374ebb280b16b4ec881e865f9d69e3c8743a71f0197e"
,
"blockNumber"
:
"0x2"
,
"contractAddress"
:
"0xae9bea628c4ce503dcfd7e305cab4e29e7476592"
,
"cumulativeGasUsed"
:
"0xcf50"
,
"effectiveGasPrice"
:
"0x2db16291"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0xcf50"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
null
,
"transactionHash"
:
"0x340e58cda5086495010b571fe25067fecc9954dc4ee3cedece00691fa3f5904a"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-with-dynamic-fee-tx.json
0 → 100644
View file @
9f4a5287
[
{
"blockHash"
:
"0xa85ac2ee14add4cf9e92f1a023b4c9eac355266f9e87e70bdcd557d848c61305"
,
"blockNumber"
:
"0x4"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x538d"
,
"effectiveGasPrice"
:
"0x2325c42f"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x538d"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x0"
,
"to"
:
"0x0000000000000000000000000000000000031ec7"
,
"transactionHash"
:
"0xdcde2574628c9d7dff22b9afa19f235959a924ceec65a9df903a517ae91f5c84"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x2"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-with-legacy-contract-call-tx.json
0 → 100644
View file @
9f4a5287
[
{
"blockHash"
:
"0x790f05c0ce7b6add0c7b1e8a777811738c540436e898ae6b09688dacc6581254"
,
"blockNumber"
:
"0x3"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5e28"
,
"effectiveGasPrice"
:
"0x281c2585"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5e28"
,
"logs"
:
[
{
"address"
:
"0x0000000000000000000000000000000000031ec7"
,
"topics"
:
[
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
,
"0x000000000000000000000000703c4b2bd70c169f5717101caee543299fc946c7"
,
"0x0000000000000000000000000000000000000000000000000000000000000003"
],
"data"
:
"0x000000000000000000000000000000000000000000000000000000000000000d"
,
"blockNumber"
:
"0x3"
,
"transactionHash"
:
"0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287"
,
"transactionIndex"
:
"0x0"
,
"blockHash"
:
"0x790f05c0ce7b6add0c7b1e8a777811738c540436e898ae6b09688dacc6581254"
,
"logIndex"
:
"0x0"
,
"removed"
:
false
}
],
"logsBloom"
:
"0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000800000000000000008000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000400000000002000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0000000000000000000000000000000000031ec7"
,
"transactionHash"
:
"0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-block-with-legacy-transfer-tx.json
0 → 100644
View file @
9f4a5287
[
{
"blockHash"
:
"0x698945ab39ebe6cecff84886b3142630cf03a74b2c19eec8043534463a6ff60b"
,
"blockNumber"
:
"0x1"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5208"
,
"effectiveGasPrice"
:
"0x342770c0"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5208"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionHash"
:
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-hash-empty.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-hash-notfound.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-number-0.json
0 → 100644
View file @
9f4a5287
[]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-number-1.json
0 → 100644
View file @
9f4a5287
[]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-tag-earliest.json
0 → 100644
View file @
9f4a5287
[]
\ No newline at end of file
internal/ethapi/testdata/eth_getBlockReceipts-tag-latest.json
0 → 100644
View file @
9f4a5287
[
{
"blobGasPrice"
:
"0x1"
,
"blobGasUsed"
:
"0x20000"
,
"blockHash"
:
"0x2ffcbc982ea819900e22b96c72bc85c8c64e080b9479d1c68ee49f55564816e7"
,
"blockNumber"
:
"0x6"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5208"
,
"effectiveGasPrice"
:
"0x1b09d63b"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5208"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionHash"
:
"0xb51ee3d2a89ba5d5623c73133c8d7a6ba9fb41194c17f4302c21b30994a1180f"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x3"
}
]
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-0.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x3b9aca00"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x0"
,
"hash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x0"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2"
,
"timestamp"
:
"0x0"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x342770c0"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x1"
,
"parentHash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22"
,
"timestamp"
:
"0xa"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-empty.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-latest-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x121a9cca"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x9"
,
"parentHash"
:
"0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0"
,
"timestamp"
:
"0x5a"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-latest.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0xfdc7303"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0xa"
,
"parentHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91"
,
"timestamp"
:
"0x64"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByHash-hash-pending.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-number-0.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x3b9aca00"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x0"
,
"hash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x0"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xfe168c5e9584a85927212e5bea5304bb7d0d8a893453b4b2c52176a72f585ae2"
,
"timestamp"
:
"0x0"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-number-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x342770c0"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x0da274b315de8e4d5bf8717218ec43540464ef36378cb896469bb731e1d3f3cb"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x1"
,
"parentHash"
:
"0xbdc7d83b8f876938810462fe8d053263a482e44201e3883d4ae204ff4de7eff5"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0x92c5c55a698963f5b06e3aee415630f5c48b0760e537af94917ce9c4f42a2e22"
,
"timestamp"
:
"0xa"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0xca0ebcce920d2cdfbf9e1dbe90ed3441a1a576f344bd80e60508da814916f4e7"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-number-latest+1.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-number-latest-1.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0x121a9cca"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0x9"
,
"parentHash"
:
"0x5abd19c39d9f1c6e52998e135ea14e1fbc5db3fa2a108f4538e238ca5c2e68d7"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xbd4aa2c2873df709151075250a8c01c9a14d2b0e2f715dbdd16e0ef8030c2cf0"
,
"timestamp"
:
"0x5a"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0x0767ed8359337dc6a8fdc77fe52db611bed1be87aac73c4556b1bf1dd3d190a5"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-tag-latest.json
0 → 100644
View file @
9f4a5287
{
"baseFeePerGas"
:
"0xfdc7303"
,
"difficulty"
:
"0x20000"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x47e7c4"
,
"gasUsed"
:
"0x5208"
,
"hash"
:
"0x97f540a3577c0f645c5dada5da86f38350e8f847e71f21124f917835003e2607"
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
"0x0000000000000000000000000000000000000000"
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
"0x0000000000000000"
,
"number"
:
"0xa"
,
"parentHash"
:
"0xda97ed946e0d502fb898b0ac881bd44da3c7fee5eaf184431e1ec3d361dad17e"
,
"receiptsRoot"
:
"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0xbb62872e4023fa8a8b17b9cc37031f4817d9595779748d01cba408b495707a91"
,
"timestamp"
:
"0x64"
,
"totalDifficulty"
:
"0x1"
,
"transactionsRoot"
:
"0xb0893d21a4a44dc26a962a6e91abae66df87fb61ac9c60e936aee89c76331445"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getHeaderByNumber-tag-pending.json
0 → 100644
View file @
9f4a5287
{
"difficulty"
:
"0x0"
,
"extraData"
:
"0x"
,
"gasLimit"
:
"0x0"
,
"gasUsed"
:
"0x0"
,
"hash"
:
null
,
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"miner"
:
null
,
"mixHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"nonce"
:
null
,
"number"
:
"0xb"
,
"parentHash"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"receiptsRoot"
:
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
,
"sha3Uncles"
:
"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
,
"stateRoot"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"timestamp"
:
"0x2a"
,
"totalDifficulty"
:
null
,
"transactionsRoot"
:
"0x98d9f6dd0aa479c0fb448f2627e9f1964aca699fccab8f6e95861547a4699e37"
,
"withdrawalsRoot"
:
"0x73d756269cdfc22e7e17a3548e36f42f750ca06d7e3cd98d1b6d0eb5add9dc84"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-blob-tx.json
0 → 100644
View file @
9f4a5287
{
"blobGasPrice"
:
"0x1"
,
"blobGasUsed"
:
"0x20000"
,
"blockHash"
:
"0x2ffcbc982ea819900e22b96c72bc85c8c64e080b9479d1c68ee49f55564816e7"
,
"blockNumber"
:
"0x6"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5208"
,
"effectiveGasPrice"
:
"0x1b09d63b"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5208"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionHash"
:
"0xb51ee3d2a89ba5d5623c73133c8d7a6ba9fb41194c17f4302c21b30994a1180f"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x3"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-create-contract-tx.json
0 → 100644
View file @
9f4a5287
{
"blockHash"
:
"0xc7f8a266e8bee4e36fd6374ebb280b16b4ec881e865f9d69e3c8743a71f0197e"
,
"blockNumber"
:
"0x2"
,
"contractAddress"
:
"0xae9bea628c4ce503dcfd7e305cab4e29e7476592"
,
"cumulativeGasUsed"
:
"0xcf50"
,
"effectiveGasPrice"
:
"0x2db16291"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0xcf50"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
null
,
"transactionHash"
:
"0x340e58cda5086495010b571fe25067fecc9954dc4ee3cedece00691fa3f5904a"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-create-contract-with-access-list.json
0 → 100644
View file @
9f4a5287
{
"blockHash"
:
"0x0ccd45c62e8af3a4cd7db1045c2bfeffe5c027749506ec94a744c11f69e5c785"
,
"blockNumber"
:
"0x5"
,
"contractAddress"
:
"0xfdaa97661a584d977b4d3abb5370766ff5b86a18"
,
"cumulativeGasUsed"
:
"0xe01c"
,
"effectiveGasPrice"
:
"0x1ecb3fb4"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0xe01c"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
null
,
"transactionHash"
:
"0xb5a1148819cfdfff9bfe70035524fec940eb735d89b76960b97751d01ae2a9f2"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x1"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-dynamic-tx-with-logs.json
0 → 100644
View file @
9f4a5287
{
"blockHash"
:
"0xa85ac2ee14add4cf9e92f1a023b4c9eac355266f9e87e70bdcd557d848c61305"
,
"blockNumber"
:
"0x4"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x538d"
,
"effectiveGasPrice"
:
"0x2325c42f"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x538d"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x0"
,
"to"
:
"0x0000000000000000000000000000000000031ec7"
,
"transactionHash"
:
"0xdcde2574628c9d7dff22b9afa19f235959a924ceec65a9df903a517ae91f5c84"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x2"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-normal-transfer-tx.json
0 → 100644
View file @
9f4a5287
{
"blockHash"
:
"0x698945ab39ebe6cecff84886b3142630cf03a74b2c19eec8043534463a6ff60b"
,
"blockNumber"
:
"0x1"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5208"
,
"effectiveGasPrice"
:
"0x342770c0"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5208"
,
"logs"
:
[],
"logsBloom"
:
"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0d3ab14bbad3d99f4203bd7a11acb94882050e7e"
,
"transactionHash"
:
"0x644a31c354391520d00e95b9affbbb010fc79ac268144ab8e28207f4cf51097e"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-txhash-empty.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-txhash-notfound.json
0 → 100644
View file @
9f4a5287
null
\ No newline at end of file
internal/ethapi/testdata/eth_getTransactionReceipt-with-logs.json
0 → 100644
View file @
9f4a5287
{
"blockHash"
:
"0x790f05c0ce7b6add0c7b1e8a777811738c540436e898ae6b09688dacc6581254"
,
"blockNumber"
:
"0x3"
,
"contractAddress"
:
null
,
"cumulativeGasUsed"
:
"0x5e28"
,
"effectiveGasPrice"
:
"0x281c2585"
,
"from"
:
"0x703c4b2bd70c169f5717101caee543299fc946c7"
,
"gasUsed"
:
"0x5e28"
,
"logs"
:
[
{
"address"
:
"0x0000000000000000000000000000000000031ec7"
,
"topics"
:
[
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
,
"0x000000000000000000000000703c4b2bd70c169f5717101caee543299fc946c7"
,
"0x0000000000000000000000000000000000000000000000000000000000000003"
],
"data"
:
"0x000000000000000000000000000000000000000000000000000000000000000d"
,
"blockNumber"
:
"0x3"
,
"transactionHash"
:
"0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287"
,
"transactionIndex"
:
"0x0"
,
"blockHash"
:
"0x790f05c0ce7b6add0c7b1e8a777811738c540436e898ae6b09688dacc6581254"
,
"logIndex"
:
"0x0"
,
"removed"
:
false
}
],
"logsBloom"
:
"0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000800000000000000008000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000400000000002000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000"
,
"status"
:
"0x1"
,
"to"
:
"0x0000000000000000000000000000000000031ec7"
,
"transactionHash"
:
"0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287"
,
"transactionIndex"
:
"0x0"
,
"type"
:
"0x0"
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment