Security (Desktop Wallet): - Implement BIP39 mnemonic generation with cryptographic RNG - Add Argon2id password-based key derivation (64MB, 3 iterations) - Add ChaCha20-Poly1305 authenticated encryption for seed storage - Add mnemonic auto-clear (60s timeout) and clipboard auto-clear (30s) - Add sanitized error logging to prevent credential leaks - Strengthen CSP with object-src, base-uri, form-action, frame-ancestors - Clear sensitive state on component unmount Explorer (Gas Estimator): - Add Gas Estimation page with from/to/amount/data inputs - Add bech32 address validation (synor1/tsynor1 prefix) - Add BigInt-based amount parsing to avoid floating point errors - Add production guard for mock mode (cannot enable in prod builds) Monitoring (30-day Testnet): - Add Prometheus config with 30-day retention - Add comprehensive alert rules for node health, consensus, network, mempool - Add Alertmanager with severity-based routing and inhibition rules - Add Grafana with auto-provisioned datasource and dashboard - Add Synor testnet dashboard with uptime SLA tracking Docker: - Update docker-compose.testnet.yml with monitoring profile - Fix node-exporter for macOS Docker Desktop compatibility - Change Grafana port to 3001 to avoid conflict
84 lines
2.1 KiB
JSON
84 lines
2.1 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "Synor Wallet",
|
|
"version": "0.1.0",
|
|
"identifier": "io.synor.wallet",
|
|
"build": {
|
|
"beforeDevCommand": "pnpm dev",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeBuildCommand": "pnpm build",
|
|
"frontendDist": "../dist"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": true,
|
|
"windows": [
|
|
{
|
|
"title": "Synor Wallet",
|
|
"width": 1024,
|
|
"height": 768,
|
|
"minWidth": 800,
|
|
"minHeight": 600,
|
|
"resizable": true,
|
|
"fullscreen": false,
|
|
"center": true,
|
|
"decorations": true,
|
|
"transparent": false
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": "default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self' ws://localhost:* http://localhost:* https://*.synor.io wss://*.synor.io; img-src 'self' data: blob:; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'"
|
|
},
|
|
"trayIcon": {
|
|
"iconPath": "icons/icon.png",
|
|
"iconAsTemplate": true
|
|
}
|
|
},
|
|
"plugins": {
|
|
"fs": {
|
|
"scope": {
|
|
"allow": ["$APPDATA/*", "$HOME/.synor/*"]
|
|
}
|
|
},
|
|
"store": {},
|
|
"shell": {
|
|
"open": true
|
|
},
|
|
"dialog": {},
|
|
"clipboard-manager": {}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
],
|
|
"publisher": "Synor",
|
|
"category": "Finance",
|
|
"shortDescription": "Secure Synor blockchain wallet",
|
|
"longDescription": "A secure desktop wallet for the Synor blockchain network with post-quantum cryptography support (Dilithium3).",
|
|
"macOS": {
|
|
"entitlements": null,
|
|
"exceptionDomain": "",
|
|
"frameworks": [],
|
|
"minimumSystemVersion": "10.15",
|
|
"signingIdentity": null
|
|
},
|
|
"windows": {
|
|
"certificateThumbprint": null,
|
|
"digestAlgorithm": "sha256",
|
|
"timestampUrl": ""
|
|
},
|
|
"linux": {
|
|
"appimage": {
|
|
"bundleMediaFramework": false
|
|
},
|
|
"deb": {
|
|
"depends": []
|
|
}
|
|
}
|
|
}
|
|
}
|