Skip to content

Commit

Permalink
Update eip-5453.md
Browse files Browse the repository at this point in the history
  • Loading branch information
xinbenlv authored Sep 12, 2023
1 parent 5ea88da commit b0dc8d0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions EIPS/eip-5453.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ requires: 165, 712, 1271, 5750
## Abstract

This EIP establish a general protocol for permitting approving function calls in the same transaction rely on [ERC-5750](./eip-5750.md).
Unlike a few prior art ([ERC-2612](./eip-2612.md) for [ERC-20](./eip-20.md), [ERC-4494](./eip-4494.md) for [ERC-721](./eip-721.md) that
usually only permit for a single behavior (`transfer` for EIP-20 and `safeTransferFrom` for EIP-721) and a single approver in two transactions (first a `permit(...)` TX, then a `transfer`-like TX), this EIP provides a way to permit arbitrary behaviors and aggregating multiple approvals from arbitrary number of approvers in the same transaction, allowing for Multi-Sig or Threshold Signing behavior.
Unlike a few prior art ([ERC-2612](./eip-2612.md) for [ERC-20](./eip-20.md), `ERC-4494` for [ERC-721](./eip-721.md) that
usually only permit for a single behavior (`transfer` for ERC-20 and `safeTransferFrom` for ERC-721) and a single approver in two transactions (first a `permit(...)` TX, then a `transfer`-like TX), this EIP provides a way to permit arbitrary behaviors and aggregating multiple approvals from arbitrary number of approvers in the same transaction, allowing for Multi-Sig or Threshold Signing behavior.

<!-- TODO add context about other EIPs this EIP is designed to work with. -->

Check failure on line 20 in EIPS/eip-5453.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

HTML comments are not allowed when `status` is `Review`

error[markdown-html-comments]: HTML comments are not allowed when `status` is `Review` --> EIPS/eip-5453.md | 20 | <!-- TODO add context about other EIPs this EIP is designed to work with. --> | ::: EIPS/eip-5453.md | 31 | <!-- TODO add details about Motivations and example use cases --> | ::: EIPS/eip-5453.md | 41 | <!-- TODO add detail explanation of each method parameters. --> | ::: EIPS/eip-5453.md | 148 | <!-- TODO convert the solidity code into mathematical representation. --> | = help: see https://ethereum.github.io/eipw/markdown-html-comments/
## Motivation
Expand Down Expand Up @@ -172,7 +172,7 @@ whereas
## Rationale

1. We chose to have both `ERC5453_TYPE_A`(single-endorsement) and `ERC5453_TYPE_B`(multiple-endorsements, same nonce for entire contract) so we
could balance a wider range of use cases. E.g. the same use cases of EIP-2612 and EIP-4494 can be supported by `ERC5453_TYPE_A`. And threshold approvals can be done via `ERC5453_TYPE_B`. More complicated approval types can also be extended by defining new `ERC5453_TYPE_?`
could balance a wider range of use cases. E.g. the same use cases of ERC-2612 and `ERC-4494` can be supported by `ERC5453_TYPE_A`. And threshold approvals can be done via `ERC5453_TYPE_B`. More complicated approval types can also be extended by defining new `ERC5453_TYPE_?`

2. We chose to include both `validSince` and `validBy` to allow maximum flexibility in expiration. This can be also be supported by EVM natively at if adopted [ERC-5081](./eip-5081.md) but EIP-5081 will not be adopted anytime soon, we choose to add these two numbers in our protocol to allow

Check failure on line 177 in EIPS/eip-5453.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

the first match of the given pattern must be a link

error[markdown-link-first]: the first match of the given pattern must be a link --> EIPS/eip-5453.md | 177 | 2. We chose to include both `validSince` and `validBy` to allow maximum flexibility in expiration. This can be also be supported by EVM natively at if adopted [ERC-5081](./eip-5081.md) but EIP-5081 will not be adopted anytime soon, we choose to add these two numbers in our protocol to allow | = info: the pattern in question: `(?i)(?:eip|erc)-[0-9]+` = help: see https://ethereum.github.io/eipw/markdown-link-first/

Check failure on line 177 in EIPS/eip-5453.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

proposal `eip-5081.md` is not stable enough for a `status` of `Review`

error[markdown-link-status]: proposal `eip-5081.md` is not stable enough for a `status` of `Review` --> EIPS/eip-5453.md | 177 | 2. We chose to include both `validSince` and `validBy` to allow maximum flexibility in expiration. This can be also be supported by EVM natively at if adopted [ERC-5081](./eip-5081.md) but EIP-5081 will not be adopted anytime soon, we choose to add these two numbers in our protocol to allow | = help: because of this link, this proposal's `status` must be one of: `Draft`, `Stagnant` = help: see https://ethereum.github.io/eipw/markdown-link-status/

Check failure on line 177 in EIPS/eip-5453.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

references to proposals with a `category` of `Core` must use a prefix of `EIP`

error[markdown-refs]: references to proposals with a `category` of `Core` must use a prefix of `EIP` --> EIPS/eip-5453.md | 177 | 2. We chose to include both `validSince` and `validBy` to allow maximum flexibility in expiration. This can be also be supported by EVM natively at if adopted [ERC-5081](./eip-5081.md) but EIP-5081 will not be adopted anytime soon, we choose to add these two numbers in our protocol to allow |
smart contract level support.
Expand Down Expand Up @@ -262,7 +262,7 @@ See [`AERC5453.sol`](../assets/eip-5453/AERC5453.sol)

### Reference Implementation of `EndorsableERC721`

Here is a reference implementation of `EndorsableERC721` that achieves similar behavior of [ERC-4494](./eip-4494.md).
Here is a reference implementation of `EndorsableERC721` that achieves similar behavior of `ERC-4494`.

```solidity
pragma solidity ^0.8.9;
Expand Down

0 comments on commit b0dc8d0

Please sign in to comment.