arc402-cli 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/MIGRATION-SPEC.md +108 -0
  2. package/dist/abis.js +14 -17
  3. package/dist/abis.js.map +1 -1
  4. package/dist/bundler.d.ts +1 -1
  5. package/dist/bundler.d.ts.map +1 -1
  6. package/dist/bundler.js +27 -61
  7. package/dist/bundler.js.map +1 -1
  8. package/dist/client.d.ts +1 -1
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +5 -9
  11. package/dist/client.js.map +1 -1
  12. package/dist/coinbase-smart-wallet.js +1 -4
  13. package/dist/coinbase-smart-wallet.js.map +1 -1
  14. package/dist/commands/accept.js +25 -28
  15. package/dist/commands/accept.js.map +1 -1
  16. package/dist/commands/agent-handshake.js +15 -18
  17. package/dist/commands/agent-handshake.js.map +1 -1
  18. package/dist/commands/agent.js +98 -104
  19. package/dist/commands/agent.js.map +1 -1
  20. package/dist/commands/agreements.js +62 -98
  21. package/dist/commands/agreements.js.map +1 -1
  22. package/dist/commands/arbitrator.js +45 -81
  23. package/dist/commands/arbitrator.js.map +1 -1
  24. package/dist/commands/arena-handshake.js +27 -30
  25. package/dist/commands/arena-handshake.js.map +1 -1
  26. package/dist/commands/arena.js +12 -18
  27. package/dist/commands/arena.js.map +1 -1
  28. package/dist/commands/backup.js +30 -36
  29. package/dist/commands/backup.js.map +1 -1
  30. package/dist/commands/cancel.js +15 -18
  31. package/dist/commands/cancel.js.map +1 -1
  32. package/dist/commands/channel.js +45 -81
  33. package/dist/commands/channel.js.map +1 -1
  34. package/dist/commands/coldstart.js +31 -34
  35. package/dist/commands/coldstart.js.map +1 -1
  36. package/dist/commands/config.js +23 -29
  37. package/dist/commands/config.js.map +1 -1
  38. package/dist/commands/contract-interaction.js +12 -15
  39. package/dist/commands/contract-interaction.js.map +1 -1
  40. package/dist/commands/daemon.d.ts.map +1 -1
  41. package/dist/commands/daemon.js +98 -135
  42. package/dist/commands/daemon.js.map +1 -1
  43. package/dist/commands/deliver.js +37 -76
  44. package/dist/commands/deliver.js.map +1 -1
  45. package/dist/commands/discover.js +24 -27
  46. package/dist/commands/discover.js.map +1 -1
  47. package/dist/commands/dispute.js +104 -110
  48. package/dist/commands/dispute.js.map +1 -1
  49. package/dist/commands/doctor.js +16 -55
  50. package/dist/commands/doctor.js.map +1 -1
  51. package/dist/commands/endpoint.js +56 -95
  52. package/dist/commands/endpoint.js.map +1 -1
  53. package/dist/commands/feed.js +11 -18
  54. package/dist/commands/feed.js.map +1 -1
  55. package/dist/commands/hire.js +37 -40
  56. package/dist/commands/hire.js.map +1 -1
  57. package/dist/commands/migrate.js +30 -33
  58. package/dist/commands/migrate.js.map +1 -1
  59. package/dist/commands/negotiate.d.ts.map +1 -1
  60. package/dist/commands/negotiate.js +34 -36
  61. package/dist/commands/negotiate.js.map +1 -1
  62. package/dist/commands/openshell.js +68 -104
  63. package/dist/commands/openshell.js.map +1 -1
  64. package/dist/commands/owner.js +17 -20
  65. package/dist/commands/owner.js.map +1 -1
  66. package/dist/commands/policy.js +41 -43
  67. package/dist/commands/policy.js.map +1 -1
  68. package/dist/commands/relay.d.ts.map +1 -1
  69. package/dist/commands/relay.js +18 -51
  70. package/dist/commands/relay.js.map +1 -1
  71. package/dist/commands/remediate.js +20 -23
  72. package/dist/commands/remediate.js.map +1 -1
  73. package/dist/commands/reputation.js +25 -27
  74. package/dist/commands/reputation.js.map +1 -1
  75. package/dist/commands/setup.js +65 -104
  76. package/dist/commands/setup.js.map +1 -1
  77. package/dist/commands/trust.js +17 -20
  78. package/dist/commands/trust.js.map +1 -1
  79. package/dist/commands/verify.js +18 -21
  80. package/dist/commands/verify.js.map +1 -1
  81. package/dist/commands/wallet.js +619 -625
  82. package/dist/commands/wallet.js.map +1 -1
  83. package/dist/commands/watch.js +33 -36
  84. package/dist/commands/watch.js.map +1 -1
  85. package/dist/commands/watchtower.js +37 -73
  86. package/dist/commands/watchtower.js.map +1 -1
  87. package/dist/commands/workroom.d.ts.map +1 -1
  88. package/dist/commands/workroom.js +138 -171
  89. package/dist/commands/workroom.js.map +1 -1
  90. package/dist/config.js +21 -65
  91. package/dist/config.js.map +1 -1
  92. package/dist/daemon/config.d.ts.map +1 -1
  93. package/dist/daemon/config.js +16 -53
  94. package/dist/daemon/config.js.map +1 -1
  95. package/dist/daemon/hire-listener.d.ts +3 -3
  96. package/dist/daemon/hire-listener.d.ts.map +1 -1
  97. package/dist/daemon/hire-listener.js +13 -47
  98. package/dist/daemon/hire-listener.js.map +1 -1
  99. package/dist/daemon/index.d.ts +1 -1
  100. package/dist/daemon/index.d.ts.map +1 -1
  101. package/dist/daemon/index.js +50 -88
  102. package/dist/daemon/index.js.map +1 -1
  103. package/dist/daemon/job-lifecycle.d.ts +1 -1
  104. package/dist/daemon/job-lifecycle.d.ts.map +1 -1
  105. package/dist/daemon/job-lifecycle.js +11 -51
  106. package/dist/daemon/job-lifecycle.js.map +1 -1
  107. package/dist/daemon/notify.d.ts +1 -1
  108. package/dist/daemon/notify.d.ts.map +1 -1
  109. package/dist/daemon/notify.js +19 -53
  110. package/dist/daemon/notify.js.map +1 -1
  111. package/dist/daemon/token-metering.js +8 -47
  112. package/dist/daemon/token-metering.js.map +1 -1
  113. package/dist/daemon/userops.d.ts +2 -2
  114. package/dist/daemon/userops.d.ts.map +1 -1
  115. package/dist/daemon/userops.js +23 -27
  116. package/dist/daemon/userops.js.map +1 -1
  117. package/dist/daemon/wallet-monitor.d.ts +1 -1
  118. package/dist/daemon/wallet-monitor.d.ts.map +1 -1
  119. package/dist/daemon/wallet-monitor.js +8 -12
  120. package/dist/daemon/wallet-monitor.js.map +1 -1
  121. package/dist/drain-v4.js +26 -64
  122. package/dist/drain-v4.js.map +1 -1
  123. package/dist/endpoint-config.js +20 -63
  124. package/dist/endpoint-config.js.map +1 -1
  125. package/dist/endpoint-notify.js +9 -48
  126. package/dist/endpoint-notify.js.map +1 -1
  127. package/dist/index.js +16 -50
  128. package/dist/index.js.map +1 -1
  129. package/dist/openshell-runtime.d.ts.map +1 -1
  130. package/dist/openshell-runtime.js +38 -82
  131. package/dist/openshell-runtime.js.map +1 -1
  132. package/dist/program.d.ts.map +1 -1
  133. package/dist/program.js +77 -83
  134. package/dist/program.js.map +1 -1
  135. package/dist/repl.js +25 -31
  136. package/dist/repl.js.map +1 -1
  137. package/dist/signing.js +3 -6
  138. package/dist/signing.js.map +1 -1
  139. package/dist/telegram-notify.js +3 -40
  140. package/dist/telegram-notify.js.map +1 -1
  141. package/dist/tui/App.d.ts.map +1 -1
  142. package/dist/tui/App.js +44 -50
  143. package/dist/tui/App.js.map +1 -1
  144. package/dist/tui/Footer.js +4 -7
  145. package/dist/tui/Footer.js.map +1 -1
  146. package/dist/tui/Header.js +7 -13
  147. package/dist/tui/Header.js.map +1 -1
  148. package/dist/tui/InputLine.js +17 -23
  149. package/dist/tui/InputLine.js.map +1 -1
  150. package/dist/tui/Viewport.js +5 -8
  151. package/dist/tui/Viewport.js.map +1 -1
  152. package/dist/tui/WalletConnectPairing.d.ts +23 -0
  153. package/dist/tui/WalletConnectPairing.d.ts.map +1 -0
  154. package/dist/tui/WalletConnectPairing.js +75 -0
  155. package/dist/tui/WalletConnectPairing.js.map +1 -0
  156. package/dist/tui/index.d.ts.map +1 -1
  157. package/dist/tui/index.js +14 -21
  158. package/dist/tui/index.js.map +1 -1
  159. package/dist/tui/useChat.js +13 -19
  160. package/dist/tui/useChat.js.map +1 -1
  161. package/dist/tui/useCommand.js +12 -18
  162. package/dist/tui/useCommand.js.map +1 -1
  163. package/dist/tui/useScroll.js +9 -12
  164. package/dist/tui/useScroll.js.map +1 -1
  165. package/dist/ui/banner.js +12 -19
  166. package/dist/ui/banner.js.map +1 -1
  167. package/dist/ui/colors.js +13 -19
  168. package/dist/ui/colors.js.map +1 -1
  169. package/dist/ui/format.js +6 -14
  170. package/dist/ui/format.js.map +1 -1
  171. package/dist/ui/spinner.js +6 -12
  172. package/dist/ui/spinner.js.map +1 -1
  173. package/dist/ui/tree.js +3 -6
  174. package/dist/ui/tree.js.map +1 -1
  175. package/dist/utils/format.js +27 -41
  176. package/dist/utils/format.js.map +1 -1
  177. package/dist/utils/hash.js +4 -42
  178. package/dist/utils/hash.js.map +1 -1
  179. package/dist/utils/time.js +2 -6
  180. package/dist/utils/time.js.map +1 -1
  181. package/dist/wallet-router.d.ts +1 -1
  182. package/dist/wallet-router.d.ts.map +1 -1
  183. package/dist/wallet-router.js +12 -19
  184. package/dist/wallet-router.js.map +1 -1
  185. package/dist/walletconnect-session.d.ts +1 -1
  186. package/dist/walletconnect-session.d.ts.map +1 -1
  187. package/dist/walletconnect-session.js +6 -11
  188. package/dist/walletconnect-session.js.map +1 -1
  189. package/dist/walletconnect.d.ts +6 -1
  190. package/dist/walletconnect.d.ts.map +1 -1
  191. package/dist/walletconnect.js +32 -35
  192. package/dist/walletconnect.js.map +1 -1
  193. package/package.json +7 -6
  194. package/src/bundler.ts +1 -1
  195. package/src/client.ts +1 -1
  196. package/src/commands/accept.ts +7 -7
  197. package/src/commands/agent-handshake.ts +4 -4
  198. package/src/commands/agent.ts +9 -9
  199. package/src/commands/agreements.ts +8 -8
  200. package/src/commands/arbitrator.ts +5 -5
  201. package/src/commands/arena-handshake.ts +6 -6
  202. package/src/commands/arena.ts +2 -2
  203. package/src/commands/backup.ts +1 -1
  204. package/src/commands/cancel.ts +6 -6
  205. package/src/commands/channel.ts +6 -6
  206. package/src/commands/coldstart.ts +5 -5
  207. package/src/commands/config.ts +2 -2
  208. package/src/commands/contract-interaction.ts +2 -2
  209. package/src/commands/daemon.ts +14 -11
  210. package/src/commands/deliver.ts +9 -9
  211. package/src/commands/discover.ts +5 -5
  212. package/src/commands/dispute.ts +7 -7
  213. package/src/commands/doctor.ts +2 -2
  214. package/src/commands/endpoint.ts +6 -6
  215. package/src/commands/feed.ts +1 -1
  216. package/src/commands/hire.ts +10 -10
  217. package/src/commands/migrate.ts +7 -7
  218. package/src/commands/negotiate.ts +6 -5
  219. package/src/commands/openshell.ts +4 -4
  220. package/src/commands/owner.ts +5 -5
  221. package/src/commands/policy.ts +5 -5
  222. package/src/commands/relay.ts +5 -1
  223. package/src/commands/remediate.ts +5 -5
  224. package/src/commands/reputation.ts +6 -6
  225. package/src/commands/setup.ts +1 -1
  226. package/src/commands/trust.ts +6 -6
  227. package/src/commands/verify.ts +6 -6
  228. package/src/commands/wallet.ts +15 -15
  229. package/src/commands/watch.ts +3 -3
  230. package/src/commands/watchtower.ts +6 -6
  231. package/src/commands/workroom.ts +14 -10
  232. package/src/daemon/config.ts +2 -1
  233. package/src/daemon/hire-listener.ts +3 -3
  234. package/src/daemon/index.ts +10 -9
  235. package/src/daemon/job-lifecycle.ts +1 -1
  236. package/src/daemon/notify.ts +4 -4
  237. package/src/daemon/userops.ts +4 -4
  238. package/src/daemon/wallet-monitor.ts +2 -2
  239. package/src/endpoint-notify.ts +1 -1
  240. package/src/index.ts +8 -7
  241. package/src/openshell-runtime.ts +5 -1
  242. package/src/program.ts +36 -36
  243. package/src/repl.ts +3 -3
  244. package/src/tui/App.tsx +15 -10
  245. package/src/tui/Header.tsx +1 -1
  246. package/src/tui/InputLine.tsx +1 -1
  247. package/src/tui/WalletConnectPairing.tsx +131 -0
  248. package/src/tui/index.tsx +7 -8
  249. package/src/tui/useChat.ts +1 -1
  250. package/src/tui/useCommand.ts +4 -4
  251. package/src/ui/banner.ts +2 -2
  252. package/src/ui/tree.ts +1 -1
  253. package/src/wallet-router.ts +2 -2
  254. package/src/walletconnect-session.ts +1 -1
  255. package/src/walletconnect.ts +20 -5
  256. package/tsconfig.json +16 -7
