add the bitcoin wallet sidecar and ui
the owner's work, committed as one unit rather than split: the registration
files (App.tsx, Dock, AppRegistry, hono.ts, the schema and db barrels,
ecosystem.config.cjs) all reference modules under src/servers/{api,sidecar}/wallet
and src/workspaces/officerdev/src/apps/Wallet, so committing the shared plumbing
on its own would leave a commit that does not build.
officer-wallet is a new pm2 peer holding seed material sealed under an owner
passphrase on top of VAULT_STORE_KEY, with an unlock ttl after which the root key
is wiped from memory. five backends: on-chain via esplora, and lnd, clnrest,
lndhub and nwc for lightning. bolt11 encode/decode is implemented in-tree.
no secrets in the diff — the key-shaped literals under sidecar/wallet are the
bolt11 spec vectors and the bip39 "abandon … about" vector. .env.example gains
placeholders only. bun test src/servers/sidecar/wallet: 38 pass, 0 fail.
not reviewed line by line; assembled and verified to build, not audited.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,9 +37,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-agent-sdk": "^0.2.41",
|
||||
"@bitcoinerlab/secp256k1": "1.2.0",
|
||||
"@getalby/sdk": "^8.0.3",
|
||||
"@hookform/resolvers": "^5.2.2",
|
||||
"@modelcontextprotocol/sdk": "^1.27.1",
|
||||
"@monaco-editor/react": "^4.7.0",
|
||||
"@noble/secp256k1": "^3.1.0",
|
||||
"@radix-ui/react-accordion": "^1.2.12",
|
||||
"@radix-ui/react-alert-dialog": "^1.1.15",
|
||||
"@radix-ui/react-aspect-ratio": "^1.1.7",
|
||||
@@ -69,6 +72,8 @@
|
||||
"@react-oauth/google": "^0.13.4",
|
||||
"@react-three/drei": "^10.7.7",
|
||||
"@react-three/fiber": "^9.5.0",
|
||||
"@scure/bip32": "^2.2.0",
|
||||
"@scure/bip39": "1.6.0",
|
||||
"@simplewebauthn/browser": "^13.2.2",
|
||||
"@simplewebauthn/server": "^13.2.2",
|
||||
"@tabler/icons-react": "^3.36.0",
|
||||
@@ -84,6 +89,8 @@
|
||||
"@xterm/addon-fit": "^0.11.0",
|
||||
"@xterm/xterm": "^6.0.0",
|
||||
"argon2": "^0.44.0",
|
||||
"bech32": "2.0.0",
|
||||
"bitcoinjs-lib": "6.1.5",
|
||||
"bun-plugin-tailwind": "^0.1.2",
|
||||
"check-password-strength": "^3.0.0",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
@@ -96,6 +103,7 @@
|
||||
"discord.js": "^14.25.1",
|
||||
"dotenv": "^17.2.3",
|
||||
"drizzle-orm": "^0.45.1",
|
||||
"ecpair": "3.0.1",
|
||||
"emailer": "workspace:*",
|
||||
"embla-carousel-react": "^8.6.0",
|
||||
"googleapis": "^169.0.0",
|
||||
@@ -148,6 +156,7 @@
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"three": "^0.182.0",
|
||||
"types": "workspace:*",
|
||||
"varuint-bitcoin": "^2.0.0",
|
||||
"vaul": "^1.1.2",
|
||||
"whatsapp-web.js": "^1.34.6",
|
||||
"widgets": "workspace:*",
|
||||
|
||||
Reference in New Issue
Block a user