go-ethereum/eth
rjl493456442 39fb82bcfb
eth: fix flaky test, don't attach empty slots/proofs (#24885)
* eth/protocols/snap: don't include empty snapshot slot slice

This PR fixes the snapshot storage serving handler. In snap protocol
the response is capped by the response size. Server can cutdown the
response if the accumulated byte size exceeds the local hard limit.

It means we can meet a special scenario that there is no storage slot
included for a requested account, but we attach the proof for this
account by mistake.

So in the prover side, when it meets a empty storage response but with
a valid proof proves there are some more slots left in the trie, then
requestor will reject this response and disconnect with server.

In this PR, if there is no storage slot served for the requested account,
then no proof should be attached as well.

* eth/protocols/snap: loosen restrictions for flaky tests

* eth/catalyst: fix flaky test in catalyst
2022-05-17 11:19:51 +03:00
..
catalyst eth: fix flaky test, don't attach empty slots/proofs (#24885) 2022-05-17 11:19:51 +03:00
downloader all: replace strings.Replace with string.ReplaceAll (#24835) 2022-05-09 13:13:23 +03:00
ethconfig cmd, eth: fix required blocks regression 2022-05-04 19:55:17 +03:00
fetcher eth/fetcher: avoid hang in tests (partial fix for #23331) (#23351) 2022-05-06 15:23:43 +02:00
filters eth/fetcher: avoid hang in tests (partial fix for #23331) (#23351) 2022-05-06 15:23:43 +02:00
gasprice graphql: fee history fields (#24452) 2022-03-10 13:59:22 +01:00
protocols eth: fix flaky test, don't attach empty slots/proofs (#24885) 2022-05-17 11:19:51 +03:00
tracers all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
api.go eth: fix typo in comment (#23941) 2021-11-22 02:53:16 +01:00
api_backend.go eth: clarify the error string on getlogs failure (#24617) 2022-03-31 21:16:03 +02:00
api_test.go cmd/geth, eth, core: snapshot dump + unify with trie dump (#22795) 2021-05-12 11:05:39 +03:00
backend.go cmd, eth: fix required blocks regression 2022-05-04 19:55:17 +03:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
discovery.go cmd/utils: use eth DNS tree for snap discovery (#22808) 2021-05-04 11:29:32 +02:00
handler.go cmd, eth: fix required blocks regression 2022-05-04 19:55:17 +03:00
handler_eth.go core, eth, les, trie: remove the sync bloom, used by fast sync 2021-12-03 12:32:41 +02:00
handler_eth_test.go core/types: faster RLP encoding of Header, StateAcccount, ReceiptForStorage (#24420) 2022-02-18 08:10:26 +01:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go eth: request id dispatcher and direct req/reply APIs (#23576) 2021-11-26 13:26:03 +02:00
peer.go eth: request id dispatcher and direct req/reply APIs (#23576) 2021-11-26 13:26:03 +02:00
peerset.go eth/downloader: implement beacon sync (#23982) 2022-03-11 14:14:45 +02:00
state_accessor.go all: core rework for the merge transition (#23761) 2021-11-26 13:23:02 +02:00
sync.go core: eth: implement Kiln-v2 spec (#24506) 2022-03-17 17:20:03 +02:00
sync_test.go eth: request id dispatcher and direct req/reply APIs (#23576) 2021-11-26 13:26:03 +02:00