-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AA-416: Create JSON-RPC API standard for RIP-7560 Native Account Abstraction #6
Conversation
Co-authored-by: shahafn <[email protected]>
Co-authored-by: shahafn <[email protected]>
Co-authored-by: shahafn <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong base, so it suggest modifications for many files.
I think it should be dropped, and instead, commit first against our internal document - and from there, push it to the public repo
(at a minimum: make sure you commit a single file.)
ERCS/erc-xxxx.md
Outdated
@@ -0,0 +1,375 @@ | |||
--- | |||
eip: xxxx | |||
title: JSON-RPC API for RIP-7560 Native Account Abstraction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Native AA Transaction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API exposed by NODE
ERCS/erc-xxxx.md
Outdated
|
||
## Motivation | ||
|
||
Native Account Abstraction is expected to supersede the [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we don't motivation for AA here. that's in 7560.
ERCS/erc-xxxx.md
Outdated
| executionGasUsed | QUANTITY | The amount of gas actually used by the execution frame | | ||
| postOpStatus | QUANTITY | 1 (success), 0 (failure), or `null` (did not run) status of the `postOp` frame | | ||
| postOpGasUsed | QUANTITY | The amount of gas actually used by the paymaster `postOp` frame | | ||
| validationLogs | ARRAY | Array of log objects, which this transaction'S VALIDATION FRAME generated. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's interesting.
its a way to report back events but not through a separate "pseudo tx".
still, I think that on-chain, it is a separate tx (e.g the txhash reported in each event)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have discussed it and did not really reach consensus on how to present the validation phase through an RPC API. However, a separate transaction for a part of a transaction is a very breaking change and should be made very carefully.
…on' result schema
ERCS/erc-xxxx.md
Outdated
| Name | Type | Description | | ||
|----------------------------|----------------|--------------------------------------------------------------------------------| | ||
| sender | DATA, 20 Bytes | Address of the sender of this transaction | | ||
| paymaster | DATA, 20 Bytes | Address of the Paymaster if it is paying for the transaction, `null` otherwise | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put all paymaster fields together: if paymaster exists, then all other paymaster fields MUST exist.
if paymaster is missing, then all others MUST NOT exist
ERCS/erc-xxxx.md
Outdated
|
||
### Add RIP-7560 support for `eth_getTransactionReceipt` | ||
|
||
For an RIP-7560 transaction included in a block, return also the values specific to this transaction type |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move Receipt back to 7560
ERCS/erc-xxxx.md
Outdated
|
||
### Add RIP-7560 support for all remaining transaction-level RPC APIs | ||
|
||
This includes the following APIs: `eth_sendTransaction`, `eth_sendRawTransaction`, `eth_getTransactionByHash`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This includes the following APIs: `eth_sendTransaction`, `eth_sendRawTransaction`, `eth_getTransactionByHash`, | |
This includes the following APIs: `eth_sendTransaction`, `eth_sendRawTransaction`, `eth_getTransactionByHash`, `eth_getTransactionReceipt` |
### Add RIP-7560 support for all remaining transaction-level RPC APIs | ||
|
||
This includes the following APIs: | ||
`eth_sendTransaction`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove sendTransaction..
must use sendRawTransaction to send type-4 transaction
(account must do rlp encoding anyway, to sign)
ERCS/erc-xxxx.md
Outdated
| paymaster | DATA, 20 Bytes | Address of the Paymaster contract (optional) | | ||
| paymasterData | DATA | Data that is provided to the Paymaster contract (if `paymaster` is set) | | ||
| executionData | DATA | Data that is provided to the Account contract for execution | | ||
| nonce | QUANTITY | A 256 bit nonce. Use of `nonce > 2^64` is defined in RIP-7712 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
separate nonceKey field
ERCS/erc-xxxx.md
Outdated
The following table represents a full list of fields of an RIP-7560 transaction: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to 7560 along with tx receipt
Co-authored-by: shahafn <[email protected]>
ERCS/erc-xxxx.md
Outdated
|
||
## Rationale | ||
|
||
### Creating `eth_executeRip7560Transaction` instead of modifying `eth_call` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Creating `eth_executeRip7560Transaction` instead of modifying `eth_call` | |
### Creating `eth_callRip7560Transaction` instead of modifying `eth_call` |
Closed in favour of ethereum#625 |
The commit 237cd9a (as a parent of 5d375e6) contains errors. |
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: