-
Notifications
You must be signed in to change notification settings - Fork 2
Open
1 / 11 of 1 issue completedLabels
enhancementNew feature or requestNew feature or request
Description
Problem
We need to adequately show developers how to use SIWF v2, allow them to check their implemetation for correctness, build good tests, and suchlike.
Write a reference app that demonstrates how to use siwf v2 (only, not v1).
Acceptance Criteria
Payloads can use pre-configured input such as MSAs, domains and handles for the first version.
Part I
- a Design Document. For guidance on this format, see frequency-chain designdocs
Part II, implementation.
It should demonstrate how to:
- build and sign all possible payload content and generate request and response data
- connect to window.ethereum -what Metamask uses. See EIP-1193
- connect to polkadot-compatible wallets such as Subwallet and Talisman ,
- enable users to sign payloads:
- creating secp256k1 signatures (using EIP-712 payload)
- creating sr25519 signatures (using SCALE-encoded payloads).
- The resulting payload should be pastable into an RPC call or for testing, assuming any other prerequisites are met (the MSA exists, the delegations exist, the provider exists, etc).
- The reference app should work with Social App Template if SAT is configured to use it instead of Frequency Access.
Part III Bonus work, possibly for a second version:
- The payloads and signatures it produces should be able to be pasted into Gateway's Swagger API endpoints and succeed, assuming any prerequisites are met
- The payloads should be configurable through a form that shows the user-settable fields such as MSA, handle, and address.
- There should be a generic payload signing tool that will submit a payload to the chosen wallet using the correct payload type.
- Support for EIP-6963
For guidance, look at connect embedded-wallet-sdk, especially the startSiwf function, but it does more than is needed for a reference app, like connecting to gateway.
Sub-issues
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request