NEP-641: Off-chain Authorization Resolution for Wallet Contracts#641
NEP-641: Off-chain Authorization Resolution for Wallet Contracts#641frol wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new standards-track NEP (NEP-641) specifying a w_auth_resolve view-function convention for on-chain verification of off-chain authorizations, including recursive resolution for composite wallets (e.g., multisigs) and a NEP-413 fallback for regular accounts.
Changes:
- Introduces the NEP-641 specification for off-chain authorization resolution via
w_auth_resolve. - Defines the wire types/JSON format, normative semantics (purpose/recipient binding, payload equality), and a caller-side recursive resolution algorithm.
- Documents reference flows and security considerations for replay/downgrade/state-drift scenarios.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Reference implementations are forthcoming: | ||
|
|
||
| - A minimal single-signer wallet contract gated by EIP-712 signatures: [`trezu/contracts/wallet/eip712`](https://github.com/frol-ai/intents/tree/main/contracts/wallet). | ||
| - A passkey-gated wallet contract using WebAuthn assertions: TBD. |
Updated NEAR account ID format in protocol flows and diagrams to reflect the use of deterministic account IDs. Adjusted references to wallet contracts and authorization processes accordingly.
|
The use-cases that this NEP would enable are:
|
There is no need to require using base64. Sometimes stringified JSON is enough.
|
This NEP is already implemented in the v0 of wallet contract for EIP-712 (Ethereum signMessage): near/intents#256 and on the client side it is integrated into NEAR Connect: azbang/near-connect#96, and it is live on https://trezu.org |
|
One more consideration that I want to bring up - will |
…tivation for the NEP, explicitly mentioning MPC usecase
Rendered NEP Markdown
It is open for discussion and we collaborate with DefuseLabs team on this.