Agenda
Quick intros
- What company or interest do you represent?
- What are you hoping to get out of this group?
Goals
- Align on scope and priorities for wallet-related SDKs and libraries
- near-api-js
- Wallet SDKs
- Core functionality for supporting NEAR (signing transactions, creating accounts, managing keys)
- Functionality for interacting with wallets
- onboard.js
- Opportunity for maintainers to solicit feedback
- Assign tasks or accept new maintainers
- Classify wallets
- Sign transactions only
- Sign and send (interact with the chain)
- Injected or native wallets
- Web wallets
Asks
- Attend monthly WG syncs
- Provide feedback to maintainers
- Occasional one off calls
- Surveys or priorities and requirements gathering
- Comments on GitHub repos and issues
- Telegram
- Help out, volunteer, build!
First win
- onboard.js for NEAR
- Wallet selection
- Standard way to sign transactions and send transactions to the chain
- App-side library
- Used instead of near-api-js?
- Which wallets will use redirect vs. injected vs. WalletConnect?
- Injected
- Narwallets
- Moonlet (chrome extension)
- Math (native and chrome extension)
- Redirect
- WalletConnect (~Q2)
- Moonlet (native)
- Trust Wallet
- Requirements
- Detects injected provider
- Handle communication between the app and the wallet
- Signatures and transactions are routed through provider if it exists, otherwise redirect
- Developers can specify which wallets they want to support
- Modal will show wallets available for chosen support type
- Injected vs. Redirect vs. WalletConnect
- Optional
- Lists available NEAR wallets
- Math Wallet
- Narwallets
- NEAR Wallet
- Moonlet
- WalletConnect (~Q2)
- Includes UI for wallet selection
- Standard for providers
- Use the near-api-js API?
- Existing NEP
- Order of operations
- Initiate transaction signing
- Provider signs transaction
- Presents TX details to users
- Returns a hash to the application
- NEP-10
- Web wallets set URL
- Mobile may be able to do this as well?
- Injected JS implements two functions
- Math-wallet has example of this standard: https://github.com/mathwallet/math-nearjs
- Is Math's implementation of login() public?
TODOs
- Define the provider standard/API
- near-api-js can be used to implement API in a provider (as a dependency)
- No sensitive info (private keys) sent in provider
- Malicious provider?
- API
- Provide feedback on NEP-10
- Scope wallet-selection.js