Skip to content

feat: Arweave DVM uploads, wallet fixes, and Docker support#2

Merged
ALLiDoizCode merged 7 commits into
mainfrom
development
Apr 8, 2026
Merged

feat: Arweave DVM uploads, wallet fixes, and Docker support#2
ALLiDoizCode merged 7 commits into
mainfrom
development

Conversation

@ALLiDoizCode
Copy link
Copy Markdown
Contributor

Summary

  • Replace Blossom uploads with Arweave DVM via TOON Protocol for decentralized file storage
  • Fix TOON wallet connection issues, config improvements, and add dev faucet for testing
  • Add Docker support with nginx configured for SPA serving

Commits

  • 54a1b92e feat: replace Blossom uploads with Arweave DVM via TOON Protocol
  • 87c6c6f8 fix: TOON wallet connection, config fixes, and dev faucet
  • 471a9bc5 feat: add Docker support with nginx for SPA serving

Test plan

  • Verify file uploads work via Arweave DVM
  • Test TOON wallet connection and channel operations
  • Test dev faucet functionality
  • Build and run Docker container, verify SPA routing works

🤖 Generated with Claude Code

ALLiDoizCode and others added 7 commits April 3, 2026 14:22
Replace Blossom HTTP file upload servers with Arweave permanent storage
via TOON Protocol's NIP-90 DVM system (kind 5094). File uploads now
discover DVM providers via kind 10035 service discovery, select the
cheapest provider, and publish blob storage requests with prepaid ILP
micropayments. The Arweave transaction ID is returned in the ILP FULFILL
data and used to construct gateway URLs (ArDrive primary, Arweave fallback).

Key changes:
- Add ArweaveDvmUploader with provider discovery, cost calculation, and
  upload via ToonClient.publishEvent() with destination routing
- Update media URL detection to support ?ext= query params for
  extension-less Arweave gateway URLs
- Remove Blossom upload config, settings UI, and sync (keep display
  fallback for existing Blossom-hosted content)
- Fix viem parseAbi for wallet channel detail/deposit/close/settle pages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix port mappings: btpUrl→19000 (BTP), nostrRelay→19700 (WS relay)
- Fix chain identifier: evm:anvil:31337 → evm:base:31337 (matches peer)
- Fix token address to match Anvil MockERC20 deployment
- Strip cached TOON URLs from localStorage on load (dev config always wins)
- Add DevFaucet component: 1 ETH + 1000 USDC from Anvil deployer
- Fix ws-browser-shim: add Buffer import, removeListener, ping no-op
- Remove events from nodeBuiltins shim (BTPClient needs real EventEmitter)
- Install events browser polyfill package

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Dockerfile, nginx.conf, and .dockerignore for containerized deployment.
Remove unused spec-wip.md and update lockfile.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: replace Blossom uploads with Arweave DVM via TOON Protocol
Use bundled .tgz tarballs for @toon-protocol/* deps instead of local
file: paths that don't exist in CI. Fix TS 5.8 Uint8Array generic
issues, correct nostr-tools API usage (subscribeMany filter, nip57
makeZapRequest), and fix pre-existing eslint error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaces file:.toon-packages/*.tgz references with published npm
versions (core@^1.4.1, client@^0.9.1, relay@^1.3.1, bls@^1.2.1).
Fixes CI failure where tarballs were missing in GitHub Actions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The $react shorthand fails in CI when package-lock.json is deleted
before install. Use explicit version ranges instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ALLiDoizCode ALLiDoizCode merged commit 76dc96f into main Apr 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant