You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a new transaction type that adds a list of `[address, nonce, y_parity, r, s]` authorization tuples, and deploy a delegation designator to the signing accounts so calls into the accounts execute the code at associated `address`.
16
+
Add a new transaction type that adds a list of `[chain_id, address, nonce, y_parity, r, s]` authorization tuples. For each tuple, write a delegation designator `(0xef0000 ++ address)`to the signing account's code. All code reading operations must load the pointed to by the designator.
The fields `chain_id`, `nonce`, `max_priority_fee_per_gas`, `max_fee_per_gas`, `gas_limit`, `destination`, `value`, `data`, and `access_list` of the outer transaction follow the same semantics as [EIP-1559](./eip-1559.md).
47
47
48
-
The `authorization_list` is a list of tuples that store the address to code which the signer desires to point to from their EOA.
48
+
The `authorization_list` is a list of tuples that store the address to code which the signer desires to execute in the context of their EOA.
49
49
50
50
The [EIP-2718](./eip-2718.md)`ReceiptPayload` for this transaction is `rlp([status, cumulative_transaction_gas_used, logs_bloom, logs])`.
51
51
@@ -155,7 +155,7 @@ Specifically:
155
155
* The "code pathways" that are used are code pathways that would, in many cases (though perhaps not all), continue to "make sense" in a pure-smart-contract-wallet world.
156
156
* Hence, it avoids the problem of "creating two separate code ecosystems", because to a large extent they would be the same ecosystem. There would be some workflows that require kludges under this solution that would be better done in some different "more native" under "endgame AA", but this is relatively a small subset.
157
157
* It does not require adding any opcodes, that would become dangling and useless in a post-EOA world.
158
-
* It allows EOAs to temporarily convert themselves into contracts to be included in ERC-4337 bundles, in a way that's compatible with the existing `EntryPoint`.
158
+
* It allows EOAs to masquerade as contracts to be included in ERC-4337 bundles, in a way that's compatible with the existing `EntryPoint`.
159
159
* Once this is implemented, allowing EOAs to migrate permanently is "only one line of code": just add a flag to not set the code back to empty at the end.
0 commit comments