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
...
Executing the following request
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
Erigon sorted list