-
Notifications
You must be signed in to change notification settings - Fork 0
EIP-681 payment-URI derive (opt-in secondary) #14
Open
Description
Part of #8 · Layer 2 (interop) · 🟡 P2 · v1.3+ · opt-in secondary only
What
deriveEip681(invoice): string | null in @void-layer/interop — derive an ethereum: payment URI from an invoice. Returns null for non-ERC-20 or non-expressible cases.
Why & caveats
- Positions void-layer cleanly: EIP-681 = payment intent, void-layer = invoice record. Invoice can derive a payment URI; the reverse is impossible.
⚠️ Wallet support for the ERC-20 function-call form is spotty (full: imToken, D'CENT; partial: MetaMask Mobile, Trust, Coinbase; none: Ledger Live, Rabby, Safe, Phantom...). Dangerous failure mode: wallets without function-call support parse the token contract as recipient → MUST carry a prominent warning.- WalletConnect moved to CAIP-358 (
wallet_pay, draft, no production adopters) — track separately.
Acceptance
-
deriveEip681returns non-null only when token contract + recipient + amount present and chainId is a bare EIP-155 int - prominent warning in API docs about non-supporting wallets
- opt-in only — not part of core decode/encode
wiki: concepts/eip-681-payment-uri.md, concepts/eip-681-wallet-adoption-2026.md
Metadata
Metadata
Assignees
Type
Fields
Give feedbackNo fields configured for issues without a type.