2.1 KiB
| id | title | status | assignee | created_date | updated_date | labels | milestone | dependencies | references | priority | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-37 | Port folk-transaction-builder shape (Safe multisig) | Done | 2026-02-18 19:51 | 2026-03-12 04:38 |
|
m-0 |
|
|
low |
Description
Port TransactionBuilderShapeUtil + Safe components from canvas-website to rspace-online.
Source: canvas-website/src/shapes/TransactionBuilderShapeUtil.tsx (157 lines) + canvas-website/src/components/safe/ (585 lines total: SafeHeader, TransactionComposer, PendingTransactions, TransactionHistory) Target: rspace-online/lib/folk-transaction-builder.ts
Features to implement:
- Transaction composition UI (select recipient, amount, data)
- Pending transaction queue display
- Transaction history view
- Mode switching: compose/pending/history
- Safe wallet integration
May need safe-apps-sdk or ethers.js dependency (TASK-24).
Acceptance Criteria
- #1 Transaction composer creates valid transactions
- #2 Pending queue displays waiting transactions
- #3 History view shows past transactions
- #4 Mode switching works (compose/pending/history)
- #5 Toolbar button added to canvas.html
Implementation Notes
Created folk-transaction-builder.ts canvas shape with Compose/Pending/History tabs. Compose: form for recipient, value, calldata, description with Propose button. Pending: fetches from rwallet proxy, shows confirmation count vs threshold, Confirm/Execute buttons. History: paginated executed txs with block explorer links. Supports Ethereum, Optimism, Gnosis, Polygon, Arbitrum, Base chains. Registered in canvas.html (SHAPE_DEFAULTS, toolbar Spend group, context menu). Uses existing rwallet API endpoints.