@antseed/node 0.2.26 → 0.2.28

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 (255) hide show
  1. package/README.md +85 -11
  2. package/dist/buyer-request-handler.d.ts +41 -0
  3. package/dist/buyer-request-handler.d.ts.map +1 -0
  4. package/dist/buyer-request-handler.js +254 -0
  5. package/dist/buyer-request-handler.js.map +1 -0
  6. package/dist/discovery/announcer.d.ts +5 -2
  7. package/dist/discovery/announcer.d.ts.map +1 -1
  8. package/dist/discovery/announcer.js +11 -14
  9. package/dist/discovery/announcer.js.map +1 -1
  10. package/dist/discovery/index.d.ts +0 -2
  11. package/dist/discovery/index.d.ts.map +1 -1
  12. package/dist/discovery/index.js +0 -2
  13. package/dist/discovery/index.js.map +1 -1
  14. package/dist/discovery/metadata-codec.d.ts +2 -2
  15. package/dist/discovery/metadata-codec.d.ts.map +1 -1
  16. package/dist/discovery/metadata-codec.js +47 -72
  17. package/dist/discovery/metadata-codec.js.map +1 -1
  18. package/dist/discovery/metadata-validator.js +6 -6
  19. package/dist/discovery/metadata-validator.js.map +1 -1
  20. package/dist/discovery/peer-lookup.d.ts.map +1 -1
  21. package/dist/discovery/peer-lookup.js +1 -2
  22. package/dist/discovery/peer-lookup.js.map +1 -1
  23. package/dist/discovery/peer-metadata.d.ts +3 -5
  24. package/dist/discovery/peer-metadata.d.ts.map +1 -1
  25. package/dist/discovery/peer-metadata.js +1 -1
  26. package/dist/discovery/reputation-verifier.d.ts +2 -22
  27. package/dist/discovery/reputation-verifier.d.ts.map +1 -1
  28. package/dist/discovery/reputation-verifier.js +2 -24
  29. package/dist/discovery/reputation-verifier.js.map +1 -1
  30. package/dist/discovery/stats-verifier.d.ts +27 -0
  31. package/dist/discovery/stats-verifier.d.ts.map +1 -0
  32. package/dist/discovery/stats-verifier.js +38 -0
  33. package/dist/discovery/stats-verifier.js.map +1 -0
  34. package/dist/index.d.ts +17 -5
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +11 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/metering/index.d.ts +1 -0
  39. package/dist/metering/index.d.ts.map +1 -1
  40. package/dist/metering/index.js +1 -0
  41. package/dist/metering/index.js.map +1 -1
  42. package/dist/metering/receipt-generator.d.ts +4 -4
  43. package/dist/metering/receipt-generator.d.ts.map +1 -1
  44. package/dist/metering/receipt-verifier.d.ts +6 -6
  45. package/dist/metering/receipt-verifier.d.ts.map +1 -1
  46. package/dist/metering/receipt-verifier.js +1 -1
  47. package/dist/metering/seller-session-tracker.d.ts +91 -0
  48. package/dist/metering/seller-session-tracker.d.ts.map +1 -0
  49. package/dist/metering/seller-session-tracker.js +261 -0
  50. package/dist/metering/seller-session-tracker.js.map +1 -0
  51. package/dist/metering/storage.d.ts +11 -5
  52. package/dist/metering/storage.d.ts.map +1 -1
  53. package/dist/metering/storage.js +28 -80
  54. package/dist/metering/storage.js.map +1 -1
  55. package/dist/node.d.ts +83 -104
  56. package/dist/node.d.ts.map +1 -1
  57. package/dist/node.js +313 -1026
  58. package/dist/node.js.map +1 -1
  59. package/dist/p2p/connection-auth.d.ts +2 -1
  60. package/dist/p2p/connection-auth.d.ts.map +1 -1
  61. package/dist/p2p/connection-auth.js +6 -6
  62. package/dist/p2p/connection-auth.js.map +1 -1
  63. package/dist/p2p/connection-manager.d.ts +3 -2
  64. package/dist/p2p/connection-manager.d.ts.map +1 -1
  65. package/dist/p2p/connection-manager.js +12 -6
  66. package/dist/p2p/connection-manager.js.map +1 -1
  67. package/dist/p2p/identity.d.ts +44 -13
  68. package/dist/p2p/identity.d.ts.map +1 -1
  69. package/dist/p2p/identity.js +103 -49
  70. package/dist/p2p/identity.js.map +1 -1
  71. package/dist/p2p/index.d.ts +1 -3
  72. package/dist/p2p/index.d.ts.map +1 -1
  73. package/dist/p2p/index.js +1 -3
  74. package/dist/p2p/index.js.map +1 -1
  75. package/dist/p2p/payment-codec.d.ts +9 -19
  76. package/dist/p2p/payment-codec.d.ts.map +1 -1
  77. package/dist/p2p/payment-codec.js +41 -89
  78. package/dist/p2p/payment-codec.js.map +1 -1
  79. package/dist/p2p/payment-mux.d.ts +14 -29
  80. package/dist/p2p/payment-mux.d.ts.map +1 -1
  81. package/dist/p2p/payment-mux.js +41 -79
  82. package/dist/p2p/payment-mux.js.map +1 -1
  83. package/dist/payments/balance-manager.d.ts +2 -2
  84. package/dist/payments/balance-manager.d.ts.map +1 -1
  85. package/dist/payments/balance-manager.js +5 -5
  86. package/dist/payments/balance-manager.js.map +1 -1
  87. package/dist/payments/buyer-payment-manager.d.ts +157 -83
  88. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  89. package/dist/payments/buyer-payment-manager.js +573 -204
  90. package/dist/payments/buyer-payment-manager.js.map +1 -1
  91. package/dist/payments/buyer-payment-negotiator.d.ts +84 -0
  92. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -0
  93. package/dist/payments/buyer-payment-negotiator.js +624 -0
  94. package/dist/payments/buyer-payment-negotiator.js.map +1 -0
  95. package/dist/payments/chain-config.d.ts +44 -0
  96. package/dist/payments/chain-config.d.ts.map +1 -0
  97. package/dist/payments/chain-config.js +70 -0
  98. package/dist/payments/chain-config.js.map +1 -0
  99. package/dist/payments/channel-session-state.d.ts +13 -0
  100. package/dist/payments/channel-session-state.d.ts.map +1 -0
  101. package/dist/payments/channel-session-state.js +25 -0
  102. package/dist/payments/channel-session-state.js.map +1 -0
  103. package/dist/payments/channel-store.d.ts +87 -0
  104. package/dist/payments/channel-store.d.ts.map +1 -0
  105. package/dist/payments/channel-store.js +276 -0
  106. package/dist/payments/channel-store.js.map +1 -0
  107. package/dist/payments/evm/ants-token-client.d.ts +16 -0
  108. package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
  109. package/dist/payments/evm/ants-token-client.js +65 -0
  110. package/dist/payments/evm/ants-token-client.js.map +1 -0
  111. package/dist/payments/evm/base-evm-client.d.ts +22 -0
  112. package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
  113. package/dist/payments/evm/base-evm-client.js +71 -0
  114. package/dist/payments/evm/base-evm-client.js.map +1 -0
  115. package/dist/payments/evm/channels-client.d.ts +51 -0
  116. package/dist/payments/evm/channels-client.d.ts.map +1 -0
  117. package/dist/payments/evm/channels-client.js +101 -0
  118. package/dist/payments/evm/channels-client.js.map +1 -0
  119. package/dist/payments/evm/deposits-client.d.ts +30 -0
  120. package/dist/payments/evm/deposits-client.d.ts.map +1 -0
  121. package/dist/payments/evm/deposits-client.js +78 -0
  122. package/dist/payments/evm/deposits-client.js.map +1 -0
  123. package/dist/payments/evm/emissions-client.d.ts +22 -0
  124. package/dist/payments/evm/emissions-client.d.ts.map +1 -0
  125. package/dist/payments/evm/emissions-client.js +65 -0
  126. package/dist/payments/evm/emissions-client.js.map +1 -0
  127. package/dist/payments/evm/escrow-client.d.ts +57 -36
  128. package/dist/payments/evm/escrow-client.d.ts.map +1 -1
  129. package/dist/payments/evm/escrow-client.js +200 -93
  130. package/dist/payments/evm/escrow-client.js.map +1 -1
  131. package/dist/payments/evm/identity-client.d.ts +21 -0
  132. package/dist/payments/evm/identity-client.d.ts.map +1 -0
  133. package/dist/payments/evm/identity-client.js +68 -0
  134. package/dist/payments/evm/identity-client.js.map +1 -0
  135. package/dist/payments/evm/keypair.d.ts +3 -14
  136. package/dist/payments/evm/keypair.d.ts.map +1 -1
  137. package/dist/payments/evm/keypair.js +4 -20
  138. package/dist/payments/evm/keypair.js.map +1 -1
  139. package/dist/payments/evm/sessions-client.d.ts +30 -0
  140. package/dist/payments/evm/sessions-client.d.ts.map +1 -0
  141. package/dist/payments/evm/sessions-client.js +61 -0
  142. package/dist/payments/evm/sessions-client.js.map +1 -0
  143. package/dist/payments/evm/signatures.d.ts +54 -10
  144. package/dist/payments/evm/signatures.d.ts.map +1 -1
  145. package/dist/payments/evm/signatures.js +80 -54
  146. package/dist/payments/evm/signatures.js.map +1 -1
  147. package/dist/payments/evm/staking-client.d.ts +24 -0
  148. package/dist/payments/evm/staking-client.d.ts.map +1 -0
  149. package/dist/payments/evm/staking-client.js +54 -0
  150. package/dist/payments/evm/staking-client.js.map +1 -0
  151. package/dist/payments/evm/stats-client.d.ts +20 -0
  152. package/dist/payments/evm/stats-client.d.ts.map +1 -0
  153. package/dist/payments/evm/stats-client.js +25 -0
  154. package/dist/payments/evm/stats-client.js.map +1 -0
  155. package/dist/payments/evm/subpool-client.d.ts +30 -0
  156. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  157. package/dist/payments/evm/subpool-client.js +158 -0
  158. package/dist/payments/evm/subpool-client.js.map +1 -0
  159. package/dist/payments/index.d.ts +29 -9
  160. package/dist/payments/index.d.ts.map +1 -1
  161. package/dist/payments/index.js +27 -9
  162. package/dist/payments/index.js.map +1 -1
  163. package/dist/payments/pricing.d.ts +25 -0
  164. package/dist/payments/pricing.d.ts.map +1 -0
  165. package/dist/payments/pricing.js +33 -0
  166. package/dist/payments/pricing.js.map +1 -0
  167. package/dist/payments/readiness.d.ts +13 -0
  168. package/dist/payments/readiness.d.ts.map +1 -0
  169. package/dist/payments/readiness.js +57 -0
  170. package/dist/payments/readiness.js.map +1 -0
  171. package/dist/payments/seller-payment-manager.d.ts +101 -36
  172. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  173. package/dist/payments/seller-payment-manager.js +612 -120
  174. package/dist/payments/seller-payment-manager.js.map +1 -1
  175. package/dist/payments/session-store.d.ts +68 -0
  176. package/dist/payments/session-store.d.ts.map +1 -0
  177. package/dist/payments/session-store.js +272 -0
  178. package/dist/payments/session-store.js.map +1 -0
  179. package/dist/payments/types.d.ts +5 -3
  180. package/dist/payments/types.d.ts.map +1 -1
  181. package/dist/payments/usdc-utils.d.ts +9 -0
  182. package/dist/payments/usdc-utils.d.ts.map +1 -0
  183. package/dist/payments/usdc-utils.js +17 -0
  184. package/dist/payments/usdc-utils.js.map +1 -0
  185. package/dist/proxy/proxy-mux.d.ts.map +1 -1
  186. package/dist/proxy/proxy-mux.js +3 -2
  187. package/dist/proxy/proxy-mux.js.map +1 -1
  188. package/dist/proxy/request-codec.d.ts.map +1 -1
  189. package/dist/proxy/request-codec.js +3 -0
  190. package/dist/proxy/request-codec.js.map +1 -1
  191. package/dist/reputation/rating-manager.d.ts.map +1 -1
  192. package/dist/reputation/rating-manager.js +2 -4
  193. package/dist/reputation/rating-manager.js.map +1 -1
  194. package/dist/reputation/report-manager.d.ts.map +1 -1
  195. package/dist/reputation/report-manager.js +2 -4
  196. package/dist/reputation/report-manager.js.map +1 -1
  197. package/dist/routing/default-router.d.ts.map +1 -1
  198. package/dist/routing/default-router.js +4 -9
  199. package/dist/routing/default-router.js.map +1 -1
  200. package/dist/seller-request-handler.d.ts +54 -0
  201. package/dist/seller-request-handler.d.ts.map +1 -0
  202. package/dist/seller-request-handler.js +359 -0
  203. package/dist/seller-request-handler.js.map +1 -0
  204. package/dist/storage/migrate.d.ts +13 -0
  205. package/dist/storage/migrate.d.ts.map +1 -0
  206. package/dist/storage/migrate.js +28 -0
  207. package/dist/storage/migrate.js.map +1 -0
  208. package/dist/storage/migrations/channels/001_create_tables.d.ts +3 -0
  209. package/dist/storage/migrations/channels/001_create_tables.d.ts.map +1 -0
  210. package/dist/storage/migrations/channels/001_create_tables.js +45 -0
  211. package/dist/storage/migrations/channels/001_create_tables.js.map +1 -0
  212. package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts +3 -0
  213. package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts.map +1 -0
  214. package/dist/storage/migrations/channels/002_add_auth_sig_columns.js +19 -0
  215. package/dist/storage/migrations/channels/002_add_auth_sig_columns.js.map +1 -0
  216. package/dist/storage/migrations/channels/index.d.ts +3 -0
  217. package/dist/storage/migrations/channels/index.d.ts.map +1 -0
  218. package/dist/storage/migrations/channels/index.js +4 -0
  219. package/dist/storage/migrations/channels/index.js.map +1 -0
  220. package/dist/storage/migrations/metering/001_create_tables.d.ts +3 -0
  221. package/dist/storage/migrations/metering/001_create_tables.d.ts.map +1 -0
  222. package/dist/storage/migrations/metering/001_create_tables.js +80 -0
  223. package/dist/storage/migrations/metering/001_create_tables.js.map +1 -0
  224. package/dist/storage/migrations/metering/index.d.ts +3 -0
  225. package/dist/storage/migrations/metering/index.d.ts.map +1 -0
  226. package/dist/storage/migrations/metering/index.js +3 -0
  227. package/dist/storage/migrations/metering/index.js.map +1 -0
  228. package/dist/types/capability.d.ts +1 -1
  229. package/dist/types/http.d.ts +2 -0
  230. package/dist/types/http.d.ts.map +1 -1
  231. package/dist/types/http.js +2 -0
  232. package/dist/types/http.js.map +1 -1
  233. package/dist/types/index.d.ts +0 -1
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/index.js +0 -1
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/metering.d.ts +2 -2
  238. package/dist/types/metering.d.ts.map +1 -1
  239. package/dist/types/peer.d.ts +10 -11
  240. package/dist/types/peer.d.ts.map +1 -1
  241. package/dist/types/peer.js +7 -3
  242. package/dist/types/peer.js.map +1 -1
  243. package/dist/types/protocol.d.ts +32 -97
  244. package/dist/types/protocol.d.ts.map +1 -1
  245. package/dist/types/protocol.js +5 -10
  246. package/dist/types/protocol.js.map +1 -1
  247. package/dist/types/rating.d.ts +1 -1
  248. package/dist/types/rating.d.ts.map +1 -1
  249. package/dist/types/report.d.ts +1 -1
  250. package/dist/types/report.d.ts.map +1 -1
  251. package/dist/utils/response-usage.d.ts +10 -0
  252. package/dist/utils/response-usage.d.ts.map +1 -0
  253. package/dist/utils/response-usage.js +34 -0
  254. package/dist/utils/response-usage.js.map +1 -0
  255. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"escrow-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAgCD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAE9C,MAAM,EAAE,gBAAgB;IAMpC,IAAI,QAAQ,IAAI,eAAe,CAA2B;IAC1D,IAAI,eAAe,IAAI,MAAM,CAAkC;IAC/D,IAAI,WAAW,IAAI,MAAM,CAA8B;IAEvD,OAAO,CAAC,gBAAgB;YAOV,YAAY;YAQZ,mBAAmB;IAW3B,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAchE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjE,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAOZ,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAOZ,MAAM,CACV,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAOZ,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAOZ,cAAc,CAClB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAOZ,cAAc,CAClB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAOZ,kBAAkB,CACtB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAOZ,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAYI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBnD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmB1D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIzD"}
1
+ {"version":3,"file":"escrow-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
@@ -1,131 +1,200 @@
1
- import { Contract, JsonRpcProvider } from 'ethers';
1
+ import { Contract } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
2
3
  const ESCROW_ABI = [
3
- // Deposit & Withdraw
4
+ // Buyer operations
4
5
  'function deposit(uint256 amount) external',
5
- 'function withdraw(uint256 amount) external',
6
- // Session lifecycle
7
- 'function commitLock(bytes32 sessionId, address buyer, uint256 amount, bytes calldata buyerSig) external',
8
- 'function extendLock(bytes32 sessionId, uint256 additionalAmount, bytes calldata buyerSig) external',
9
- 'function settle(bytes32 sessionId, uint256 runningTotal, uint8 score, bytes calldata buyerSig) external',
10
- // Disputes
11
- 'function openDispute(bytes32 sessionId, uint256 claimedAmount) external',
12
- 'function respondDispute(bytes32 sessionId) external',
13
- 'function resolveDispute(bytes32 sessionId) external',
14
- // Expired lock
15
- 'function releaseExpiredLock(bytes32 sessionId) external',
6
+ 'function depositFor(address buyer, uint256 amount) external',
7
+ 'function requestWithdrawal(uint256 amount) external',
8
+ 'function executeWithdrawal() external',
9
+ 'function cancelWithdrawal() external',
10
+ // Seller operations
11
+ 'function stake(uint256 amount) external',
12
+ 'function unstake() external',
13
+ 'function setTokenRate(uint256 rate) external',
14
+ 'function claimEarnings() external',
15
+ // Core — reserve & settle
16
+ 'function reserve(address buyer, bytes32 sessionId, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, bytes calldata buyerSig) external',
17
+ 'function settle(bytes32 sessionId, uint256 tokenCount) external',
18
+ 'function settleTimeout(bytes32 sessionId) external',
16
19
  // View functions
17
- 'function buyers(address) external view returns (uint256 deposited, uint256 committed)',
18
- 'function sessions(bytes32) external view returns (address buyer, address seller, uint256 lockedAmount, uint8 status, uint64 expiresAt, uint256 settledAmount, uint8 score, uint256 disputeClaimedAmount, uint64 disputeOpenedAt, bool disputeBuyerResponded, bool exists)',
19
- 'function reputations(address) external view returns (uint256 totalWeightedScore, uint256 totalWeight, uint256 sessionCount, uint256 disputeCount)',
20
+ 'function getBuyerBalance(address buyer) external view returns (uint256 available, uint256 reserved, uint256 pendingWithdrawal, uint256 lastActivityAt)',
21
+ 'function getBuyerCreditLimit(address buyer) external view returns (uint256)',
22
+ 'function getSellerAccount(address seller) external view returns (uint256 stake, uint256 earnings, uint256 stakedAt, uint256 tokenRate)',
23
+ 'function domainSeparator() external view returns (bytes32)',
24
+ 'function FIRST_SIGN_CAP() external view returns (uint256)',
25
+ 'function PROVEN_SIGN_COOLDOWN() external view returns (uint256)',
26
+ 'function latestSessionId(address buyer, address seller) external view returns (bytes32)',
27
+ 'function firstSessionTimestamp(address buyer, address seller) external view returns (uint256)',
28
+ 'function sessions(bytes32 sessionId) external view returns (address buyer, address seller, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, uint256 reservedAt, uint256 settledAmount, uint256 settledTokenCount, uint256 tokenRate, uint8 status, bool isFirstSign, bool isProvenSign, bool isQualifiedProvenSign)',
20
29
  ];
21
30
  const ERC20_ABI = [
22
31
  'function approve(address spender, uint256 amount) external returns (bool)',
23
32
  'function balanceOf(address owner) external view returns (uint256)',
24
33
  'function allowance(address owner, address spender) external view returns (uint256)',
25
34
  ];
26
- export class BaseEscrowClient {
27
- _provider;
28
- _contractAddress;
35
+ export class BaseEscrowClient extends BaseEvmClient {
29
36
  _usdcAddress;
30
- _nonceCursor = new Map();
31
37
  constructor(config) {
32
- this._provider = new JsonRpcProvider(config.rpcUrl);
33
- this._contractAddress = config.contractAddress;
38
+ super(config.rpcUrl, config.contractAddress);
34
39
  this._usdcAddress = config.usdcAddress;
35
40
  }
36
- get provider() { return this._provider; }
37
- get contractAddress() { return this._contractAddress; }
38
41
  get usdcAddress() { return this._usdcAddress; }
39
- _ensureConnected(signer) {
40
- if (signer.provider) {
41
- return signer;
42
- }
43
- return signer.connect(this._provider);
44
- }
45
- async reserveNonce(address) {
46
- const networkNonce = await this._provider.getTransactionCount(address, 'pending');
47
- const cachedNext = this._nonceCursor.get(address);
48
- const nonce = cachedNext === undefined ? networkNonce : Math.max(networkNonce, cachedNext);
49
- this._nonceCursor.set(address, nonce + 1);
50
- return nonce;
51
- }
52
42
  async _prepareEscrowWrite(signer) {
53
43
  const connected = this._ensureConnected(signer);
54
44
  const signerAddress = await connected.getAddress();
55
- const nonce = await this.reserveNonce(signerAddress);
45
+ const nonce = await this._reserveNonce(signerAddress);
56
46
  const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
57
47
  return { contract, nonce };
58
48
  }
49
+ // ─── Buyer Operations ──────────────────────────────────────────────
59
50
  async deposit(signer, amount) {
60
51
  const connected = this._ensureConnected(signer);
61
52
  const signerAddress = await connected.getAddress();
62
53
  const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
63
- const approveNonce = await this.reserveNonce(signerAddress);
54
+ const approveNonce = await this._reserveNonce(signerAddress);
64
55
  const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
65
- await approveTx.wait();
56
+ const approveReceipt = await approveTx.wait();
57
+ if (!approveReceipt)
58
+ throw new Error('Transaction was dropped or replaced');
66
59
  const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
67
- const depositNonce = await this.reserveNonce(signerAddress);
60
+ const depositNonce = await this._reserveNonce(signerAddress);
68
61
  const tx = await contract.getFunction('deposit')(amount, { nonce: depositNonce });
69
62
  const receipt = await tx.wait();
63
+ if (!receipt)
64
+ throw new Error('Transaction was dropped or replaced');
65
+ return receipt.hash;
66
+ }
67
+ async depositFor(signer, buyer, amount) {
68
+ const connected = this._ensureConnected(signer);
69
+ const signerAddress = await connected.getAddress();
70
+ const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
71
+ const approveNonce = await this._reserveNonce(signerAddress);
72
+ const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
73
+ const approveReceipt = await approveTx.wait();
74
+ if (!approveReceipt)
75
+ throw new Error('Transaction was dropped or replaced');
76
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
77
+ const depositNonce = await this._reserveNonce(signerAddress);
78
+ const tx = await contract.getFunction('depositFor')(buyer, amount, { nonce: depositNonce });
79
+ const receipt = await tx.wait();
80
+ if (!receipt)
81
+ throw new Error('Transaction was dropped or replaced');
70
82
  return receipt.hash;
71
83
  }
72
- async withdraw(signer, amount) {
84
+ async requestWithdrawal(signer, amount) {
73
85
  const { contract, nonce } = await this._prepareEscrowWrite(signer);
74
- const tx = await contract.getFunction('withdraw')(amount, { nonce });
86
+ const tx = await contract.getFunction('requestWithdrawal')(amount, { nonce });
75
87
  const receipt = await tx.wait();
88
+ if (!receipt)
89
+ throw new Error('Transaction was dropped or replaced');
76
90
  return receipt.hash;
77
91
  }
78
- async commitLock(seller, buyerAddr, sessionId, amount, buyerSig) {
79
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
80
- const tx = await contract.getFunction('commitLock')(sessionId, buyerAddr, amount, buyerSig, { nonce });
92
+ async executeWithdrawal(signer) {
93
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
94
+ const tx = await contract.getFunction('executeWithdrawal')({ nonce });
81
95
  const receipt = await tx.wait();
96
+ if (!receipt)
97
+ throw new Error('Transaction was dropped or replaced');
82
98
  return receipt.hash;
83
99
  }
84
- async extendLock(seller, sessionId, additionalAmount, buyerSig) {
85
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
86
- const tx = await contract.getFunction('extendLock')(sessionId, additionalAmount, buyerSig, { nonce });
100
+ async cancelWithdrawal(signer) {
101
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
102
+ const tx = await contract.getFunction('cancelWithdrawal')({ nonce });
87
103
  const receipt = await tx.wait();
104
+ if (!receipt)
105
+ throw new Error('Transaction was dropped or replaced');
88
106
  return receipt.hash;
89
107
  }
90
- async settle(seller, sessionId, runningTotal, score, buyerSig) {
91
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
92
- const tx = await contract.getFunction('settle')(sessionId, runningTotal, score, buyerSig, { nonce });
108
+ // ─── Seller Operations ─────────────────────────────────────────────
109
+ async stake(signer, amount) {
110
+ const connected = this._ensureConnected(signer);
111
+ const signerAddress = await connected.getAddress();
112
+ const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
113
+ const approveNonce = await this._reserveNonce(signerAddress);
114
+ const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
115
+ const approveReceipt = await approveTx.wait();
116
+ if (!approveReceipt)
117
+ throw new Error('Transaction was dropped or replaced');
118
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
119
+ const stakeNonce = await this._reserveNonce(signerAddress);
120
+ const tx = await contract.getFunction('stake')(amount, { nonce: stakeNonce });
93
121
  const receipt = await tx.wait();
122
+ if (!receipt)
123
+ throw new Error('Transaction was dropped or replaced');
94
124
  return receipt.hash;
95
125
  }
96
- async openDispute(caller, sessionId, claimedAmount) {
97
- const { contract, nonce } = await this._prepareEscrowWrite(caller);
98
- const tx = await contract.getFunction('openDispute')(sessionId, claimedAmount, { nonce });
126
+ async unstake(signer) {
127
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
128
+ const tx = await contract.getFunction('unstake')({ nonce });
99
129
  const receipt = await tx.wait();
130
+ if (!receipt)
131
+ throw new Error('Transaction was dropped or replaced');
100
132
  return receipt.hash;
101
133
  }
102
- async respondDispute(buyer, sessionId) {
103
- const { contract, nonce } = await this._prepareEscrowWrite(buyer);
104
- const tx = await contract.getFunction('respondDispute')(sessionId, { nonce });
134
+ async setTokenRate(signer, rate) {
135
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
136
+ const tx = await contract.getFunction('setTokenRate')(rate, { nonce });
105
137
  const receipt = await tx.wait();
138
+ if (!receipt)
139
+ throw new Error('Transaction was dropped or replaced');
106
140
  return receipt.hash;
107
141
  }
108
- async resolveDispute(caller, sessionId) {
109
- const { contract, nonce } = await this._prepareEscrowWrite(caller);
110
- const tx = await contract.getFunction('resolveDispute')(sessionId, { nonce });
142
+ async claimEarnings(signer) {
143
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
144
+ const tx = await contract.getFunction('claimEarnings')({ nonce });
111
145
  const receipt = await tx.wait();
146
+ if (!receipt)
147
+ throw new Error('Transaction was dropped or replaced');
112
148
  return receipt.hash;
113
149
  }
114
- async releaseExpiredLock(buyer, sessionId) {
115
- const { contract, nonce } = await this._prepareEscrowWrite(buyer);
116
- const tx = await contract.getFunction('releaseExpiredLock')(sessionId, { nonce });
150
+ // ─── Core — Reserve & Settle ───────────────────────────────────────
151
+ async reserve(signer, buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig) {
152
+ const { contract, nonce: txNonce } = await this._prepareEscrowWrite(signer);
153
+ const tx = await contract.getFunction('reserve')(buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig, { nonce: txNonce });
117
154
  const receipt = await tx.wait();
155
+ if (!receipt)
156
+ throw new Error('Transaction was dropped or replaced');
118
157
  return receipt.hash;
119
158
  }
120
- async getBuyerAccount(buyerAddr) {
159
+ async settle(signer, sessionId, tokenCount) {
160
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
161
+ const tx = await contract.getFunction('settle')(sessionId, tokenCount, { nonce });
162
+ const receipt = await tx.wait();
163
+ if (!receipt)
164
+ throw new Error('Transaction was dropped or replaced');
165
+ return receipt.hash;
166
+ }
167
+ async settleTimeout(signer, sessionId) {
168
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
169
+ const tx = await contract.getFunction('settleTimeout')(sessionId, { nonce });
170
+ const receipt = await tx.wait();
171
+ if (!receipt)
172
+ throw new Error('Transaction was dropped or replaced');
173
+ return receipt.hash;
174
+ }
175
+ // ─── View Functions ────────────────────────────────────────────────
176
+ async getBuyerBalance(buyerAddr) {
177
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
178
+ const result = await contract.getFunction('getBuyerBalance')(buyerAddr);
179
+ return {
180
+ available: result[0],
181
+ reserved: result[1],
182
+ pendingWithdrawal: result[2],
183
+ lastActivityAt: result[3],
184
+ };
185
+ }
186
+ async getBuyerCreditLimit(buyerAddr) {
187
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
188
+ return contract.getFunction('getBuyerCreditLimit')(buyerAddr);
189
+ }
190
+ async getSellerAccount(sellerAddr) {
121
191
  const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
122
- const result = await contract.getFunction('buyers')(buyerAddr);
123
- const deposited = result[0];
124
- const committed = result[1];
192
+ const result = await contract.getFunction('getSellerAccount')(sellerAddr);
125
193
  return {
126
- deposited,
127
- committed,
128
- available: deposited - committed,
194
+ stake: result[0],
195
+ earnings: result[1],
196
+ stakedAt: result[2],
197
+ tokenRate: result[3],
129
198
  };
130
199
  }
131
200
  async getSession(sessionId) {
@@ -134,32 +203,70 @@ export class BaseEscrowClient {
134
203
  return {
135
204
  buyer: result[0],
136
205
  seller: result[1],
137
- lockedAmount: result[2],
138
- status: Number(result[3]),
139
- expiresAt: Number(result[4]),
140
- settledAmount: result[5],
141
- score: Number(result[6]),
142
- disputeClaimedAmount: result[7],
143
- disputeOpenedAt: Number(result[8]),
144
- disputeBuyerResponded: result[9],
206
+ maxAmount: result[2],
207
+ nonce: result[3],
208
+ deadline: result[4],
209
+ previousConsumption: result[5],
210
+ previousSessionId: result[6],
211
+ reservedAt: result[7],
212
+ settledAmount: result[8],
213
+ settledTokenCount: result[9],
214
+ tokenRate: result[10],
215
+ status: Number(result[11]),
216
+ isFirstSign: result[12],
217
+ isProvenSign: result[13],
218
+ isQualifiedProvenSign: result[14],
145
219
  };
146
220
  }
147
- async getReputation(sellerAddr) {
221
+ async domainSeparator() {
222
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
223
+ return contract.getFunction('domainSeparator')();
224
+ }
225
+ async getFirstSignCap() {
148
226
  const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
149
- const result = await contract.getFunction('reputations')(sellerAddr);
150
- const totalWeightedScore = result[0];
151
- const totalWeight = result[1];
152
- const sessionCount = Number(result[2]);
153
- const disputeCount = Number(result[3]);
154
- const weightedAverage = totalWeight > 0n
155
- ? Number(totalWeightedScore / totalWeight)
156
- : 50;
227
+ return contract.getFunction('FIRST_SIGN_CAP')();
228
+ }
229
+ async getLatestSessionId(buyerAddr, sellerAddr) {
230
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
231
+ return contract.getFunction('latestSessionId')(buyerAddr, sellerAddr);
232
+ }
233
+ async getFirstSessionTimestamp(buyerAddr, sellerAddr) {
234
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
235
+ return contract.getFunction('firstSessionTimestamp')(buyerAddr, sellerAddr);
236
+ }
237
+ async getProvenSignCooldown() {
238
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
239
+ return contract.getFunction('PROVEN_SIGN_COOLDOWN')();
240
+ }
241
+ /**
242
+ * Fetch all data the buyer needs to display a payment approval card.
243
+ * Batches multiple view calls in parallel.
244
+ */
245
+ async getBuyerApprovalContext(buyerAddr, sellerAddr) {
246
+ const ZERO_BYTES32 = '0x' + '00'.repeat(32);
247
+ const [buyerBalance, firstSignCap, latestSessId, firstSessTs, cooldown] = await Promise.all([
248
+ this.getBuyerBalance(buyerAddr),
249
+ this.getFirstSignCap(),
250
+ this.getLatestSessionId(buyerAddr, sellerAddr),
251
+ this.getFirstSessionTimestamp(buyerAddr, sellerAddr),
252
+ this.getProvenSignCooldown(),
253
+ ]);
254
+ const isFirstSign = latestSessId === ZERO_BYTES32;
255
+ const nowSecs = BigInt(Math.floor(Date.now() / 1000));
256
+ let cooldownRemainingSecs = 0;
257
+ if (!isFirstSign && firstSessTs > 0n) {
258
+ const cooldownEnd = firstSessTs + cooldown;
259
+ if (cooldownEnd > nowSecs) {
260
+ cooldownRemainingSecs = Number(cooldownEnd - nowSecs);
261
+ }
262
+ }
157
263
  return {
158
- totalWeightedScore,
159
- totalWeight,
160
- sessionCount,
161
- disputeCount,
162
- weightedAverage,
264
+ buyerBalance,
265
+ firstSignCap,
266
+ latestSessionId: latestSessId,
267
+ firstSessionTimestamp: firstSessTs,
268
+ isFirstSign,
269
+ cooldownRemainingSecs,
163
270
  };
164
271
  }
165
272
  async getUSDCBalance(ownerAddr) {
@@ -1 +1 @@
1
- {"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type AbstractSigner } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
3
+ export interface IdentityClientConfig {
4
+ rpcUrl: string;
5
+ contractAddress: string;
6
+ }
7
+ export declare class IdentityClient extends BaseEvmClient {
8
+ constructor(config: IdentityClientConfig);
9
+ /**
10
+ * Register a new agent identity via ERC-8004 IdentityRegistry.
11
+ * Returns the new agentId. The peerId is the signer's EVM address
12
+ * (ownerOf(agentId)), so no separate metadata storage is needed.
13
+ */
14
+ register(signer: AbstractSigner, metadataURI?: string): Promise<number>;
15
+ setMetadata(signer: AbstractSigner, agentId: number, key: string, value: Uint8Array): Promise<string>;
16
+ setAgentURI(signer: AbstractSigner, agentId: number, uri: string): Promise<string>;
17
+ isRegistered(address: string): Promise<boolean>;
18
+ getAgentWallet(agentId: number): Promise<string>;
19
+ getMetadata(agentId: number, key: string): Promise<Uint8Array>;
20
+ }
21
+ //# sourceMappingURL=identity-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAkBD,qBAAa,cAAe,SAAQ,aAAa;gBACnC,MAAM,EAAE,oBAAoB;IAMxC;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBvE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrG,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlF,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAKrE"}
@@ -0,0 +1,68 @@
1
+ import { Contract } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
3
+ const IDENTITY_REGISTRY_ABI = [
4
+ // Registration
5
+ 'function register() external returns (uint256)',
6
+ 'function register(string uri) external returns (uint256)',
7
+ // View — identity lookups
8
+ 'function ownerOf(uint256 agentId) external view returns (address)',
9
+ 'function balanceOf(address owner) external view returns (uint256)',
10
+ // Metadata
11
+ 'function setMetadata(uint256 agentId, string key, bytes value) external',
12
+ 'function getMetadata(uint256 agentId, string key) external view returns (bytes)',
13
+ 'function setAgentURI(uint256 agentId, string uri) external',
14
+ ];
15
+ export class IdentityClient extends BaseEvmClient {
16
+ constructor(config) {
17
+ super(config.rpcUrl, config.contractAddress);
18
+ }
19
+ // ── Write methods ──────────────────────────────────────────────────
20
+ /**
21
+ * Register a new agent identity via ERC-8004 IdentityRegistry.
22
+ * Returns the new agentId. The peerId is the signer's EVM address
23
+ * (ownerOf(agentId)), so no separate metadata storage is needed.
24
+ */
25
+ async register(signer, metadataURI) {
26
+ const connected = this._ensureConnected(signer);
27
+ const signerAddress = await connected.getAddress();
28
+ const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, connected);
29
+ let tx;
30
+ const nonce = await this._reserveNonce(signerAddress);
31
+ if (metadataURI) {
32
+ tx = await contract.getFunction('register(string)')(metadataURI, { nonce });
33
+ }
34
+ else {
35
+ tx = await contract.getFunction('register()')({ nonce });
36
+ }
37
+ const receipt = await tx.wait();
38
+ if (!receipt)
39
+ throw new Error('Transaction was dropped or replaced');
40
+ // Extract agentId from Transfer event (ERC-721 Transfer(address,address,uint256))
41
+ const transferTopic = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
42
+ const transferLog = receipt.logs.find((l) => l.topics?.[0] === transferTopic);
43
+ const rawAgentId = transferLog?.topics?.[3];
44
+ return rawAgentId ? Number(BigInt(rawAgentId)) : 0;
45
+ }
46
+ async setMetadata(signer, agentId, key, value) {
47
+ return this._execWrite(signer, IDENTITY_REGISTRY_ABI, 'setMetadata', agentId, key, value);
48
+ }
49
+ async setAgentURI(signer, agentId, uri) {
50
+ return this._execWrite(signer, IDENTITY_REGISTRY_ABI, 'setAgentURI', agentId, uri);
51
+ }
52
+ // ── View methods ───────────────────────────────────────────────────
53
+ async isRegistered(address) {
54
+ const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
55
+ const balance = await contract.getFunction('balanceOf')(address);
56
+ return Number(balance) > 0;
57
+ }
58
+ async getAgentWallet(agentId) {
59
+ const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
60
+ return contract.getFunction('ownerOf')(agentId);
61
+ }
62
+ async getMetadata(agentId, key) {
63
+ const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
64
+ const result = await contract.getFunction('getMetadata')(agentId, key);
65
+ return new Uint8Array(Buffer.from(result.slice(2), 'hex'));
66
+ }
67
+ }
68
+ //# sourceMappingURL=identity-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-client.js","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,10 @@
1
- import { Wallet } from 'ethers';
2
1
  import type { Identity } from '../../p2p/identity.js';
3
2
  /**
4
- * Derive a secp256k1 private key from the Ed25519 identity seed.
5
- * Domain-separated to ensure the derived key is independent from the Ed25519 key.
6
- *
7
- * Derivation: keccak256(ed25519_seed || "evm-payment-key") → secp256k1 private key
8
- *
9
- * The Ed25519 seed (identity.privateKey) is 32 bytes. We append a fixed
10
- * domain separator string to prevent the derived key from colliding with
11
- * any other use of the same seed. keccak256 produces a 32-byte output
12
- * which is a valid secp256k1 private key (the probability of hitting an
13
- * invalid key is astronomically low: ~1/2^128).
3
+ * @deprecated Identity IS the EVM wallet now. Use identity.wallet directly.
14
4
  */
15
- export declare function identityToEvmWallet(identity: Identity): Wallet;
5
+ export declare function identityToEvmWallet(identity: Identity): import("ethers").Wallet;
16
6
  /**
17
- * Get the EVM address (0x-prefixed hex) for a Antseed Identity.
18
- * This is the address that appears on-chain as the buyer or seller.
7
+ * @deprecated Identity peerId IS the EVM address. Use `'0x' + identity.peerId` or `identity.wallet.address`.
19
8
  */
20
9
  export declare function identityToEvmAddress(identity: Identity): string;
21
10
  //# sourceMappingURL=keypair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAO9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,2BAErD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/D"}
@@ -1,29 +1,13 @@
1
- import { Wallet, keccak256 } from 'ethers';
2
1
  /**
3
- * Derive a secp256k1 private key from the Ed25519 identity seed.
4
- * Domain-separated to ensure the derived key is independent from the Ed25519 key.
5
- *
6
- * Derivation: keccak256(ed25519_seed || "evm-payment-key") → secp256k1 private key
7
- *
8
- * The Ed25519 seed (identity.privateKey) is 32 bytes. We append a fixed
9
- * domain separator string to prevent the derived key from colliding with
10
- * any other use of the same seed. keccak256 produces a 32-byte output
11
- * which is a valid secp256k1 private key (the probability of hitting an
12
- * invalid key is astronomically low: ~1/2^128).
2
+ * @deprecated Identity IS the EVM wallet now. Use identity.wallet directly.
13
3
  */
14
4
  export function identityToEvmWallet(identity) {
15
- const domainSeparator = new TextEncoder().encode('evm-payment-key');
16
- const combined = new Uint8Array(identity.privateKey.length + domainSeparator.length);
17
- combined.set(identity.privateKey, 0);
18
- combined.set(domainSeparator, identity.privateKey.length);
19
- const privateKey = keccak256(combined);
20
- return new Wallet(privateKey);
5
+ return identity.wallet;
21
6
  }
22
7
  /**
23
- * Get the EVM address (0x-prefixed hex) for a Antseed Identity.
24
- * This is the address that appears on-chain as the buyer or seller.
8
+ * @deprecated Identity peerId IS the EVM address. Use `'0x' + identity.peerId` or `identity.wallet.address`.
25
9
  */
26
10
  export function identityToEvmAddress(identity) {
27
- return identityToEvmWallet(identity).address;
11
+ return identity.wallet.address;
28
12
  }
29
13
  //# sourceMappingURL=keypair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAG3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrF,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AACjC,CAAC"}