EIP-4494: Extending ERC-2612-style permits to ERC-721 NFTs

For EIP-4973, if we introduced a function mintWithPermission(/*msg.sender*/uint256 tokenId, uint256 deadline, bytes memory signature) (where address receiver would have to be the msg.sender) this would allow for a very interesting mechanic where:

  • account-bound tokens could at first be minted purely offline by the issuer sending a permission signature and the metadata to an ABT receiver.
  • and then the ABT receiver (in case they need the ABT on-chain), to “lazy-mint” the token with permission of the issuer to their account using EIP-4494.

It’d solve one problem elegantly which Twitter and others in the space like https://erc1238.notion.site/ (see section on “Consent”, actually they implement a variant of EIP-712) have talked about:

  • By default NOT putting any credential immediately on-chain. But only those that the user deems necessary to put on-chain.
  • Minting only towards an account if a mutual agreement between two accounts can be representatively sent to the Ethereum signature validation mechanism aka PoW consensus.