diff --git a/eth/filters/api.go b/eth/filters/api.go index 78affd909e..86e246613c 100644 --- a/eth/filters/api.go +++ b/eth/filters/api.go @@ -448,12 +448,15 @@ func (api *FilterAPI) GetFilterChanges(id rpc.ID) (interface{}, error) { return returnHashes(hashes), nil case PendingTransactionsSubscription: if f.fullTx { - state, err := api.sys.backend.StateAt(latest.Root) - if err != nil || state == nil { - log.Error("State not found", "number", latest.Number, "hash", latest.Hash().Hex(), "state", state, "err", err) - return nil, errors.New("state not found") + var l1BaseFee *big.Int + if latest != nil { + state, err := api.sys.backend.StateAt(latest.Root) + if err != nil || state == nil { + log.Error("State not found", "number", latest.Number, "hash", latest.Hash().Hex(), "state", state, "err", err) + return nil, errors.New("state not found") + } + l1BaseFee = fees.GetL1BaseFee(state) } - l1BaseFee := fees.GetL1BaseFee(state) txs := make([]*ethapi.RPCTransaction, 0, len(f.txs)) for _, tx := range f.txs { diff --git a/eth/filters/filter_test.go b/eth/filters/filter_test.go index 84c6998f94..8da131c1a6 100644 --- a/eth/filters/filter_test.go +++ b/eth/filters/filter_test.go @@ -180,7 +180,7 @@ func TestFilters(t *testing.T) { // Hack: GenerateChainWithGenesis creates a new db. // Commit the genesis manually and use GenerateChain. - _, err = gspec.Commit(db, trie.NewDatabase(db, nil)) + _, err = gspec.Commit(db, trie.NewDatabase(db, &trie.Config{IsUsingZktrie: true})) if err != nil { t.Fatal(err) } @@ -286,21 +286,21 @@ func TestFilters(t *testing.T) { }{ { f: sys.NewBlockFilter(chain[2].Hash(), []common.Address{contract}, nil), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0xdefe471992a07a02acdfbe33edaae22fbb86d7d3cec3f1b8e4e77702fb3acc1d","transactionIndex":"0x0","blockHash":"0xb4871b3f94b8d0375f195bbabc42afe0ee9bb855041f191305241a150177b647","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0x4dde288e6ea5d516f51c258fca8c5c907c9cec9fe99d59a3ab4f3dd76dba4901","transactionIndex":"0x0","blockHash":"0x8e80be62abafaf12faf73bb072bd9e5d473cd3f03f441af0bae404e1498c2dc7","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(0, int64(rpc.LatestBlockNumber), []common.Address{contract}, [][]common.Hash{{hash1, hash2, hash3, hash4}}), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0xa8028c655b6423204c8edfbc339f57b042d6bec2b6a61145d76b7c08b4cccd42","transactionIndex":"0x0","blockHash":"0x1e7d940a070e5e44f2c3824edec50b7733656a525c8fee7a25f653019bc7517a","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0xdefe471992a07a02acdfbe33edaae22fbb86d7d3cec3f1b8e4e77702fb3acc1d","transactionIndex":"0x0","blockHash":"0xb4871b3f94b8d0375f195bbabc42afe0ee9bb855041f191305241a150177b647","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x9a87842100a638dfa5da8842b4beda691d2fd77b0c84b57f24ecfa9fb208f747","transactionIndex":"0x0","blockHash":"0x12d5def71baa80ab362473517837a854b814e4c5205a28e9139cd7feb5602a4c","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0x7a7b8d344425cde1f45a8c3424bb8545fedcf300fbd7d4fcc64be5a862225902","transactionIndex":"0x0","blockHash":"0xd3bd52cd219a8d5bac4ae74de4a9fe99591cfa665246ad57f9aa64dd63043fd3","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0x4dde288e6ea5d516f51c258fca8c5c907c9cec9fe99d59a3ab4f3dd76dba4901","transactionIndex":"0x0","blockHash":"0x8e80be62abafaf12faf73bb072bd9e5d473cd3f03f441af0bae404e1498c2dc7","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x19a895675832b0f61159e9b83b5ba7e10809c0b4daf7aab6bdc9c517cdbdbe2b","transactionIndex":"0x0","blockHash":"0x075fed6806471359a9fbc14e1a8fc64af09d921493b67532904b4b0ba52713b3","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(900, 999, []common.Address{contract}, [][]common.Hash{{hash3}}), }, { f: sys.NewRangeFilter(990, int64(rpc.LatestBlockNumber), []common.Address{contract2}, [][]common.Hash{{hash3}}), - want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0x53e3675800c6908424b61b35a44e51ca4c73ca603e58a65b32c67968b4f42200","transactionIndex":"0x0","blockHash":"0xdcd5f41895e0992f1e5eb5fab7e78c0bc2a99efb667b2145be2e75a07a2d8cee","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0xfcac8107f0b5f1e91f590c601a0e774cf33cdae476a21aec9f452e045fa7ee48","transactionIndex":"0x0","blockHash":"0xa9e836bf71b4ba51e4193ba8efb5b21206aa52c1ead58d55d599c57f0eb0b582","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(1, 10, []common.Address{contract}, [][]common.Hash{{hash2}, {hash1}}), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0xdefe471992a07a02acdfbe33edaae22fbb86d7d3cec3f1b8e4e77702fb3acc1d","transactionIndex":"0x0","blockHash":"0xb4871b3f94b8d0375f195bbabc42afe0ee9bb855041f191305241a150177b647","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0x4dde288e6ea5d516f51c258fca8c5c907c9cec9fe99d59a3ab4f3dd76dba4901","transactionIndex":"0x0","blockHash":"0x8e80be62abafaf12faf73bb072bd9e5d473cd3f03f441af0bae404e1498c2dc7","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(1, 10, nil, [][]common.Hash{{hash1, hash2}}), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0xa8028c655b6423204c8edfbc339f57b042d6bec2b6a61145d76b7c08b4cccd42","transactionIndex":"0x0","blockHash":"0x1e7d940a070e5e44f2c3824edec50b7733656a525c8fee7a25f653019bc7517a","logIndex":"0x0","removed":false},{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0xdba3e2ea9a7d690b722d70ee605fd67ba4c00d1d3aecd5cf187a7b92ad8eb3df","transactionIndex":"0x1","blockHash":"0x1e7d940a070e5e44f2c3824edec50b7733656a525c8fee7a25f653019bc7517a","logIndex":"0x1","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0xdefe471992a07a02acdfbe33edaae22fbb86d7d3cec3f1b8e4e77702fb3acc1d","transactionIndex":"0x0","blockHash":"0xb4871b3f94b8d0375f195bbabc42afe0ee9bb855041f191305241a150177b647","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0x7a7b8d344425cde1f45a8c3424bb8545fedcf300fbd7d4fcc64be5a862225902","transactionIndex":"0x0","blockHash":"0xd3bd52cd219a8d5bac4ae74de4a9fe99591cfa665246ad57f9aa64dd63043fd3","logIndex":"0x0","removed":false},{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x2","transactionHash":"0x6acc4a13a10f9db3d5806e036ae96f57e053113c3fa225cda6cb7d3cb5e1aba8","transactionIndex":"0x1","blockHash":"0xd3bd52cd219a8d5bac4ae74de4a9fe99591cfa665246ad57f9aa64dd63043fd3","logIndex":"0x1","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696332","0x0000000000000000000000000000000000000000000000000000746f70696331"],"data":"0x","blockNumber":"0x3","transactionHash":"0x4dde288e6ea5d516f51c258fca8c5c907c9cec9fe99d59a3ab4f3dd76dba4901","transactionIndex":"0x0","blockHash":"0x8e80be62abafaf12faf73bb072bd9e5d473cd3f03f441af0bae404e1498c2dc7","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(0, int64(rpc.LatestBlockNumber), nil, [][]common.Hash{{common.BytesToHash([]byte("fail"))}}), }, { @@ -309,13 +309,13 @@ func TestFilters(t *testing.T) { f: sys.NewRangeFilter(0, int64(rpc.LatestBlockNumber), nil, [][]common.Hash{{common.BytesToHash([]byte("fail"))}, {hash1}}), }, { f: sys.NewRangeFilter(int64(rpc.LatestBlockNumber), int64(rpc.LatestBlockNumber), nil, nil), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x9a87842100a638dfa5da8842b4beda691d2fd77b0c84b57f24ecfa9fb208f747","transactionIndex":"0x0","blockHash":"0x12d5def71baa80ab362473517837a854b814e4c5205a28e9139cd7feb5602a4c","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x19a895675832b0f61159e9b83b5ba7e10809c0b4daf7aab6bdc9c517cdbdbe2b","transactionIndex":"0x0","blockHash":"0x075fed6806471359a9fbc14e1a8fc64af09d921493b67532904b4b0ba52713b3","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(int64(rpc.FinalizedBlockNumber), int64(rpc.LatestBlockNumber), nil, nil), - want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0x53e3675800c6908424b61b35a44e51ca4c73ca603e58a65b32c67968b4f42200","transactionIndex":"0x0","blockHash":"0xdcd5f41895e0992f1e5eb5fab7e78c0bc2a99efb667b2145be2e75a07a2d8cee","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x9a87842100a638dfa5da8842b4beda691d2fd77b0c84b57f24ecfa9fb208f747","transactionIndex":"0x0","blockHash":"0x12d5def71baa80ab362473517837a854b814e4c5205a28e9139cd7feb5602a4c","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0xfcac8107f0b5f1e91f590c601a0e774cf33cdae476a21aec9f452e045fa7ee48","transactionIndex":"0x0","blockHash":"0xa9e836bf71b4ba51e4193ba8efb5b21206aa52c1ead58d55d599c57f0eb0b582","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x19a895675832b0f61159e9b83b5ba7e10809c0b4daf7aab6bdc9c517cdbdbe2b","transactionIndex":"0x0","blockHash":"0x075fed6806471359a9fbc14e1a8fc64af09d921493b67532904b4b0ba52713b3","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(int64(rpc.FinalizedBlockNumber), int64(rpc.FinalizedBlockNumber), nil, nil), - want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0x53e3675800c6908424b61b35a44e51ca4c73ca603e58a65b32c67968b4f42200","transactionIndex":"0x0","blockHash":"0xdcd5f41895e0992f1e5eb5fab7e78c0bc2a99efb667b2145be2e75a07a2d8cee","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xff00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696333"],"data":"0x","blockNumber":"0x3e7","transactionHash":"0xfcac8107f0b5f1e91f590c601a0e774cf33cdae476a21aec9f452e045fa7ee48","transactionIndex":"0x0","blockHash":"0xa9e836bf71b4ba51e4193ba8efb5b21206aa52c1ead58d55d599c57f0eb0b582","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(int64(rpc.LatestBlockNumber), int64(rpc.FinalizedBlockNumber), nil, nil), }, { @@ -329,10 +329,10 @@ func TestFilters(t *testing.T) { err: "safe header not found", }, { f: sys.NewRangeFilter(int64(rpc.PendingBlockNumber), int64(rpc.PendingBlockNumber), nil, nil), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696335"],"data":"0x","blockNumber":"0x3e9","transactionHash":"0x4110587c1b8d86edc85dce929a34127f1cb8809515a9f177c91c866de3eb0638","transactionIndex":"0x0","blockHash":"0xfaf12ee5c179618e694f8d3f45e0d962e1e64a45a57627792a22379a49270c08","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696335"],"data":"0x","blockNumber":"0x3e9","transactionHash":"0x1579188dbe93ba4d91335fd4e7634b2af133b63795918d243ad8b753aa7a9f1e","transactionIndex":"0x0","blockHash":"0xedd09b4e7ef27a9866fcbde0bfef9fcb455b8264659d05afa963563fdea9a750","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(int64(rpc.LatestBlockNumber), int64(rpc.PendingBlockNumber), nil, nil), - want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x9a87842100a638dfa5da8842b4beda691d2fd77b0c84b57f24ecfa9fb208f747","transactionIndex":"0x0","blockHash":"0x12d5def71baa80ab362473517837a854b814e4c5205a28e9139cd7feb5602a4c","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696335"],"data":"0x","blockNumber":"0x3e9","transactionHash":"0x4110587c1b8d86edc85dce929a34127f1cb8809515a9f177c91c866de3eb0638","transactionIndex":"0x0","blockHash":"0xfaf12ee5c179618e694f8d3f45e0d962e1e64a45a57627792a22379a49270c08","logIndex":"0x0","removed":false}]`, + want: `[{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696334"],"data":"0x","blockNumber":"0x3e8","transactionHash":"0x19a895675832b0f61159e9b83b5ba7e10809c0b4daf7aab6bdc9c517cdbdbe2b","transactionIndex":"0x0","blockHash":"0x075fed6806471359a9fbc14e1a8fc64af09d921493b67532904b4b0ba52713b3","logIndex":"0x0","removed":false},{"address":"0xfe00000000000000000000000000000000000000","topics":["0x0000000000000000000000000000000000000000000000000000746f70696335"],"data":"0x","blockNumber":"0x3e9","transactionHash":"0x1579188dbe93ba4d91335fd4e7634b2af133b63795918d243ad8b753aa7a9f1e","transactionIndex":"0x0","blockHash":"0xedd09b4e7ef27a9866fcbde0bfef9fcb455b8264659d05afa963563fdea9a750","logIndex":"0x0","removed":false}]`, }, { f: sys.NewRangeFilter(int64(rpc.PendingBlockNumber), int64(rpc.LatestBlockNumber), nil, nil), err: "invalid block range", diff --git a/params/config.go b/params/config.go index 1e30f25dc0..6cd8dd8d4a 100644 --- a/params/config.go +++ b/params/config.go @@ -399,7 +399,7 @@ var ( CurieBlock: big.NewInt(0), DarwinTime: newUint64(0), Scroll: ScrollConfig{ - UseZktrie: false, + UseZktrie: true, FeeVaultAddress: &common.Address{123}, MaxTxPerBlock: nil, MaxTxPayloadBytesPerBlock: nil,