Commit Graph

680 Commits

Author SHA1 Message Date
Alex Sharov
7572a42356
e3: trace_filter on iterators (#6706) 2023-01-26 16:51:13 +07:00
Alex Sharov
79b42c9dc0
e3: ots_getContractCreator (#6705) 2023-01-26 16:34:52 +07:00
Alex Sharov
584ad344a6
ots_getContractCreator test (#6703) 2023-01-26 11:36:06 +07:00
hexoscott
d9e1782c11
introduce engine_getCapabilities (#6695)
Implementation of https://github.com/ethereum/execution-apis/pull/364
2023-01-25 14:46:06 +01:00
Alex Sharov
82c478a419
e3: getLogs on iterators (#6683) 2023-01-25 16:29:41 +07:00
Andrew Ashikhmin
37741b74eb
Remove erigon_issuance & erigon_watchTheBurn (#6685)
Some issuance happens on the CL side now, so removing support for these
now inaccurate proprietary methods to make our life easier.
2023-01-24 22:54:08 +01:00
hexoscott
4dcba50e99
engine payload bodies rpc endpoints (#6644)
Very basic implementation for get payload bodies rpc calls. Once we have
Hive tests for these calls I can pick this back up and work through any
issues.

Implementation of https://github.com/ethereum/execution-apis/pull/352.
2023-01-24 13:37:03 +01:00
Alex Sharov
bad616cb8e
e3: use historyReader constructor in tests (#6677) 2023-01-24 12:43:04 +07:00
Alex Sharov
71067a69d1
e3: storageRangeAt fix NextPage value (#6676) 2023-01-24 11:22:50 +07:00
Alex Sharov
539eaf0a51
e3: prepare trace_transaction env without execution (#6675) 2023-01-24 11:18:32 +07:00
alex.sharov
e061f469d3 e3: fix test 2023-01-23 18:56:20 +07:00
AleksAvila
b5b9950593
fixing bugs in the function GetBlockByTimeStamp (#6664) 2023-01-22 19:31:57 +00:00
alex.sharov
a3bdda90ec fix lint 2023-01-22 22:37:23 +07:00
Alex Sharov
23287371e7
e3: better iterator (#6666) 2023-01-22 20:39:43 +07:00
alex.sharov
df771eb220 e3: fix test 2023-01-22 20:14:04 +07:00
Alex Sharov
4fbbdf9186
e3: move txnum to erigon-lib (#6663) 2023-01-22 19:39:33 +07:00
Giulio rebuffo
f1dd51ccb3
Added Historical Summary and FromBlsToExecution (#6658)
Added Capella specific Data types.
2023-01-22 11:48:17 +01:00
alex.sharov
99e535561b save 2023-01-22 16:51:09 +07:00
Alex Sharov
5a7e0eb5db
e3: eth_getLogs simplify (#6660) 2023-01-22 16:48:54 +07:00
Alex Sharov
0ee8c175d9
e3: simplify history reader (#6659) 2023-01-22 16:42:24 +07:00
Alex Sharov
43d39762c2
e3: ots_searchTransactionsBefore (#6656) 2023-01-22 15:35:18 +07:00
lupin012
5c82faa44b
eth_callBundle fixes (#6628)
There are two fixes:
1) the blockNumber in the CreateHistoryStateReader should be blockNumber
+ 1 as in the eth_call, eth_createAccessList:
- eth_call: already use blockNumber + 1 see
CreateStateReaderFromBlockNumber where the blockNumber
- passed to the CreateHistoryStateReader is blockNumber + 1
- eth_createAccessList: call CreateHistoryStateReader directly with
blockNumber + 1
2) The eth_callBudle allows to execute the original transaction (here
the sender nonce is assigned to the tx) on a user defined block; the
original transition could be performed in another block . The sender's
nonce when the original transaction was performed had a value that may
be different to the nonce of the sender when the tx is "executed" on new
block. So during the execution of the eth_callBundle must not be
verified that the nonce is progressive (original nonce of the tx + 1:
see preCheck() in state_transition.go that; if the checkNonce fails an
error is arised, nonce too low or nonce to high)
The eth_call does not check the nonce because is using ToMessage(calls
types.NewMessage with checkNonce = false) with checkNonce disabled;
while the eth_callBundle uses AsMessage object (where is built the
Message with checkNonce = true) where the checkNonce is enabled.
Action: Disable the checkNonce as proposed
2023-01-22 07:13:28 +00:00
Alex Sharov
184c2eb5b1
e3: fix test (#6652) 2023-01-21 14:18:29 +07:00
Andrew Ashikhmin
9927ca3171
Unify Engine API V1 & V2 methods (#6638)
Reduce code duplication.

Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/841.
2023-01-20 18:43:08 +01:00
Alex Sharov
b71725ecb3
e3: reverse/limited iterators, stream tooling (#6637) 2023-01-20 18:08:20 +07:00
Alex Sharov
d317722aef
e3: storageRangeAt (#6580) 2023-01-17 14:16:36 +07:00
Devon Bear
4bfcc1ee5c
Convert *vm.EVM to vm.VMInterface in Tracers (#6590)
Useful for integration with external tools as one can just utilize an
interface opposed to having to import and build a real EVM object.
2023-01-16 22:28:50 +00:00
Ariel Tempelhof
f3f2c16b25
prepare state in replay blocks in callMany (#6586)
Some transactions in replayed blocks do not get reverted, although they
were originally reverted due to out of gas. This causes false balance
calculations for some addresses
2023-01-16 19:09:57 +00:00
lupin012
6338bacc95
Fix erigon_blockNumber (#6582)
erigon_blockNumber returns "latest executed block number" or any block
number requested.
In this last case the rpcBlockNum variable was not initialized
2023-01-16 10:48:43 +07:00
hexoscott
7dcbfbc283
reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
Ariel Tempelhof
89eb3ac267
block BaseFee in callMany (#6569)
Continuing the work of https://github.com/ledgerwatch/erigon/pull/6381 .
We encountered a problem in blocks with type 2 transactions,
specifically blocks with two transactions with the same `tx.from`. When
the first tx is replayed, a high `gasPrice` is being calculate in
`txn.AsMessage` causing the second replayed tx to fail with the
following error:
```
insufficient funds for gas * price + value: address ...
```
This happens in both `eth_callMany` and `debug_traceCallMany`.
This pull request follows the `debug_traceTransaction` usage of
`tx.AsMessage` in `ComputeTxEnv`
2023-01-12 16:56:22 +00:00
ledgerwatch
b658bb8f00
Fix for trace_ regression when using vmTrace for transactions with SELFDESTRUCT (#6565)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-12 10:30:15 +00:00
Andrew Ashikhmin
f33993b43c
GetEffectiveGasTip in getTxValueForBlockValue (#6559)
Small simplification to PR #6554.
2023-01-12 10:41:27 +01:00
Alex Sharov
7e9522d2d0
e3: abstract 1 tx exec, to avoid variables bloating (#6563) 2023-01-12 11:09:47 +07:00
Alex Sharov
41e9356f61
e3: stream.ToBitamp() (#6562) 2023-01-12 09:58:21 +07:00
Alex Sharov
731569bbb7
e3: invalid txnum table (#6540) 2023-01-12 09:31:41 +07:00
Max Revitt
4d09a697d0
GetPayloadV2 change (#6554)
- calculates blockValue for updated engine_getPayloadV2 spec
- adds tests for pre/post Shanghai RawBody RLP
2023-01-11 18:33:55 +01:00
alex.sharov
e22e5f933a linter 2023-01-11 15:45:18 +07:00
alex.sharov
2db82a8e4f Revert "save"
This reverts commit b080f3fcdf.
2023-01-11 15:33:25 +07:00
alex.sharov
b080f3fcdf save 2023-01-11 15:33:09 +07:00
Alex Sharov
2f97c7bf8b
extract traceFilterBitmaps method (prepare for kv.temporal) (#6553) 2023-01-11 15:01:18 +07:00
Alex Sharov
381d90a52a
eth_getLogs: add getAddrsBitmap method (#6551) 2023-01-11 11:55:16 +07:00
ledgerwatch
1149b59641
Fix for regression in trace_ processing SELFDESTRUCT (#6547)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-10 16:41:40 +00:00
Alex Sharov
2621ef45f6
e3: fix trace json (#6535) 2023-01-09 17:33:18 +07:00
alex.sharov
7aa056e179 save 2023-01-09 10:59:34 +07:00
ledgerwatch
389a2e8392
Eth call limits (#6523)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-07 21:16:43 +00:00
Alex Sharov
4c3bb1cca5
kv_temporal: DomainGet (#6511) 2023-01-06 14:27:54 +07:00
alex.sharov
9d1f0a9a33 save 2023-01-06 12:43:32 +07:00
a
06de4aeb91
filterlogs deadlock fix (#6429)
Refactors filters.go such that map+locks are now in their own class 

Move logic for safely canceling & draining channel to its own class

changed subscriptions to ask for size of buffer and construct its own
channel

marked as draft b/c need to do live testing.
2023-01-02 11:42:40 +07:00
Alex Sharov
4a9c871628
a bit rename 22 to v3 (#6476) 2022-12-30 21:53:42 +07:00