Implement ETH send and QR code receive
All checks were successful
check / check (push) Successful in 22s
All checks were successful
check / check (push) Successful in 22s
Send: stores mnemonic/private key with wallet data, derives signing key from mnemonic + address index via ethers HDNodeWallet, constructs transaction with parseEther, broadcasts via sendTransaction, waits for confirmation, shows block number and tx hash. ENS resolution in To field preserved. Receive: QR code rendered to canvas via qrcode library (1.5.4). Shows scannable QR above the full address text. README updated with qrcode dependency and TODO progress.
This commit is contained in:
@@ -332,6 +332,7 @@ delegated to these libraries — see the Crypto Policy section below.
|
||||
| ------------------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ethers` | 6.16.0 | MIT | All Ethereum operations: BIP-39 mnemonic generation/validation, BIP-32/BIP-44 HD key derivation (`m/44'/60'/0'/0/n`), secp256k1 signing, transaction construction, ERC-20 contract interaction, JSON-RPC communication, address derivation (keccak256). |
|
||||
| `libsodium-wrappers-sumo` | 0.8.2 | ISC | Password-based encryption of secrets at rest: Argon2id key derivation (`crypto_pwhash`), authenticated encryption (`crypto_secretbox` / XSalsa20-Poly1305). |
|
||||
| `qrcode` | 1.5.4 | MIT | QR code generation for the Receive screen (renders address as scannable QR on canvas). |
|
||||
|
||||
Dev dependencies (not shipped in extension):
|
||||
|
||||
@@ -478,14 +479,14 @@ Everything needed for a minimal working wallet that can send and receive ETH.
|
||||
- [ ] Encrypt recovery phrase / private key with password via libsodium
|
||||
(Argon2id + XSalsa20-Poly1305)
|
||||
- [ ] Password prompt on Send (decrypt private key to construct transaction)
|
||||
- [ ] Transaction construction via ethers.js (to, value, gasLimit, gasPrice)
|
||||
- [x] Transaction construction via ethers.js (to, value, gasLimit, gasPrice)
|
||||
- [ ] Gas estimation and fee display before confirming
|
||||
- [ ] Broadcast transaction via `eth_sendRawTransaction`
|
||||
- [ ] Transaction status feedback (pending → confirmed / failed)
|
||||
- [x] Broadcast transaction via `eth_sendRawTransaction`
|
||||
- [x] Transaction status feedback (pending → confirmed / failed)
|
||||
|
||||
### Receiving
|
||||
|
||||
- [ ] QR code generation for address (text-based or lightweight QR library)
|
||||
- [x] QR code generation for address (qrcode library, renders to canvas)
|
||||
|
||||
### Display
|
||||
|
||||
|
||||
Reference in New Issue
Block a user