erigontech / erigontech/silkworm

rpcdaemon: wrong reward values in response for eth_feeHistory API

Open
#2,853 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
318
Forks
84
PR merge metrics
No merged PRs in 30d

Description

Executing the following request
```
{
"jsonrpc": "2.0",
"method": "eth_feeHistory",
"params": [
"0x2",
"latest",
[1,5,95,100]
],
"id": 1
}
```
the resulting reward arrays in silk response differs from the one provided by erigon.

The problem is due to the different sort algorithm used in STL C++ and in Go, so the same reward/gas_used list produces 2 different sorted list, and the following threshold gas used evaluation in silk differs from the erigon one.

Silk sorted list
```
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 0, itr->reward: 0, itr->gas_used: 21'000
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 1, itr->reward: 0, itr->gas_used: 269'277
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 2, itr->reward: 0, itr->gas_used: 286'892
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 3, itr->reward: 0, itr->gas_used: 248'236
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 4, itr->reward: 91'240, itr->gas_used: 158'746
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 5, itr->reward: 3'153'134, itr->gas_used: 69'819
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 6, itr->reward: 4'099'074, itr->gas_used: 60'940
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 7, itr->reward: 4'729'701, itr->gas_used: 105'848
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 8, itr->reward: 4'729'701, itr->gas_used: 49'752
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 9, itr->reward: 4'729'701, itr->gas_used: 49'752
INFO [04-12|13:55:38.683 UTC] [asio_ctx_s6] i: 10, itr->reward: 14'357'780, itr->gas_used: 43'121
.....

```
Erigon sorted list
```
INFO[04-12|15:43:44.096] AFTER sort i=0 reward=0 GasUsed=248231
INFO[04-12|15:43:44.096] AFTER sort i=1 reward=0 GasUsed=186119
INFO[04-12|15:43:44.096] AFTER sort i=2 reward=0 GasUsed=21000
INFO[04-12|15:43:44.096] AFTER sort i=3 reward=0 GasUsed=347976
INFO[04-12|15:43:44.096] AFTER sort i=4 reward=0 GasUsed=283841
INFO[04-12|15:43:44.096] AFTER sort i=5 reward=0 GasUsed=21000
INFO[04-12|15:43:44.096] AFTER sort i=6 reward=3153134 GasUsed=525877
INFO[04-12|15:43:44.096] AFTER sort i=7 reward=3153134 GasUsed=41309
INFO[04-12|15:43:44.096] AFTER sort i=8 reward=3153134 GasUsed=86904
INFO[04-12|15:43:44.096] AFTER sort i=9 reward=4729701 GasUsed=55636
INFO[04-12|15:55:38.927] AFTER sort i=10 reward=14357780 GasUsed=43121
...

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.