@@ -0,0 +1,108 @@
1
+ # Ink 6 + ESM Migration Spec
2
+
3
+ ## Goal
4
+ Migrate ARC-402 CLI from Ink 3 (CommonJS) to Ink 6 (ESM + React 19).
5
+ Also build a native WalletConnect Ink component so QR codes render inside the TUI viewport.
6
+
7
+ ## Current State
8
+ - ink@3.2.0, react@18.3.1, ink-text-input@4.0.3
9
+ - tsconfig: module=commonjs, target=ES2020
10
+ - ~33k lines of TypeScript across 53+ source files
11
+ - All source uses `import/export` syntax, compiled to CJS by tsc
12
+ - Some files use `require()` for package.json reads
13
+ - TUI files: src/tui/ (App.tsx, Header.tsx, Viewport.tsx, InputLine.tsx, Footer.tsx, index.tsx, useChat.ts, useCommand.ts, useScroll.ts)
14
+
15
+ ## Phase 1: ESM + Ink 6 Migration
16
+
17
+ ### Step 1: Update package.json
18
+ - Add `"type": "module"`
19
+ - Update deps: `ink@^6.8.0`, `react@^19.0.0`, `@types/react@^19.0.0`, `ink-text-input@^6.0.0`
20
+ - Add `react-devtools-core` as optional peer dep if needed
21
+ - Run `npm install`
22
+
23
+ ### Step 2: Update tsconfig.json
24
+ - Change `"module": "NodeNext"` and add `"moduleResolution": "NodeNext"`
25
+ - Change `"target": "ES2022"` and `"lib": ["ES2022"]`
26
+ - Remove the `paths` entries for ink/ink-text-input (Ink 6 has proper types)
27
+ - Add ethers path mapping if needed: `"ethers": ["./node_modules/ethers/lib.commonjs/index.d.ts"]`
28
+
29
+ ### Step 3: Fix ALL relative imports
30
+ Every `import ... from "./foo"` must become `import ... from "./foo.js"`.
31
+ Every `import ... from "../foo"` must become `import ... from "../foo.js"`.
32
+ TSX files: `import ... from "./App"` → `import ... from "./App.js"` (tsc compiles .tsx to .js)
33
+
34
+ ### Step 4: Convert require() calls to import
35
+ - `require("../../package.json")` → use `createRequire(import.meta.url)` from `"node:module"`
36
+ - `require("ethers")` etc → already using `import`, should be fine
37
+ - Dynamic requires → convert to dynamic `import()`
38
+
39
+ ### Step 5: Fix Ink 6 API changes
40
+ - Check if `useStdout`, `useInput`, `useApp` signatures changed
41
+ - `ink-text-input@6` may have different import path or component API
42
+ - `<Static>` component may have changed
43
+ - Verify `render()` function signature
44
+
45
+ ### Step 6: Build & fix errors iteratively
46
+ - Run `npx tsc --noEmit` after each batch of changes
47
+ - Fix type errors in batches by file category (TUI files first, then commands, then daemon)
48
+
49
+ ## Phase 2: TUI Design Improvements
50
+
51
+ ### Step 7: Remove vertical box borders
52
+ The TUI should use horizontal separator lines only (no │ borders — they break on resize):
53
+ ```
54
+ ██████╗ ██████╗ ██████╗ ...
55
+ agent-to-agent arcing · v0.7.5
56
+ ◈ ──────────────────────────────────────
57
+ Network Base Mainnet Wallet 0xa9e0..
58
+ ─────────────────────────────────────────────
59
+ scrollable output area
60
+ ─────────────────────────────────────────────
61
+ ◈ arc402 > _
62
+ ```
63
+
64
+ ### Step 8: ARC402_NO_TUI env guard
65
+ In src/index.ts, the TTY TUI launch condition must check `!process.env.ARC402_NO_TUI`:
66
+ ```ts
67
+ } else if (process.stdout.isTTY && !hasSubcommand && process.argv.length <= 2 && !process.env.ARC402_NO_TUI) {
68
+ ```
69
+
70
+ ## Phase 3: Native WalletConnect Component
71
+
72
+ ### Step 9: Create WalletConnect Ink component
73
+ Create `src/tui/WalletConnectPairing.tsx`:
74
+ - Renders QR code as ASCII text inside the viewport
75
+ - Shows wallet deep links (MetaMask, Rainbow, Trust)
76
+ - Shows "Waiting for approval..." status
77
+ - Handles connection success/failure as React state transitions
78
+
79
+ This requires refactoring `src/walletconnect.ts`:
80
+ - Extract the pairing logic into an event-emitter or callback-based API
81
+ - The current `connectPhoneWallet()` does console.log for QR — change it to accept
82
+ an `onUri` callback and an `onStatus` callback instead
83
+ - Keep the existing console.log behavior as the default (for one-shot CLI mode)
84
+
85
+ ### Step 10: Wire WalletConnect component into useCommand
86
+ Instead of spawning a child process for interactive commands, render the
87
+ WalletConnect pairing component inside the viewport when `wallet deploy` runs.
88
+
89
+ The multi-step deploy wizard becomes a state machine:
90
+ 1. CONNECTING → show QR + links
91
+ 2. CONNECTED → show account, deploy tx
92
+ 3. DEPLOYING → show spinner
93
+ 4. ONBOARDING → show each ceremony step
94
+ 5. COMPLETE → show summary tree
95
+
96
+ ## Rules
97
+ - Do NOT change any business logic in command handlers
98
+ - Do NOT change contract addresses, ABIs, or deployment logic
99
+ - Keep all existing CLI one-shot behavior working (`arc402 wallet deploy` outside TUI)
100
+ - Test with `npx tsc --noEmit` frequently
101
+ - After build succeeds, test `node dist/index.js --help` to verify one-shot mode works
102
+
103
+ ## Build & verify
104
+ ```bash
105
+ npm run build
106
+ node dist/index.js --help # one-shot mode
107
+ node dist/index.js # TUI mode (if TTY)
108
+ ```
package/dist/abis.js CHANGED
@@ -1,11 +1,8 @@
1
- "use strict";
2
1
  /**
3
2
  * ABIs extracted from the ARC-402 contract sources.
4
3
  * Source: /products/arc-402/reference/contracts/
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ARC402_WALLET_PASSKEY_ABI = exports.ARC402_WALLET_MACHINE_KEY_ABI = exports.ARC402_WALLET_OWNER_ABI = exports.ARC402_WALLET_REGISTRY_ABI = exports.ARC402_WALLET_GUARDIAN_ABI = exports.ARC402_WALLET_PROTOCOL_ABI = exports.ARC402_WALLET_EXECUTE_ABI = exports.POLICY_ENGINE_GOVERNANCE_ABI = exports.POLICY_ENGINE_LIMITS_ABI = exports.WALLET_FACTORY_ABI = exports.ERC20_ABI = exports.TRUST_REGISTRY_ABI = exports.SERVICE_AGREEMENT_ABI = exports.AGENT_REGISTRY_ABI = void 0;
8
- exports.AGENT_REGISTRY_ABI = [
5
+ export const AGENT_REGISTRY_ABI = [
9
6
  // Registration
10
7
  "function register(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external",
11
8
  "function update(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external",
@@ -24,7 +21,7 @@ exports.AGENT_REGISTRY_ABI = [
24
21
  "event AgentUpdated(address indexed wallet, string name, string serviceType)",
25
22
  "event AgentDeactivated(address indexed wallet)",
26
23
  ];
27
- exports.SERVICE_AGREEMENT_ABI = [
24
+ export const SERVICE_AGREEMENT_ABI = [
28
25
  "function propose(address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash) external payable returns (uint256 agreementId)",
29
26
  "function accept(uint256 agreementId) external",
30
27
  "function fulfill(uint256 agreementId, bytes32 actualDeliverablesHash) external",
@@ -69,7 +66,7 @@ exports.SERVICE_AGREEMENT_ABI = [
69
66
  "event AgreementDisputed(uint256 indexed id, address indexed initiator, string reason)",
70
67
  "event AgreementCancelled(uint256 indexed id, address indexed client)",
71
68
  ];
72
- exports.TRUST_REGISTRY_ABI = [
69
+ export const TRUST_REGISTRY_ABI = [
73
70
  "function getScore(address wallet) external view returns (uint256)",
74
71
  "function getTrustLevel(address wallet) external view returns (string)",
75
72
  "function initWallet(address wallet) external",
@@ -77,20 +74,20 @@ exports.TRUST_REGISTRY_ABI = [
77
74
  "function recordAnomaly(address wallet) external",
78
75
  "function owner() external view returns (address)",
79
76
  ];
80
- exports.ERC20_ABI = [
77
+ export const ERC20_ABI = [
81
78
  "function approve(address spender, uint256 amount) external returns (bool)",
82
79
  "function allowance(address owner, address spender) external view returns (uint256)",
83
80
  "function balanceOf(address owner) external view returns (uint256)",
84
81
  "function decimals() external view returns (uint8)",
85
82
  "function symbol() external view returns (string)",
86
83
  ];
87
- exports.WALLET_FACTORY_ABI = [
84
+ export const WALLET_FACTORY_ABI = [
88
85
  "function createWallet(address _entryPoint) external returns (address)",
89
86
  "function getWallets(address owner) external view returns (address[] memory)",
90
87
  "function totalWallets() external view returns (uint256)",
91
88
  "event WalletCreated(address indexed owner, address indexed walletAddress)",
92
89
  ];
93
- exports.POLICY_ENGINE_LIMITS_ABI = [
90
+ export const POLICY_ENGINE_LIMITS_ABI = [
94
91
  // Auto-getters from public mappings (actual on-chain function names)
95
92
  "function categoryLimits(address wallet, string category) external view returns (uint256)",
96
93
  "function dailyCategoryLimit(address wallet, string category) external view returns (uint256)",
@@ -99,7 +96,7 @@ exports.POLICY_ENGINE_LIMITS_ABI = [
99
96
  "function setDailyLimitFor(address wallet, string category, uint256 limit) external",
100
97
  ];
101
98
  // PolicyEngine governance functions — for onboarding ceremony
102
- exports.POLICY_ENGINE_GOVERNANCE_ABI = [
99
+ export const POLICY_ENGINE_GOVERNANCE_ABI = [
103
100
  // registerWallet requires msg.sender == wallet — route through wallet's executeContractCall
104
101
  "function registerWallet(address wallet, address owner) external",
105
102
  // enableDefiAccess: onlyWalletOwnerOrWallet — owner can call directly on PolicyEngine
@@ -108,11 +105,11 @@ exports.POLICY_ENGINE_GOVERNANCE_ABI = [
108
105
  "function walletOwners(address wallet) external view returns (address)",
109
106
  "function defiAccessEnabled(address wallet) external view returns (bool)",
110
107
  ];
111
- exports.ARC402_WALLET_EXECUTE_ABI = [
108
+ export const ARC402_WALLET_EXECUTE_ABI = [
112
109
  "function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken) params) external returns (bytes memory)",
113
110
  ];
114
111
  // Direct protocol functions — all onlyOwnerOrMachineKey, never route through executeContractCall
115
- exports.ARC402_WALLET_PROTOCOL_ABI = [
112
+ export const ARC402_WALLET_PROTOCOL_ABI = [
116
113
  "function openContext(bytes32 contextId, string calldata taskType) external",
117
114
  "function closeContext() external",
118
115
  "function contextOpen() external view returns (bool)",
@@ -120,7 +117,7 @@ exports.ARC402_WALLET_PROTOCOL_ABI = [
120
117
  "function executeSpend(address payable recipient, uint256 amount, string calldata category, bytes32 attestationId) external",
121
118
  "function executeTokenSpend(address recipient, uint256 amount, address token, string calldata category, bytes32 attestationId) external",
122
119
  ];
123
- exports.ARC402_WALLET_GUARDIAN_ABI = [
120
+ export const ARC402_WALLET_GUARDIAN_ABI = [
124
121
  // Guardian management (owner only)
125
122
  "function setGuardian(address _guardian) external",
126
123
  // Guardian freeze functions (guardian key only)
@@ -141,7 +138,7 @@ exports.ARC402_WALLET_GUARDIAN_ABI = [
141
138
  "event WalletUnfrozen(address indexed by, uint256 timestamp)",
142
139
  "event GuardianUpdated(address indexed newGuardian)",
143
140
  ];
144
- exports.ARC402_WALLET_REGISTRY_ABI = [
141
+ export const ARC402_WALLET_REGISTRY_ABI = [
145
142
  "function proposeRegistryUpdate(address newRegistry) external",
146
143
  "function executeRegistryUpdate() external",
147
144
  "function cancelRegistryUpdate() external",
@@ -149,7 +146,7 @@ exports.ARC402_WALLET_REGISTRY_ABI = [
149
146
  "function registryUpdateUnlockAt() external view returns (uint256)",
150
147
  "function registry() external view returns (address)",
151
148
  ];
152
- exports.ARC402_WALLET_OWNER_ABI = [
149
+ export const ARC402_WALLET_OWNER_ABI = [
153
150
  // Owner-only setters
154
151
  "function setAuthorizedInterceptor(address interceptor) external",
155
152
  "function setVelocityLimit(uint256 limit) external",
@@ -161,12 +158,12 @@ exports.ARC402_WALLET_OWNER_ABI = [
161
158
  "function cumulativeSpend() external view returns (uint256)",
162
159
  "function activePolicyId() external view returns (bytes32)",
163
160
  ];
164
- exports.ARC402_WALLET_MACHINE_KEY_ABI = [
161
+ export const ARC402_WALLET_MACHINE_KEY_ABI = [
165
162
  "function authorizeMachineKey(address key) external",
166
163
  "function revokeMachineKey(address key) external",
167
164
  "function authorizedMachineKeys(address key) external view returns (bool)",
168
165
  ];
169
- exports.ARC402_WALLET_PASSKEY_ABI = [
166
+ export const ARC402_WALLET_PASSKEY_ABI = [
170
167
  "function setPasskey(bytes32 pubKeyX, bytes32 pubKeyY) external",
171
168
  "function clearPasskey() external",
172
169
  "function emergencyOwnerOverride(bytes32 newPubKeyX, bytes32 newPubKeyY) external",
package/dist/abis.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
package/dist/bundler.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Arc402Config } from "./config";
1
+ import type { Arc402Config } from "./config.js";
2
2
  export declare const DEFAULT_ENTRY_POINT = "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
3
3
  export declare const DEFAULT_BUNDLER_URL = "https://api.pimlico.io/v2/base/rpc";
4
4
  export type UserOperation = {
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
package/dist/bundler.js CHANGED
@@ -1,46 +1,11 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.PaymasterClient = exports.BundlerClient = exports.DEFAULT_BUNDLER_URL = exports.DEFAULT_ENTRY_POINT = void 0;
37
- exports.buildUserOp = buildUserOp;
38
- exports.buildSponsoredUserOp = buildSponsoredUserOp;
39
- const ethers_1 = require("ethers");
40
- const crypto_1 = require("crypto");
41
- exports.DEFAULT_ENTRY_POINT = "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
42
- exports.DEFAULT_BUNDLER_URL = "https://api.pimlico.io/v2/base/rpc";
43
- class BundlerClient {
1
+ import { ethers } from "ethers";
2
+ import { createPrivateKey } from "crypto";
3
+ export const DEFAULT_ENTRY_POINT = "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
4
+ export const DEFAULT_BUNDLER_URL = "https://api.pimlico.io/v2/base/rpc";
5
+ export class BundlerClient {
6
+ bundlerUrl;
7
+ entryPointAddress;
8
+ chainId;
44
9
  constructor(bundlerUrl, entryPointAddress, chainId) {
45
10
  this.bundlerUrl = bundlerUrl;
46
11
  this.entryPointAddress = entryPointAddress;
@@ -85,9 +50,11 @@ class BundlerClient {
85
50
  return estimate;
86
51
  }
87
52
  }
88
- exports.BundlerClient = BundlerClient;
89
53
  // ─── PaymasterClient ──────────────────────────────────────────────────────────
90
- class PaymasterClient {
54
+ export class PaymasterClient {
55
+ paymasterUrl;
56
+ cdpKeyName;
57
+ cdpPrivateKey;
91
58
  constructor(paymasterUrl, cdpKeyName, cdpPrivateKey) {
92
59
  this.paymasterUrl = paymasterUrl;
93
60
  this.cdpKeyName = cdpKeyName;
@@ -96,12 +63,12 @@ class PaymasterClient {
96
63
  async buildJwt() {
97
64
  if (!this.cdpKeyName || !this.cdpPrivateKey)
98
65
  return null;
99
- const { SignJWT, importPKCS8 } = await Promise.resolve().then(() => __importStar(require("jose")));
66
+ const { SignJWT, importPKCS8 } = await import("jose");
100
67
  // Convert SEC1 base64 DER or SEC1 PEM → PKCS8 PEM using Node's crypto module
101
68
  let pkcs8Pem;
102
69
  if (this.cdpPrivateKey.includes("-----BEGIN")) {
103
70
  if (this.cdpPrivateKey.includes("EC PRIVATE KEY")) {
104
- const key = (0, crypto_1.createPrivateKey)({ key: this.cdpPrivateKey, format: "pem", type: "sec1" });
71
+ const key = createPrivateKey({ key: this.cdpPrivateKey, format: "pem", type: "sec1" });
105
72
  pkcs8Pem = key.export({ format: "pem", type: "pkcs8" });
106
73
  }
107
74
  else {
@@ -110,7 +77,7 @@ class PaymasterClient {
110
77
  }
111
78
  else {
112
79
  const der = Buffer.from(this.cdpPrivateKey, "base64");
113
- const key = (0, crypto_1.createPrivateKey)({ key: der, format: "der", type: "sec1" });
80
+ const key = createPrivateKey({ key: der, format: "der", type: "sec1" });
114
81
  pkcs8Pem = key.export({ format: "pem", type: "pkcs8" });
115
82
  }
116
83
  const privateKey = await importPKCS8(pkcs8Pem, "ES256");
@@ -155,27 +122,26 @@ class PaymasterClient {
155
122
  };
156
123
  }
157
124
  }
158
- exports.PaymasterClient = PaymasterClient;
159
125
  // ─── buildUserOp / buildSponsoredUserOp ───────────────────────────────────────
160
- async function buildUserOp(callData, sender, nonce, config) {
161
- const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
126
+ export async function buildUserOp(callData, sender, nonce, config) {
127
+ const provider = new ethers.JsonRpcProvider(config.rpcUrl);
162
128
  const feeData = await provider.getFeeData();
163
- const maxFeePerGas = feeData.maxFeePerGas ?? BigInt(1000000000);
164
- const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? BigInt(100000000);
129
+ const maxFeePerGas = feeData.maxFeePerGas ?? BigInt(1_000_000_000);
130
+ const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? BigInt(100_000_000);
165
131
  return {
166
132
  sender,
167
- nonce: ethers_1.ethers.toBeHex(nonce),
133
+ nonce: ethers.toBeHex(nonce),
168
134
  callData,
169
- callGasLimit: ethers_1.ethers.toBeHex(300000),
170
- verificationGasLimit: ethers_1.ethers.toBeHex(150000),
171
- preVerificationGas: ethers_1.ethers.toBeHex(50000),
172
- maxFeePerGas: ethers_1.ethers.toBeHex(maxFeePerGas),
173
- maxPriorityFeePerGas: ethers_1.ethers.toBeHex(maxPriorityFeePerGas),
135
+ callGasLimit: ethers.toBeHex(300_000),
136
+ verificationGasLimit: ethers.toBeHex(150_000),
137
+ preVerificationGas: ethers.toBeHex(50_000),
138
+ maxFeePerGas: ethers.toBeHex(maxFeePerGas),
139
+ maxPriorityFeePerGas: ethers.toBeHex(maxPriorityFeePerGas),
174
140
  signature: "0x",
175
141
  };
176
142
  }
177
- async function buildSponsoredUserOp(callData, sender, nonce, config, paymasterClient) {
143
+ export async function buildSponsoredUserOp(callData, sender, nonce, config, paymasterClient) {
178
144
  const userOp = await buildUserOp(callData, sender, nonce, config);
179
- return paymasterClient.sponsorUserOperation(userOp, exports.DEFAULT_ENTRY_POINT);
145
+ return paymasterClient.sponsorUserOperation(userOp, DEFAULT_ENTRY_POINT);
180
146
  }
181
147
  //# sourceMappingURL=bundler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../src/bundler.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ethers } from "ethers";
2
- import { Arc402Config } from "./config";
2
+ import { Arc402Config } from "./config.js";
3
3
  export interface Arc402Client {
4
4
  provider: ethers.JsonRpcProvider;
5
5
  signer: ethers.Wallet | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAY3E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAUvF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAY3E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAUvF"}
package/dist/client.js CHANGED
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClient = getClient;
4
- exports.requireSigner = requireSigner;
5
- const ethers_1 = require("ethers");
6
- async function getClient(config) {
7
- const provider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
1
+ import { ethers } from "ethers";
2
+ export async function getClient(config) {
3
+ const provider = new ethers.JsonRpcProvider(config.rpcUrl);
8
4
  if (config.privateKey) {
9
- const signer = new ethers_1.ethers.Wallet(config.privateKey, provider);
5
+ const signer = new ethers.Wallet(config.privateKey, provider);
10
6
  const address = await signer.getAddress();
11
7
  return { provider, signer, address };
12
8
  }
@@ -14,7 +10,7 @@ async function getClient(config) {
14
10
  const address = config.walletContractAddress ?? null;
15
11
  return { provider, signer: null, address };
16
12
  }
17
- async function requireSigner(config) {
13
+ export async function requireSigner(config) {
18
14
  const { provider, signer } = await getClient(config);
19
15
  if (!signer) {
20
16
  console.error("No private key configured. Run `arc402 config init` and provide a private key.");
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AASA,8BAYC;AAED,sCAYC;AAnCD,mCAAgC;AASzB,KAAK,UAAU,SAAS,CAAC,MAAoB;IAClD,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,sEAAsE;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC;IACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAoB;IAEpB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,gFAAgF,CACjF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAoB;IAClD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,sEAAsE;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC;IACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB;IAEpB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,gFAAgF,CACjF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * coinbase-smart-wallet.ts
4
3
  *
@@ -18,9 +17,7 @@
18
17
  * - The interface matches requestPhoneWalletSignature() so the caller in
19
18
  * wallet.ts requires zero changes once a real implementation lands.
20
19
  */
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.requestCoinbaseSmartWalletSignature = requestCoinbaseSmartWalletSignature;
23
- async function requestCoinbaseSmartWalletSignature(chainId, buildTx, prompt) {
20
+ export async function requestCoinbaseSmartWalletSignature(chainId, buildTx, prompt) {
24
21
  console.log(`\n${prompt}`);
25
22
  console.log("─────────────────────────────────────────────────────────");
26
23
  console.log("Connect your Base Smart Wallet:\n");
@@ -1 +1 @@
1
- {"version":3,"file":"coinbase-smart-wallet.js","sourceRoot":"","sources":["../src/coinbase-smart-wallet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;AAKH,kFA2BC;AA3BM,KAAK,UAAU,mCAAmC,CACvD,OAAe,EACf,OAA0E,EAC1E,MAAc;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,mEAAmE;QACjE,iEAAiE;QACjE,wEAAwE,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,8DAA8D,CAC/D,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yFAAyF;QACvF,6BAA6B,CAChC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"coinbase-smart-wallet.js","sourceRoot":"","sources":["../src/coinbase-smart-wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,OAAe,EACf,OAA0E,EAC1E,MAAc;IAEd,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,mEAAmE;QACjE,iEAAiE;QACjE,wEAAwE,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,8DAA8D,CAC/D,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yFAAyF;QACvF,6BAA6B,CAChC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC"}
@@ -1,38 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerAcceptCommand = registerAcceptCommand;
4
- const sdk_1 = require("@arc402/sdk");
5
- const ethers_1 = require("ethers");
6
- const config_1 = require("../config");
7
- const client_1 = require("../client");
8
- const wallet_router_1 = require("../wallet-router");
9
- const abis_1 = require("../abis");
10
- const endpoint_notify_1 = require("../endpoint-notify");
11
- const colors_1 = require("../ui/colors");
12
- const spinner_1 = require("../ui/spinner");
13
- function registerAcceptCommand(program) {
1
+ import { ServiceAgreementClient } from "@arc402/sdk";
2
+ import { ethers } from "ethers";
3
+ import { loadConfig } from "../config.js";
4
+ import { requireSigner } from "../client.js";
5
+ import { printSenderInfo, executeContractWriteViaWallet } from "../wallet-router.js";
6
+ import { SERVICE_AGREEMENT_ABI } from "../abis.js";
7
+ import { resolveAgentEndpoint, notifyAgent, DEFAULT_REGISTRY_ADDRESS } from "../endpoint-notify.js";
8
+ import { c } from "../ui/colors.js";
9
+ import { startSpinner } from "../ui/spinner.js";
10
+ export function registerAcceptCommand(program) {
14
11
  program.command("accept <id>").description("Provider accepts a proposed agreement").action(async (id) => {
15
- const config = (0, config_1.loadConfig)();
12
+ const config = loadConfig();
16
13
  if (!config.serviceAgreementAddress)
17
14
  throw new Error("serviceAgreementAddress missing in config");
18
- const { signer, address: signerAddress } = await (0, client_1.requireSigner)(config);
19
- (0, wallet_router_1.printSenderInfo)(config);
15
+ const { signer, address: signerAddress } = await requireSigner(config);
16
+ printSenderInfo(config);
20
17
  // Read agreement to get client address for endpoint notification
21
18
  let clientAddress = "";
22
19
  try {
23
- const prefProvider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
24
- const saContract = new ethers_1.ethers.Contract(config.serviceAgreementAddress, ["function getAgreement(uint256 id) external view returns (tuple(uint256 id, address client, address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash, uint8 status, uint256 createdAt, uint256 resolvedAt, uint256 verifyWindowEnd, bytes32 committedHash))"], prefProvider);
20
+ const prefProvider = new ethers.JsonRpcProvider(config.rpcUrl);
21
+ const saContract = new ethers.Contract(config.serviceAgreementAddress, ["function getAgreement(uint256 id) external view returns (tuple(uint256 id, address client, address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash, uint8 status, uint256 createdAt, uint256 resolvedAt, uint256 verifyWindowEnd, bytes32 committedHash))"], prefProvider);
25
22
  const ag = await saContract.getAgreement(BigInt(id));
26
23
  clientAddress = String(ag.client ?? "");
27
24
  }
28
25
  catch { /* non-fatal */ }
29
- const spinner = (0, spinner_1.startSpinner)("Submitting transaction...");
26
+ const spinner = startSpinner("Submitting transaction...");
30
27
  try {
31
28
  if (config.walletContractAddress) {
32
- await (0, wallet_router_1.executeContractWriteViaWallet)(config.walletContractAddress, signer, config.serviceAgreementAddress, abis_1.SERVICE_AGREEMENT_ABI, "accept", [BigInt(id)]);
29
+ await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "accept", [BigInt(id)]);
33
30
  }
34
31
  else {
35
- const client = new sdk_1.ServiceAgreementClient(config.serviceAgreementAddress, signer);
32
+ const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
36
33
  await client.accept(BigInt(id));
37
34
  }
38
35
  spinner.succeed();
@@ -41,19 +38,19 @@ function registerAcceptCommand(program) {
41
38
  spinner.fail();
42
39
  throw err;
43
40
  }
44
- console.log(' ' + colors_1.c.success + colors_1.c.white(` Accepted — agreement #${id}`));
41
+ console.log(' ' + c.success + c.white(` Accepted — agreement #${id}`));
45
42
  // Notify client's HTTP endpoint (non-blocking)
46
43
  if (clientAddress) {
47
44
  try {
48
- const notifyProvider = new ethers_1.ethers.JsonRpcProvider(config.rpcUrl);
49
- const registryAddress = config.agentRegistryV2Address ?? config.agentRegistryAddress ?? endpoint_notify_1.DEFAULT_REGISTRY_ADDRESS;
50
- const endpoint = await (0, endpoint_notify_1.resolveAgentEndpoint)(clientAddress, notifyProvider, registryAddress);
45
+ const notifyProvider = new ethers.JsonRpcProvider(config.rpcUrl);
46
+ const registryAddress = config.agentRegistryV2Address ?? config.agentRegistryAddress ?? DEFAULT_REGISTRY_ADDRESS;
47
+ const endpoint = await resolveAgentEndpoint(clientAddress, notifyProvider, registryAddress);
51
48
  const payload = { agreementId: id, from: signerAddress };
52
- await (0, endpoint_notify_1.notifyAgent)(endpoint, "/hire/accepted", payload);
53
- await (0, endpoint_notify_1.notifyAgent)(endpoint, "/delivery/accepted", payload);
49
+ await notifyAgent(endpoint, "/hire/accepted", payload);
50
+ await notifyAgent(endpoint, "/delivery/accepted", payload);
54
51
  }
55
52
  catch (err) {
56
- console.warn(' ' + colors_1.c.warning + colors_1.c.white(` Could not notify client endpoint: ${err instanceof Error ? err.message : String(err)}`));
53
+ console.warn(' ' + c.warning + c.white(` Could not notify client endpoint: ${err instanceof Error ? err.message : String(err)}`));
57
54
  }
58
55
  }
59
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/commands/accept.ts"],"names":[],"mappings":"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"}