Skip to content

Commit df0b6ca

Browse files
committed
Update ADR 0003 clarifications
1 parent db46ae0 commit df0b6ca

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

docs/adr/ADR-0003-typed-transactions-sponsorship.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Gas sponsorship is a recurring requirement for onboarding users and for product
1818

1919
EvNode aims to support sponsorship and batch calls natively. We require a mechanism where a transaction can carry two signatures (authorization + payment) and multiple calls, with deterministic encoding and atomic execution.
2020

21+
Terminology: the **executor** is the signer of domain `0x76`; it provides the `nonce`, is the transaction `from`, and maps to `tx.origin`. The **sponsor** (aka `fee_payer`) is the signer of domain `0x78` and pays gas when sponsorship is present; `fee_payer` is the sponsor address field. **Sponsorship** means `fee_payer` is present and pays gas; it does not change the `from`.
22+
2123
## Decision
2224

2325
We will implement a custom EIP-2718 transaction type `0x76` (`EvNodeTransaction`) that encodes **batched calls** plus an optional sponsor authorization.
@@ -106,7 +108,7 @@ This transaction uses two signature domains to prevent collisions and enable the
106108
* **State:** `fee_payer` and `fee_payer_signature` MUST be both present or both absent.
107109
* **Behavior:**
108110
* If sponsorship is absent: Executor pays gas (standard EIP-1559 behavior).
109-
* If sponsorship is present: Sponsor pays gas; Executor remains `from` / `ORIGIN`.
111+
* If sponsorship is present: Sponsor pays gas; executor remains `from` (tx.origin).
110112

111113
* **Validation:**
112114
* Executor signature MUST be valid for domain `0x76`.

0 commit comments

Comments
 (0)