Commit graph

15270 commits

Author SHA1 Message Date
Alex Forshtat
6cfa0ad277 Inject a "return 1" EntryPoint precompile, stop of messing with 'ExtCodeSize' 2024-08-09 20:02:26 +02:00
Alex Forshtat
587a6ac534 Extract ABI encoding&decoding into file; use ABI instead of manual bit parsing 2024-08-09 19:39:11 +02:00
Alex Forshtat
144e9f9d59 AA-411: Parse calls to EntryPoint address for account/paymaster 'acceptance' 2024-08-08 15:51:14 +02:00
Alex Forshtat
0d8f19200d
AA-381: Create a "pull bundle" block building mode and a 'getRip7560Bundle' method (#18) 2024-08-05 17:21:37 +03:00
Dror Tirosh
2ee6caf9c5
AA-394 receipt fields (#21)
* handle transaction receipt status
  effectiveGasUsed
  refund excess to account/paymaster
2024-08-04 12:54:48 +03:00
shahafn
d450ade0af
AA-378: Completing native tracer (#15)
* Renaming, Adding tstore/tload support

* Fixing tracer wip

* Adding handling of value, onExit

* Removing method id

* Fix abi encoding of nil fields

* typo

* Removing logs
2024-07-29 12:29:44 +02:00
Dror Tirosh
52f50471f2
AA-403: Fix RIP-7560 transaction hash calculation (#19) 2024-07-25 21:29:27 +02:00
Dror Tirosh
7f93f508c1
fix nonce, entrypoint (#17)
- add correct sender address for AA transactions (AA_ENTRY_POINT, and AA_CREATOR for the deployment frame)
- disable nonce increment in TransitionDb if the sender is either of these magic addresses
- add AA-specific nonce increment for the transaction sender.
2024-07-24 16:06:03 +03:00
Dror Tirosh
4dc333d54f
check gas, nonce form ApplyRip7560ValidationPhases (#16)
move validations into the validation phase.
note that it breaks some tests which rely on wrong nonce.
2024-07-23 13:51:10 +02:00
Alex Forshtat
9bb4fb0328 Move the 'TraceRip7560Validation' API to the 'eth' namespace, from the 'debug' 2024-07-21 11:11:52 +02:00
Alex Forshtat
1712985683 Fix: do not lose the AA tx application error; fix lost 'nonce' value 2024-07-18 23:09:15 +02:00
shahafn
736e0e2638 Fixing validationData packing 2024-07-18 20:45:50 +03:00
Alex Forshtat
14634daac5 I don't understand why would we need & 0xFF here, please elaborate 2024-07-18 10:56:25 +02:00
Alex Forshtat
22c5f97370 Fix syntax error 2024-07-18 08:50:41 +02:00
Alex Forshtat
71c013f9d9
AA-247: Implement tracer (#11)
* WIP: bring in old 4337 Bundler Collector Tracer code (compiles)

* Fix runtime errors (WIP)

* Adding missing fields, using OnEnter hook

* Fix using [0:20] bytes of "PaymasterData" instead of the new "Paymaster" field

* Fix banned opcode checks for Factory frame

* Add 'nil' check

---------

Co-authored-by: shahafn <shahaflol@gmail.com>
2024-07-17 23:10:15 +02:00
shahafn
2312c4fdde
Merge pull request #14 from eth-infinitism/test-deployer-flows
AA-379 Test deployer flows
2024-07-11 17:14:04 +03:00
Dror Tirosh
29b436c9ea Merge branch 'RIP-7560-revision-2' into test-deployer-flows 2024-07-10 13:16:28 +02:00
Dror Tirosh
eb7127c97d pr reviews 2024-07-07 12:42:14 +03:00
Dror Tirosh
604c76341e paymaster time-range checking 2024-07-07 12:42:14 +03:00
Dror Tirosh
d804c44262 test paymaster validations 2024-07-07 12:42:14 +03:00
Dror Tirosh
7331b96c27 returnWithData, revertWithData
arbitrary-length return or revert
(currently, can't test it, since we check "error", and actual revert
data is hidden. will be probably needed when testing paymaster.)
2024-07-07 12:42:14 +03:00
Dror Tirosh
95a378640e initial paymaster test flows 2024-07-07 12:42:14 +03:00
Dror Tirosh
1fc0bd420e
Merge pull request #12 from eth-infinitism/test-flows
AA-343 Test account flows, align with RIP
2024-07-07 12:36:33 +03:00
Dror Tirosh
65daa36d1f test deployer flows 2024-07-06 15:49:44 +03:00
Dror Tirosh
fcf91d4525 pr reviews 2024-07-06 15:49:03 +03:00
Dror Tirosh
603d385c05 paymaster time-range checking 2024-07-06 15:15:05 +03:00
Dror Tirosh
b0b490f350 test paymaster validations 2024-07-06 15:15:05 +03:00
Dror Tirosh
6b7385d6a7 returnWithData, revertWithData
arbitrary-length return or revert
(currently, can't test it, since we check "error", and actual revert
data is hidden. will be probably needed when testing paymaster.)
2024-07-06 15:15:05 +03:00
Dror Tirosh
6e2e44f32b initial paymaster test flows 2024-07-06 15:15:05 +03:00
Dror Tirosh
d5c3069d71 pr issues 2024-07-06 15:12:44 +03:00
Dror Tirosh
49bc2a8570 added time-range tests 2024-07-01 14:23:48 +03:00
Dror Tirosh
702d157aef test nonce 2024-07-01 13:08:03 +03:00
Dror Tirosh
71e6d5ad1d refactor: test HandleRip7560Transactions
(instead of individual validation methods)
2024-06-30 15:41:10 +03:00
Dror Tirosh
ca86ce62a7 update tests, match return values to RIP 2024-06-30 14:38:27 +03:00
Dror Tirosh
e4914004fa check error 2024-06-25 12:09:45 +03:00
Dror Tirosh
12089354ca
refactor dev genesis (#10) 2024-06-25 09:54:13 +02:00
Alex Forshtat
99b5f3c08f WIP: Execute 'ApplyRip7560ValidationPhases' with 'rip7560Validation' tracer 2024-06-05 22:44:16 +02:00
Alex Forshtat
94156da356 WIP: create the 'debug_traceRip7560Validation' API 2024-06-04 20:30:51 +02:00
Dror Tirosh
8064306e4b
remove stub message (#8)
* remove stub message

was created just to create the vm.Txontext

* update
2024-06-04 20:25:16 +02:00
Alex Forshtat
726c7df365
Merge pull request #9 from eth-infinitism/merge-master-jun-4
Merge master jun 4
2024-06-04 20:24:22 +02:00
Dror Tirosh
270c9ad8cf Merge branch 'master' into RIP-7560-revision-2 2024-06-04 20:30:23 +03:00
Dror Tirosh
45ec501b4b
initial Process test (#7)
initial test for the full "Process" call, to handle mixed legacy and AA
transactions
2024-06-04 18:40:06 +02:00
Dror Tirosh
5ce41a95f0
merge master (#6) 2024-06-04 18:38:12 +02:00
rjl493456442
125fb1ff58
core/state: avoid data race (#29924) 2024-06-04 15:51:34 +03:00
SangIlMo
682ae838b2
internal/ethapi: recap higher args.Gas with block GasLimit in DoEstimateGas (#29738)
* internal/ethapi: recap higher args.Gas with block GasLimit in DoEstimateGas

* internal/ethapi: fix gas estimator capping code

* internal/ethapi: fix test

* fix goimports lint (remove space)

---------

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2024-06-04 10:59:41 +03:00
Roy Crihfield
68c0ec0815
trie: iterate values pre-order and fix seek behavior (#27838)
This pull request fixes the pre-order trie traversal by defining 
a more accurate iterator order and path comparison rule.

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2024-06-04 11:17:26 +08:00
Steven Wang
adbbd8cd7b
core/state: prefetch account trie while starting a prefetcher (#29919)
Always prefetch the account trie while starting the prefetcher.

Co-authored-by: steven <steven@stevendeMacBook-Pro.local>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2024-06-04 11:12:24 +08:00
Dror Tirosh
507f4724a7 Test ApplyRip7560ValidationPhases (#5)
* initial UT for ApplyRip7560ValidationPhases

test ./tests/rip7560/

* refactor test context

* add some error tests

* returnData helper

* github actions for rip7560 tests

* update path

* refactor test utils

* refactor textContextBuilder

* remove prestate json.

* pr comments
2024-06-03 19:58:21 +03:00
Alex Forshtat
960cd7f64e Fix comment 2024-06-03 19:58:21 +03:00
Alex Forshtat
57b805187a Remove unused EOA-era function 2024-06-03 19:58:21 +03:00