@agirails/sdk 2.0.1-beta → 2.0.2

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 (405) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +116 -108
  3. package/bin/actp +10 -0
  4. package/dist/ACTPClient.d.ts +456 -33
  5. package/dist/ACTPClient.d.ts.map +1 -1
  6. package/dist/ACTPClient.js +477 -93
  7. package/dist/ACTPClient.js.map +1 -1
  8. package/dist/abi/AgentRegistry.json +782 -0
  9. package/dist/abi/EscrowVault.json +106 -38
  10. package/dist/abi/IdentityRegistry.json +316 -0
  11. package/dist/adapters/BaseAdapter.d.ts +231 -0
  12. package/dist/adapters/BaseAdapter.d.ts.map +1 -0
  13. package/dist/adapters/BaseAdapter.js +393 -0
  14. package/dist/adapters/BaseAdapter.js.map +1 -0
  15. package/dist/adapters/BeginnerAdapter.d.ts +152 -0
  16. package/dist/adapters/BeginnerAdapter.d.ts.map +1 -0
  17. package/dist/adapters/BeginnerAdapter.js +168 -0
  18. package/dist/adapters/BeginnerAdapter.js.map +1 -0
  19. package/dist/adapters/IntermediateAdapter.d.ts +211 -0
  20. package/dist/adapters/IntermediateAdapter.d.ts.map +1 -0
  21. package/dist/adapters/IntermediateAdapter.js +260 -0
  22. package/dist/adapters/IntermediateAdapter.js.map +1 -0
  23. package/dist/adapters/index.d.ts +15 -0
  24. package/dist/adapters/index.d.ts.map +1 -0
  25. package/dist/adapters/index.js +26 -0
  26. package/dist/adapters/index.js.map +1 -0
  27. package/dist/builders/DeliveryProofBuilder.d.ts +60 -1
  28. package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
  29. package/dist/builders/DeliveryProofBuilder.js +81 -5
  30. package/dist/builders/DeliveryProofBuilder.js.map +1 -1
  31. package/dist/builders/QuoteBuilder.d.ts +101 -0
  32. package/dist/builders/QuoteBuilder.d.ts.map +1 -1
  33. package/dist/builders/QuoteBuilder.js +120 -3
  34. package/dist/builders/QuoteBuilder.js.map +1 -1
  35. package/dist/builders/index.d.ts +4 -0
  36. package/dist/builders/index.d.ts.map +1 -1
  37. package/dist/builders/index.js +4 -0
  38. package/dist/builders/index.js.map +1 -1
  39. package/dist/cli/commands/balance.d.ts +13 -0
  40. package/dist/cli/commands/balance.d.ts.map +1 -0
  41. package/dist/cli/commands/balance.js +89 -0
  42. package/dist/cli/commands/balance.js.map +1 -0
  43. package/dist/cli/commands/batch.d.ts +24 -0
  44. package/dist/cli/commands/batch.d.ts.map +1 -0
  45. package/dist/cli/commands/batch.js +424 -0
  46. package/dist/cli/commands/batch.js.map +1 -0
  47. package/dist/cli/commands/config.d.ts +13 -0
  48. package/dist/cli/commands/config.d.ts.map +1 -0
  49. package/dist/cli/commands/config.js +192 -0
  50. package/dist/cli/commands/config.js.map +1 -0
  51. package/dist/cli/commands/init.d.ts +19 -0
  52. package/dist/cli/commands/init.d.ts.map +1 -0
  53. package/dist/cli/commands/init.js +143 -0
  54. package/dist/cli/commands/init.js.map +1 -0
  55. package/dist/cli/commands/mint.d.ts +13 -0
  56. package/dist/cli/commands/mint.d.ts.map +1 -0
  57. package/dist/cli/commands/mint.js +91 -0
  58. package/dist/cli/commands/mint.js.map +1 -0
  59. package/dist/cli/commands/pay.d.ts +18 -0
  60. package/dist/cli/commands/pay.d.ts.map +1 -0
  61. package/dist/cli/commands/pay.js +87 -0
  62. package/dist/cli/commands/pay.js.map +1 -0
  63. package/dist/cli/commands/simulate.d.ts +32 -0
  64. package/dist/cli/commands/simulate.d.ts.map +1 -0
  65. package/dist/cli/commands/simulate.js +290 -0
  66. package/dist/cli/commands/simulate.js.map +1 -0
  67. package/dist/cli/commands/time.d.ts +29 -0
  68. package/dist/cli/commands/time.d.ts.map +1 -0
  69. package/dist/cli/commands/time.js +252 -0
  70. package/dist/cli/commands/time.js.map +1 -0
  71. package/dist/cli/commands/tx.d.ts +16 -0
  72. package/dist/cli/commands/tx.d.ts.map +1 -0
  73. package/dist/cli/commands/tx.js +379 -0
  74. package/dist/cli/commands/tx.js.map +1 -0
  75. package/dist/cli/commands/watch.d.ts +20 -0
  76. package/dist/cli/commands/watch.d.ts.map +1 -0
  77. package/dist/cli/commands/watch.js +160 -0
  78. package/dist/cli/commands/watch.js.map +1 -0
  79. package/dist/cli/index.d.ts +17 -0
  80. package/dist/cli/index.d.ts.map +1 -0
  81. package/dist/cli/index.js +104 -0
  82. package/dist/cli/index.js.map +1 -0
  83. package/dist/cli/utils/client.d.ts +70 -0
  84. package/dist/cli/utils/client.d.ts.map +1 -0
  85. package/dist/cli/utils/client.js +240 -0
  86. package/dist/cli/utils/client.js.map +1 -0
  87. package/dist/cli/utils/config.d.ts +91 -0
  88. package/dist/cli/utils/config.d.ts.map +1 -0
  89. package/dist/cli/utils/config.js +240 -0
  90. package/dist/cli/utils/config.js.map +1 -0
  91. package/dist/cli/utils/output.d.ts +174 -0
  92. package/dist/cli/utils/output.d.ts.map +1 -0
  93. package/dist/cli/utils/output.js +380 -0
  94. package/dist/cli/utils/output.js.map +1 -0
  95. package/dist/config/networks.d.ts +28 -0
  96. package/dist/config/networks.d.ts.map +1 -1
  97. package/dist/config/networks.js +60 -12
  98. package/dist/config/networks.js.map +1 -1
  99. package/dist/errors/index.d.ts +165 -2
  100. package/dist/errors/index.d.ts.map +1 -1
  101. package/dist/errors/index.js +260 -2
  102. package/dist/errors/index.js.map +1 -1
  103. package/dist/index.d.ts +61 -13
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +141 -36
  106. package/dist/index.js.map +1 -1
  107. package/dist/level0/Provider.d.ts +106 -0
  108. package/dist/level0/Provider.d.ts.map +1 -0
  109. package/dist/level0/Provider.js +10 -0
  110. package/dist/level0/Provider.js.map +1 -0
  111. package/dist/level0/ServiceDirectory.d.ts +74 -0
  112. package/dist/level0/ServiceDirectory.d.ts.map +1 -0
  113. package/dist/level0/ServiceDirectory.js +122 -0
  114. package/dist/level0/ServiceDirectory.js.map +1 -0
  115. package/dist/level0/index.d.ts +10 -0
  116. package/dist/level0/index.d.ts.map +1 -0
  117. package/dist/level0/index.js +15 -0
  118. package/dist/level0/index.js.map +1 -0
  119. package/dist/level0/provide.d.ts +51 -0
  120. package/dist/level0/provide.d.ts.map +1 -0
  121. package/dist/level0/provide.js +113 -0
  122. package/dist/level0/provide.js.map +1 -0
  123. package/dist/level0/request.d.ts +53 -0
  124. package/dist/level0/request.d.ts.map +1 -0
  125. package/dist/level0/request.js +462 -0
  126. package/dist/level0/request.js.map +1 -0
  127. package/dist/level1/Agent.d.ts +472 -0
  128. package/dist/level1/Agent.d.ts.map +1 -0
  129. package/dist/level1/Agent.js +1091 -0
  130. package/dist/level1/Agent.js.map +1 -0
  131. package/dist/level1/index.d.ts +10 -0
  132. package/dist/level1/index.d.ts.map +1 -0
  133. package/dist/level1/index.js +30 -0
  134. package/dist/level1/index.js.map +1 -0
  135. package/dist/level1/pricing/PriceCalculator.d.ts +62 -0
  136. package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -0
  137. package/dist/level1/pricing/PriceCalculator.js +237 -0
  138. package/dist/level1/pricing/PriceCalculator.js.map +1 -0
  139. package/dist/level1/pricing/PricingStrategy.d.ts +179 -0
  140. package/dist/level1/pricing/PricingStrategy.d.ts.map +1 -0
  141. package/dist/level1/pricing/PricingStrategy.js +11 -0
  142. package/dist/level1/pricing/PricingStrategy.js.map +1 -0
  143. package/dist/level1/types/Job.d.ts +166 -0
  144. package/dist/level1/types/Job.d.ts.map +1 -0
  145. package/dist/level1/types/Job.js +11 -0
  146. package/dist/level1/types/Job.js.map +1 -0
  147. package/dist/level1/types/Options.d.ts +258 -0
  148. package/dist/level1/types/Options.d.ts.map +1 -0
  149. package/dist/level1/types/Options.js +8 -0
  150. package/dist/level1/types/Options.js.map +1 -0
  151. package/dist/level1/types/index.d.ts +8 -0
  152. package/dist/level1/types/index.d.ts.map +1 -0
  153. package/dist/level1/types/index.js +8 -0
  154. package/dist/level1/types/index.js.map +1 -0
  155. package/dist/protocol/ACTPKernel.d.ts +229 -2
  156. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  157. package/dist/protocol/ACTPKernel.js +367 -33
  158. package/dist/protocol/ACTPKernel.js.map +1 -1
  159. package/dist/protocol/AgentRegistry.d.ts +177 -0
  160. package/dist/protocol/AgentRegistry.d.ts.map +1 -0
  161. package/dist/protocol/AgentRegistry.js +449 -0
  162. package/dist/protocol/AgentRegistry.js.map +1 -0
  163. package/dist/protocol/DIDManager.d.ts +289 -0
  164. package/dist/protocol/DIDManager.d.ts.map +1 -0
  165. package/dist/protocol/DIDManager.js +481 -0
  166. package/dist/protocol/DIDManager.js.map +1 -0
  167. package/dist/protocol/DIDResolver.d.ts +236 -0
  168. package/dist/protocol/DIDResolver.d.ts.map +1 -0
  169. package/dist/protocol/DIDResolver.js +495 -0
  170. package/dist/protocol/DIDResolver.js.map +1 -0
  171. package/dist/protocol/EASHelper.d.ts +57 -2
  172. package/dist/protocol/EASHelper.d.ts.map +1 -1
  173. package/dist/protocol/EASHelper.js +230 -37
  174. package/dist/protocol/EASHelper.js.map +1 -1
  175. package/dist/protocol/EscrowVault.d.ts +93 -2
  176. package/dist/protocol/EscrowVault.d.ts.map +1 -1
  177. package/dist/protocol/EscrowVault.js +122 -33
  178. package/dist/protocol/EscrowVault.js.map +1 -1
  179. package/dist/protocol/EventMonitor.d.ts +45 -1
  180. package/dist/protocol/EventMonitor.d.ts.map +1 -1
  181. package/dist/protocol/EventMonitor.js +64 -8
  182. package/dist/protocol/EventMonitor.js.map +1 -1
  183. package/dist/protocol/MessageSigner.d.ts +116 -2
  184. package/dist/protocol/MessageSigner.d.ts.map +1 -1
  185. package/dist/protocol/MessageSigner.js +215 -9
  186. package/dist/protocol/MessageSigner.js.map +1 -1
  187. package/dist/protocol/ProofGenerator.d.ts +93 -0
  188. package/dist/protocol/ProofGenerator.d.ts.map +1 -1
  189. package/dist/protocol/ProofGenerator.js +194 -9
  190. package/dist/protocol/ProofGenerator.js.map +1 -1
  191. package/dist/protocol/QuoteBuilder.d.ts +8 -0
  192. package/dist/protocol/QuoteBuilder.d.ts.map +1 -1
  193. package/dist/protocol/QuoteBuilder.js +8 -0
  194. package/dist/protocol/QuoteBuilder.js.map +1 -1
  195. package/dist/runtime/BlockchainRuntime.d.ts +360 -0
  196. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -0
  197. package/dist/runtime/BlockchainRuntime.js +767 -0
  198. package/dist/runtime/BlockchainRuntime.js.map +1 -0
  199. package/dist/runtime/IACTPRuntime.d.ts +271 -0
  200. package/dist/runtime/IACTPRuntime.d.ts.map +1 -0
  201. package/dist/runtime/IACTPRuntime.js +15 -0
  202. package/dist/runtime/IACTPRuntime.js.map +1 -0
  203. package/dist/runtime/MockRuntime.d.ts +445 -0
  204. package/dist/runtime/MockRuntime.d.ts.map +1 -0
  205. package/dist/runtime/MockRuntime.js +1065 -0
  206. package/dist/runtime/MockRuntime.js.map +1 -0
  207. package/dist/runtime/MockStateManager.d.ts +233 -0
  208. package/dist/runtime/MockStateManager.d.ts.map +1 -0
  209. package/dist/runtime/MockStateManager.js +533 -0
  210. package/dist/runtime/MockStateManager.js.map +1 -0
  211. package/dist/runtime/index.d.ts +14 -0
  212. package/dist/runtime/index.d.ts.map +1 -0
  213. package/dist/runtime/index.js +42 -0
  214. package/dist/runtime/index.js.map +1 -0
  215. package/dist/runtime/types/MockState.d.ts +167 -0
  216. package/dist/runtime/types/MockState.d.ts.map +1 -0
  217. package/dist/runtime/types/MockState.js +43 -0
  218. package/dist/runtime/types/MockState.js.map +1 -0
  219. package/dist/types/agent.d.ts +76 -0
  220. package/dist/types/agent.d.ts.map +1 -0
  221. package/dist/types/agent.js +8 -0
  222. package/dist/types/agent.js.map +1 -0
  223. package/dist/types/did.d.ts +192 -0
  224. package/dist/types/did.d.ts.map +1 -0
  225. package/dist/types/did.js +38 -0
  226. package/dist/types/did.js.map +1 -0
  227. package/dist/types/eip712.d.ts +34 -0
  228. package/dist/types/eip712.d.ts.map +1 -1
  229. package/dist/types/eip712.js +31 -5
  230. package/dist/types/eip712.js.map +1 -1
  231. package/dist/types/escrow.d.ts +17 -10
  232. package/dist/types/escrow.d.ts.map +1 -1
  233. package/dist/types/index.d.ts +5 -0
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/index.js +8 -0
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/message.d.ts +32 -0
  238. package/dist/types/message.d.ts.map +1 -1
  239. package/dist/types/message.js +4 -0
  240. package/dist/types/message.js.map +1 -1
  241. package/dist/types/state.d.ts +28 -0
  242. package/dist/types/state.d.ts.map +1 -1
  243. package/dist/types/state.js +37 -6
  244. package/dist/types/state.js.map +1 -1
  245. package/dist/types/transaction.d.ts +17 -0
  246. package/dist/types/transaction.d.ts.map +1 -1
  247. package/dist/utils/ErrorRecoveryGuide.d.ts +125 -0
  248. package/dist/utils/ErrorRecoveryGuide.d.ts.map +1 -0
  249. package/dist/utils/ErrorRecoveryGuide.js +579 -0
  250. package/dist/utils/ErrorRecoveryGuide.js.map +1 -0
  251. package/dist/utils/Helpers.d.ts +453 -0
  252. package/dist/utils/Helpers.d.ts.map +1 -0
  253. package/dist/utils/Helpers.js +623 -0
  254. package/dist/utils/Helpers.js.map +1 -0
  255. package/dist/utils/IPFSClient.d.ts +113 -0
  256. package/dist/utils/IPFSClient.d.ts.map +1 -1
  257. package/dist/utils/IPFSClient.js +128 -7
  258. package/dist/utils/IPFSClient.js.map +1 -1
  259. package/dist/utils/Logger.d.ts +195 -0
  260. package/dist/utils/Logger.d.ts.map +1 -0
  261. package/dist/utils/Logger.js +382 -0
  262. package/dist/utils/Logger.js.map +1 -0
  263. package/dist/utils/NonceManager.d.ts +234 -1
  264. package/dist/utils/NonceManager.d.ts.map +1 -1
  265. package/dist/utils/NonceManager.js +372 -7
  266. package/dist/utils/NonceManager.js.map +1 -1
  267. package/dist/utils/RateLimiter.d.ts +253 -0
  268. package/dist/utils/RateLimiter.d.ts.map +1 -0
  269. package/dist/utils/RateLimiter.js +424 -0
  270. package/dist/utils/RateLimiter.js.map +1 -0
  271. package/dist/utils/ReceivedNonceTracker.d.ts +175 -0
  272. package/dist/utils/ReceivedNonceTracker.d.ts.map +1 -1
  273. package/dist/utils/ReceivedNonceTracker.js +261 -5
  274. package/dist/utils/ReceivedNonceTracker.js.map +1 -1
  275. package/dist/utils/SDKLifecycle.d.ts +156 -0
  276. package/dist/utils/SDKLifecycle.d.ts.map +1 -0
  277. package/dist/utils/SDKLifecycle.js +347 -0
  278. package/dist/utils/SDKLifecycle.js.map +1 -0
  279. package/dist/utils/SecureNonce.d.ts +57 -0
  280. package/dist/utils/SecureNonce.d.ts.map +1 -0
  281. package/dist/utils/SecureNonce.js +80 -0
  282. package/dist/utils/SecureNonce.js.map +1 -0
  283. package/dist/utils/Semaphore.d.ts +123 -0
  284. package/dist/utils/Semaphore.d.ts.map +1 -0
  285. package/dist/utils/Semaphore.js +247 -0
  286. package/dist/utils/Semaphore.js.map +1 -0
  287. package/dist/utils/UsedAttestationTracker.d.ts +167 -0
  288. package/dist/utils/UsedAttestationTracker.d.ts.map +1 -0
  289. package/dist/utils/UsedAttestationTracker.js +309 -0
  290. package/dist/utils/UsedAttestationTracker.js.map +1 -0
  291. package/dist/utils/canonicalJson.d.ts +22 -0
  292. package/dist/utils/canonicalJson.d.ts.map +1 -1
  293. package/dist/utils/canonicalJson.js +26 -3
  294. package/dist/utils/canonicalJson.js.map +1 -1
  295. package/dist/utils/computeTypeHash.d.ts +14 -0
  296. package/dist/utils/computeTypeHash.d.ts.map +1 -1
  297. package/dist/utils/computeTypeHash.js +19 -2
  298. package/dist/utils/computeTypeHash.js.map +1 -1
  299. package/dist/utils/fsSafe.d.ts +14 -0
  300. package/dist/utils/fsSafe.d.ts.map +1 -0
  301. package/dist/utils/fsSafe.js +89 -0
  302. package/dist/utils/fsSafe.js.map +1 -0
  303. package/dist/utils/index.d.ts +15 -0
  304. package/dist/utils/index.d.ts.map +1 -0
  305. package/dist/utils/index.js +51 -0
  306. package/dist/utils/index.js.map +1 -0
  307. package/dist/utils/security.d.ts +147 -0
  308. package/dist/utils/security.d.ts.map +1 -0
  309. package/dist/utils/security.js +391 -0
  310. package/dist/utils/security.js.map +1 -0
  311. package/dist/utils/validation.d.ts +40 -0
  312. package/dist/utils/validation.d.ts.map +1 -1
  313. package/dist/utils/validation.js +184 -7
  314. package/dist/utils/validation.js.map +1 -1
  315. package/package.json +54 -37
  316. package/src/ACTPClient.ts +692 -178
  317. package/src/abi/AgentRegistry.json +782 -0
  318. package/src/abi/EscrowVault.json +106 -38
  319. package/src/abi/IdentityRegistry.json +316 -0
  320. package/src/adapters/BaseAdapter.ts +473 -0
  321. package/src/adapters/BeginnerAdapter.ts +232 -0
  322. package/src/adapters/IntermediateAdapter.ts +316 -0
  323. package/src/adapters/index.ts +25 -0
  324. package/src/builders/DeliveryProofBuilder.ts +3 -2
  325. package/src/cli/commands/balance.ts +110 -0
  326. package/src/cli/commands/batch.ts +487 -0
  327. package/src/cli/commands/config.ts +231 -0
  328. package/src/cli/commands/init.ts +161 -0
  329. package/src/cli/commands/mint.ts +116 -0
  330. package/src/cli/commands/pay.ts +113 -0
  331. package/src/cli/commands/simulate.ts +345 -0
  332. package/src/cli/commands/time.ts +303 -0
  333. package/src/cli/commands/tx.ts +448 -0
  334. package/src/cli/commands/watch.ts +211 -0
  335. package/src/cli/index.ts +116 -0
  336. package/src/cli/utils/client.ts +249 -0
  337. package/src/cli/utils/config.ts +282 -0
  338. package/src/cli/utils/output.ts +465 -0
  339. package/src/config/networks.ts +32 -9
  340. package/src/errors/index.ts +298 -1
  341. package/src/index.ts +207 -71
  342. package/src/level0/Provider.ts +117 -0
  343. package/src/level0/ServiceDirectory.ts +131 -0
  344. package/src/level0/index.ts +10 -0
  345. package/src/level0/provide.ts +131 -0
  346. package/src/level0/request.ts +494 -0
  347. package/src/level1/Agent.ts +1432 -0
  348. package/src/level1/index.ts +10 -0
  349. package/src/level1/pricing/PriceCalculator.ts +255 -0
  350. package/src/level1/pricing/PricingStrategy.ts +198 -0
  351. package/src/level1/types/Job.ts +179 -0
  352. package/src/level1/types/Options.ts +291 -0
  353. package/src/level1/types/index.ts +8 -0
  354. package/src/protocol/ACTPKernel.ts +175 -23
  355. package/src/protocol/AgentRegistry.ts +559 -0
  356. package/src/protocol/DIDManager.ts +629 -0
  357. package/src/protocol/DIDResolver.ts +554 -0
  358. package/src/protocol/EASHelper.ts +230 -46
  359. package/src/protocol/EscrowVault.ts +68 -50
  360. package/src/protocol/EventMonitor.ts +44 -15
  361. package/src/protocol/MessageSigner.ts +193 -13
  362. package/src/protocol/ProofGenerator.ts +223 -4
  363. package/src/runtime/BlockchainRuntime.ts +993 -0
  364. package/src/runtime/IACTPRuntime.ts +284 -0
  365. package/src/runtime/MockRuntime.ts +1244 -0
  366. package/src/runtime/MockStateManager.ts +576 -0
  367. package/src/runtime/index.ts +25 -0
  368. package/src/runtime/types/MockState.ts +227 -0
  369. package/src/types/agent.ts +79 -0
  370. package/src/types/did.ts +223 -0
  371. package/src/types/escrow.ts +12 -11
  372. package/src/types/index.ts +5 -1
  373. package/src/types/state.ts +12 -3
  374. package/src/types/transaction.ts +4 -1
  375. package/src/utils/ErrorRecoveryGuide.ts +675 -0
  376. package/src/utils/Helpers.ts +688 -0
  377. package/src/utils/IPFSClient.ts +122 -5
  378. package/src/utils/Logger.ts +484 -0
  379. package/src/utils/NonceManager.ts +305 -8
  380. package/src/utils/RateLimiter.ts +534 -0
  381. package/src/utils/ReceivedNonceTracker.ts +170 -0
  382. package/src/utils/SDKLifecycle.ts +416 -0
  383. package/src/utils/SecureNonce.ts +78 -0
  384. package/src/utils/Semaphore.ts +276 -0
  385. package/src/utils/UsedAttestationTracker.ts +387 -0
  386. package/src/utils/fsSafe.ts +75 -0
  387. package/src/utils/index.ts +80 -0
  388. package/src/utils/security.ts +418 -0
  389. package/src/utils/validation.ts +164 -0
  390. package/src/__tests__/ProofGenerator.test.ts +0 -124
  391. package/src/__tests__/QuoteBuilder.test.ts +0 -516
  392. package/src/__tests__/StateMachine.test.ts +0 -82
  393. package/src/__tests__/builders/DeliveryProofBuilder.test.ts +0 -581
  394. package/src/__tests__/integration/ACTPClient.test.ts +0 -263
  395. package/src/__tests__/integration.test.ts +0 -289
  396. package/src/__tests__/protocol/EASHelper.test.ts +0 -472
  397. package/src/__tests__/protocol/EventMonitor.test.ts +0 -382
  398. package/src/__tests__/security/ACTPKernel.security.test.ts +0 -1167
  399. package/src/__tests__/security/EscrowVault.security.test.ts +0 -570
  400. package/src/__tests__/security/MessageSigner.security.test.ts +0 -286
  401. package/src/__tests__/security/NonceReplay.security.test.ts +0 -501
  402. package/src/__tests__/security/validation.security.test.ts +0 -376
  403. package/src/__tests__/utils/IPFSClient.test.ts +0 -262
  404. package/src/__tests__/utils/NonceManager.test.ts +0 -205
  405. package/src/__tests__/utils/canonicalJson.test.ts +0 -153
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Mock State Type Definitions
3
+ *
4
+ * These interfaces define the structure of the persistent mock blockchain state
5
+ * stored in `.actp/mock-state.json`. This state is shared across CLI commands,
6
+ * SDK library usage, and Dashboard.
7
+ *
8
+ * @module runtime/types/MockState
9
+ * @see ADR-001 (Mock State Persistence Strategy)
10
+ * @see MOCK_STATE_MANAGER_SPEC.md
11
+ */
12
+ /**
13
+ * ACTP Transaction State enum matching the smart contract states.
14
+ *
15
+ * State machine:
16
+ * - INITIATED (0) -> QUOTED (1, optional) -> COMMITTED (2) -> IN_PROGRESS (3, optional)
17
+ * -> DELIVERED (4) -> SETTLED (5)
18
+ * - Dispute path: DELIVERED -> DISPUTED (6) -> SETTLED
19
+ * - Cancel path: Any pre-DELIVERED state -> CANCELLED (7)
20
+ */
21
+ export type TransactionState = 'INITIATED' | 'QUOTED' | 'COMMITTED' | 'IN_PROGRESS' | 'DELIVERED' | 'SETTLED' | 'DISPUTED' | 'CANCELLED';
22
+ /**
23
+ * Numeric state values matching the smart contract enum.
24
+ */
25
+ export declare const TransactionStateValue: Record<TransactionState, number>;
26
+ /**
27
+ * Mock blockchain event recorded during transaction lifecycle.
28
+ *
29
+ * Events are stored for debugging and can be queried to simulate
30
+ * blockchain event subscriptions.
31
+ */
32
+ export interface MockEvent {
33
+ /** Event type (e.g., 'TransactionCreated', 'EscrowLinked', 'StateTransitioned') */
34
+ type: string;
35
+ /** Unix timestamp (seconds) when event was emitted */
36
+ timestamp: number;
37
+ /** Block number when event was included */
38
+ blockNumber: number;
39
+ /** Event-specific data payload */
40
+ data: Record<string, unknown>;
41
+ }
42
+ /**
43
+ * Mock transaction representing an ACTP transaction in the mock blockchain.
44
+ *
45
+ * Mirrors the on-chain Transaction struct but stored as JSON for human-readability.
46
+ * BigNumber values are stored as strings to preserve precision.
47
+ */
48
+ export interface MockTransaction {
49
+ /** Unique transaction identifier (bytes32 hex string) */
50
+ id: string;
51
+ /** Requester's Ethereum address (checksummed) */
52
+ requester: string;
53
+ /** Provider's Ethereum address (checksummed) */
54
+ provider: string;
55
+ /** Transaction amount in USDC wei (string for BigNumber precision, 6 decimals) */
56
+ amount: string;
57
+ /** Current transaction state */
58
+ state: TransactionState;
59
+ /** Unix timestamp (seconds) when transaction was created */
60
+ createdAt: number;
61
+ /** Unix timestamp (seconds) when transaction was last updated */
62
+ updatedAt: number;
63
+ /** Unix timestamp (seconds) deadline for transaction acceptance */
64
+ deadline: number;
65
+ /** Dispute window duration in seconds */
66
+ disputeWindow: number;
67
+ /** Unix timestamp (seconds) when transaction was completed (null if not completed) */
68
+ completedAt: number | null;
69
+ /** Linked escrow ID (null if not linked yet) */
70
+ escrowId: string | null;
71
+ /** Service description or metadata hash */
72
+ serviceDescription: string;
73
+ /** Delivery proof hash (null if not delivered) */
74
+ deliveryProof: string | null;
75
+ /** List of events emitted during transaction lifecycle */
76
+ events: MockEvent[];
77
+ }
78
+ /**
79
+ * Mock escrow representing funds locked for a transaction.
80
+ *
81
+ * In mock mode, escrow is simulated without actual token transfers.
82
+ */
83
+ export interface MockEscrow {
84
+ /** Unique escrow identifier */
85
+ id: string;
86
+ /** Current escrow balance in USDC wei (string for BigNumber precision) */
87
+ balance: string;
88
+ /** Whether funds are currently locked (cannot be withdrawn) */
89
+ locked: boolean;
90
+ /** List of transaction IDs using this escrow */
91
+ transactions: string[];
92
+ /** Unix timestamp (seconds) when escrow was created */
93
+ createdAt: number;
94
+ }
95
+ /**
96
+ * Mock account representing a user's wallet state.
97
+ *
98
+ * Tracks USDC balance for testing without real tokens.
99
+ */
100
+ export interface MockAccount {
101
+ /** Ethereum address (checksummed) */
102
+ address: string;
103
+ /** USDC balance in wei (string for BigNumber precision, 6 decimals) */
104
+ usdcBalance: string;
105
+ /** Optional label for easier identification in tests */
106
+ label?: string;
107
+ }
108
+ /**
109
+ * Mock blockchain state simulating chain parameters.
110
+ *
111
+ * Allows time manipulation and block progression for testing
112
+ * deadline-based logic and dispute windows.
113
+ */
114
+ export interface MockBlockchain {
115
+ /** Current simulated Unix timestamp (seconds) */
116
+ currentTime: number;
117
+ /** Current block number */
118
+ blockNumber: number;
119
+ /** Chain ID (84532 for Base Sepolia, 8453 for Base Mainnet) */
120
+ chainId: number;
121
+ /** Average block time in seconds (for time progression calculations) */
122
+ blockTime: number;
123
+ }
124
+ /**
125
+ * Complete mock state persisted to `.actp/mock-state.json`.
126
+ *
127
+ * This is the root interface for all mock blockchain state.
128
+ * Loaded/saved by MockStateManager.
129
+ */
130
+ export interface MockState {
131
+ /** State schema version (e.g., "1.0") for migrations */
132
+ version: string;
133
+ /** Always "mock" for mock mode */
134
+ mode: 'mock';
135
+ /** Simulated blockchain parameters */
136
+ blockchain: MockBlockchain;
137
+ /** All mock transactions indexed by transaction ID */
138
+ transactions: Record<string, MockTransaction>;
139
+ /** All mock escrows indexed by escrow ID */
140
+ escrows: Record<string, MockEscrow>;
141
+ /** All mock accounts indexed by address */
142
+ accounts: Record<string, MockAccount>;
143
+ /**
144
+ * Global event log for all events (optional for backwards compatibility).
145
+ *
146
+ * SECURITY FIX (L-4): Events are now persisted to state file for
147
+ * debugging and audit purposes. This allows event history to survive
148
+ * across CLI invocations.
149
+ */
150
+ events?: MockEvent[];
151
+ }
152
+ /**
153
+ * Default values for creating new mock state.
154
+ */
155
+ export declare const MOCK_STATE_DEFAULTS: {
156
+ /** Current state schema version */
157
+ readonly VERSION: "1.0";
158
+ /** Default chain ID (Base Sepolia testnet) */
159
+ readonly CHAIN_ID: 84532;
160
+ /** Default starting block number */
161
+ readonly INITIAL_BLOCK_NUMBER: 1000;
162
+ /** Default block time in seconds (Base L2 ~2 seconds) */
163
+ readonly BLOCK_TIME: 2;
164
+ /** Default initial USDC balance for new accounts (10,000 USDC = 10_000_000_000 wei) */
165
+ readonly DEFAULT_USDC_BALANCE: "10000000000";
166
+ };
167
+ //# sourceMappingURL=MockState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockState.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/MockState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Mock State Type Definitions
4
+ *
5
+ * These interfaces define the structure of the persistent mock blockchain state
6
+ * stored in `.actp/mock-state.json`. This state is shared across CLI commands,
7
+ * SDK library usage, and Dashboard.
8
+ *
9
+ * @module runtime/types/MockState
10
+ * @see ADR-001 (Mock State Persistence Strategy)
11
+ * @see MOCK_STATE_MANAGER_SPEC.md
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.MOCK_STATE_DEFAULTS = exports.TransactionStateValue = void 0;
15
+ /**
16
+ * Numeric state values matching the smart contract enum.
17
+ */
18
+ exports.TransactionStateValue = {
19
+ INITIATED: 0,
20
+ QUOTED: 1,
21
+ COMMITTED: 2,
22
+ IN_PROGRESS: 3,
23
+ DELIVERED: 4,
24
+ SETTLED: 5,
25
+ DISPUTED: 6,
26
+ CANCELLED: 7,
27
+ };
28
+ /**
29
+ * Default values for creating new mock state.
30
+ */
31
+ exports.MOCK_STATE_DEFAULTS = {
32
+ /** Current state schema version */
33
+ VERSION: '1.0',
34
+ /** Default chain ID (Base Sepolia testnet) */
35
+ CHAIN_ID: 84532,
36
+ /** Default starting block number */
37
+ INITIAL_BLOCK_NUMBER: 1000,
38
+ /** Default block time in seconds (Base L2 ~2 seconds) */
39
+ BLOCK_TIME: 2,
40
+ /** Default initial USDC balance for new accounts (10,000 USDC = 10_000_000_000 wei) */
41
+ DEFAULT_USDC_BALANCE: '10000000000',
42
+ };
43
+ //# sourceMappingURL=MockState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockState.js","sourceRoot":"","sources":["../../../src/runtime/types/MockState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAqBH;;GAEG;AACU,QAAA,qBAAqB,GAAqC;IACrE,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;CACb,CAAC;AAqKF;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,OAAO,EAAE,KAAK;IAEd,8CAA8C;IAC9C,QAAQ,EAAE,KAAK;IAEf,oCAAoC;IACpC,oBAAoB,EAAE,IAAI;IAE1B,yDAAyD;IACzD,UAAU,EAAE,CAAC;IAEb,uFAAuF;IACvF,oBAAoB,EAAE,aAAa;CAC3B,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Agent Registry Types (AIP-7)
3
+ *
4
+ * Types for AI agent identity, registration, and reputation
5
+ */
6
+ /**
7
+ * Service descriptor metadata for an agent
8
+ */
9
+ export interface ServiceDescriptor {
10
+ /** keccak256(lowercase(serviceType)) */
11
+ serviceTypeHash: string;
12
+ /** Human-readable service type (lowercase, alphanumeric + hyphens) */
13
+ serviceType: string;
14
+ /** IPFS/HTTPS URL to JSON Schema for inputData */
15
+ schemaURI: string;
16
+ /** Minimum price in USDC base units (6 decimals) */
17
+ minPrice: bigint;
18
+ /** Maximum price in USDC base units */
19
+ maxPrice: bigint;
20
+ /** Average completion time in seconds */
21
+ avgCompletionTime: number;
22
+ /** IPFS CID to full service descriptor JSON */
23
+ metadataCID: string;
24
+ }
25
+ /**
26
+ * Agent profile stored on-chain
27
+ */
28
+ export interface AgentProfile {
29
+ /** Agent's Ethereum address (controller of DID) */
30
+ agentAddress: string;
31
+ /** Full DID (e.g., did:ethr:8453:0x...) */
32
+ did: string;
33
+ /** HTTPS endpoint or IPFS gateway URL */
34
+ endpoint: string;
35
+ /** Supported service type hashes */
36
+ serviceTypes: string[];
37
+ /** USDC staked (V1: always 0, V2: slashing for disputes) */
38
+ stakedAmount: bigint;
39
+ /** Aggregated reputation (scale: 0-10000, 2 decimals precision) */
40
+ reputationScore: number;
41
+ /** Count of completed SETTLED transactions */
42
+ totalTransactions: number;
43
+ /** Count of transactions that went to DISPUTED state */
44
+ disputedTransactions: number;
45
+ /** Cumulative transaction volume (6 decimals) */
46
+ totalVolumeUSDC: bigint;
47
+ /** Block timestamp of registration */
48
+ registeredAt: number;
49
+ /** Last profile update timestamp */
50
+ updatedAt: number;
51
+ /** Agent is accepting new requests */
52
+ isActive: boolean;
53
+ }
54
+ /**
55
+ * Parameters for registering a new agent
56
+ */
57
+ export interface RegisterAgentParams {
58
+ /** HTTPS endpoint or IPFS gateway URL */
59
+ endpoint: string;
60
+ /** List of services the agent provides */
61
+ serviceDescriptors: ServiceDescriptor[];
62
+ }
63
+ /**
64
+ * Query parameters for finding agents by service
65
+ */
66
+ export interface QueryAgentsParams {
67
+ /** Service type hash to search for */
68
+ serviceTypeHash: string;
69
+ /** Minimum reputation score (0-10000) */
70
+ minReputation?: number;
71
+ /** Skip first N results (for pagination) */
72
+ offset?: number;
73
+ /** Maximum number of results to return */
74
+ limit?: number;
75
+ }
76
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Registry Types (AIP-7)
4
+ *
5
+ * Types for AI agent identity, registration, and reputation
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * DID (Decentralized Identity) Types - AIP-7 §2
3
+ *
4
+ * Implements W3C DID specification for Ethereum-based identities
5
+ * using the did:ethr method with ERC-1056 registry
6
+ */
7
+ /**
8
+ * DID format: did:ethr:<chainId>:<address>
9
+ * Example: did:ethr:84532:0x742d35cc6634c0532925a3b844bc9e7595f0beb
10
+ */
11
+ export type DID = string;
12
+ /**
13
+ * W3C DID Document structure
14
+ * @see https://www.w3.org/TR/did-core/
15
+ */
16
+ export interface DIDDocument {
17
+ '@context': string | string[];
18
+ id: DID;
19
+ verificationMethod?: VerificationMethod[];
20
+ authentication?: (string | VerificationMethod)[];
21
+ assertionMethod?: (string | VerificationMethod)[];
22
+ keyAgreement?: (string | VerificationMethod)[];
23
+ capabilityInvocation?: (string | VerificationMethod)[];
24
+ capabilityDelegation?: (string | VerificationMethod)[];
25
+ service?: ServiceEndpoint[];
26
+ }
27
+ /**
28
+ * Verification method for cryptographic key
29
+ */
30
+ export interface VerificationMethod {
31
+ id: string;
32
+ type: string;
33
+ controller: DID;
34
+ blockchainAccountId?: string;
35
+ publicKeyHex?: string;
36
+ publicKeyBase58?: string;
37
+ publicKeyMultibase?: string;
38
+ ethereumAddress?: string;
39
+ validTo?: number | bigint;
40
+ }
41
+ /**
42
+ * Service endpoint in DID Document
43
+ */
44
+ export interface ServiceEndpoint {
45
+ id: string;
46
+ type: string;
47
+ serviceEndpoint: string | string[] | Record<string, unknown>;
48
+ description?: string;
49
+ }
50
+ /**
51
+ * DID Resolution result
52
+ */
53
+ export interface DIDResolutionResult {
54
+ didDocument: DIDDocument | null;
55
+ didResolutionMetadata: DIDResolutionMetadata;
56
+ didDocumentMetadata: DIDDocumentMetadata;
57
+ }
58
+ /**
59
+ * DID Resolution metadata
60
+ */
61
+ export interface DIDResolutionMetadata {
62
+ contentType?: string;
63
+ error?: 'invalidDid' | 'notFound' | 'representationNotSupported' | 'unsupportedDidMethod' | string;
64
+ message?: string;
65
+ }
66
+ /**
67
+ * DID Document metadata
68
+ */
69
+ export interface DIDDocumentMetadata {
70
+ created?: string;
71
+ updated?: string;
72
+ deactivated?: boolean;
73
+ versionId?: string;
74
+ nextUpdate?: string;
75
+ nextVersionId?: string;
76
+ }
77
+ /**
78
+ * Configuration for DID Resolver
79
+ */
80
+ export interface DIDResolverConfig {
81
+ /**
82
+ * Network to use (base-sepolia or base-mainnet)
83
+ */
84
+ network?: string;
85
+ /**
86
+ * Custom RPC URL (overrides network default)
87
+ */
88
+ rpcUrl?: string;
89
+ /**
90
+ * Custom Identity Registry address (overrides network default)
91
+ */
92
+ registryAddress?: string;
93
+ /**
94
+ * Chain ID (required if not using predefined network)
95
+ */
96
+ chainId?: number;
97
+ }
98
+ /**
99
+ * Parsed DID components
100
+ */
101
+ export interface ParsedDID {
102
+ method: string;
103
+ chainId: number;
104
+ address: string;
105
+ }
106
+ /**
107
+ * ERC-1056 Identity Changed Event
108
+ */
109
+ export interface DIDOwnerChangedEvent {
110
+ identity: string;
111
+ owner: string;
112
+ previousChange: bigint;
113
+ }
114
+ /**
115
+ * ERC-1056 Delegate Changed Event
116
+ */
117
+ export interface DIDDelegateChangedEvent {
118
+ identity: string;
119
+ delegateType: string;
120
+ delegate: string;
121
+ validTo: bigint;
122
+ previousChange: bigint;
123
+ }
124
+ /**
125
+ * ERC-1056 Attribute Changed Event
126
+ */
127
+ export interface DIDAttributeChangedEvent {
128
+ identity: string;
129
+ name: string;
130
+ value: Uint8Array;
131
+ validTo: bigint;
132
+ previousChange: bigint;
133
+ }
134
+ /**
135
+ * Delegate types for ERC-1056
136
+ */
137
+ export declare enum DelegateType {
138
+ /** Can sign on behalf of identity */
139
+ SIGNING = "veriKey",
140
+ /** Can encrypt messages for identity */
141
+ ENCRYPTION = "encryptionKey",
142
+ /** Can perform general actions */
143
+ GENERAL = "delegate",
144
+ /** Custom delegate type */
145
+ CUSTOM = "custom"
146
+ }
147
+ /**
148
+ * Attribute names for ERC-1056
149
+ */
150
+ export declare enum AttributeName {
151
+ /** Service endpoint (e.g., AGIRAILS API endpoint) */
152
+ SERVICE_ENDPOINT = "did/svc/AGIRAILSProvider",
153
+ /** Public key for verification */
154
+ PUBLIC_KEY = "did/pub/Secp256k1/veriKey",
155
+ /** Encryption public key */
156
+ ENCRYPTION_KEY = "did/pub/X25519/enc",
157
+ /** Custom attribute */
158
+ CUSTOM = "custom"
159
+ }
160
+ /**
161
+ * Options for DID signature verification
162
+ */
163
+ export interface VerifySignatureOptions {
164
+ /** Chain ID to verify against (prevents cross-chain replay) */
165
+ chainId: number;
166
+ /** Expected DID (optional additional check) */
167
+ expectedDID?: DID;
168
+ /** Timestamp for delegate validity check */
169
+ timestamp?: number;
170
+ /**
171
+ * Use domain separation to prevent cross-protocol replay attacks
172
+ * Default: true (recommended for security)
173
+ * Set to false only for backwards compatibility with old signatures
174
+ */
175
+ useDomainSeparation?: boolean;
176
+ }
177
+ /**
178
+ * Result of signature verification
179
+ */
180
+ export interface SignatureVerificationResult {
181
+ /** Whether signature is valid */
182
+ valid: boolean;
183
+ /** Recovered signer address */
184
+ signer?: string;
185
+ /** Error message if verification failed */
186
+ error?: string;
187
+ /** Whether signer is a delegate (not the owner) */
188
+ isDelegate?: boolean;
189
+ /** Delegate type if signer is a delegate */
190
+ delegateType?: string;
191
+ }
192
+ //# sourceMappingURL=did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,EAAE,EAAE,GAAG,CAAC;IACR,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC/C,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IACvD,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IACvD,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,4BAA4B,GAAG,sBAAsB,GAAG,MAAM,CAAC;IACnG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,qCAAqC;IACrC,OAAO,YAAY;IAEnB,wCAAwC;IACxC,UAAU,kBAAkB;IAE5B,kCAAkC;IAClC,OAAO,aAAa;IAEpB,2BAA2B;IAC3B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,qDAAqD;IACrD,gBAAgB,6BAA6B;IAE7C,kCAAkC;IAClC,UAAU,8BAA8B;IAExC,4BAA4B;IAC5B,cAAc,uBAAuB;IAErC,uBAAuB;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,GAAG,CAAC;IAElB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;IAEf,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * DID (Decentralized Identity) Types - AIP-7 §2
4
+ *
5
+ * Implements W3C DID specification for Ethereum-based identities
6
+ * using the did:ethr method with ERC-1056 registry
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AttributeName = exports.DelegateType = void 0;
10
+ /**
11
+ * Delegate types for ERC-1056
12
+ */
13
+ var DelegateType;
14
+ (function (DelegateType) {
15
+ /** Can sign on behalf of identity */
16
+ DelegateType["SIGNING"] = "veriKey";
17
+ /** Can encrypt messages for identity */
18
+ DelegateType["ENCRYPTION"] = "encryptionKey";
19
+ /** Can perform general actions */
20
+ DelegateType["GENERAL"] = "delegate";
21
+ /** Custom delegate type */
22
+ DelegateType["CUSTOM"] = "custom";
23
+ })(DelegateType || (exports.DelegateType = DelegateType = {}));
24
+ /**
25
+ * Attribute names for ERC-1056
26
+ */
27
+ var AttributeName;
28
+ (function (AttributeName) {
29
+ /** Service endpoint (e.g., AGIRAILS API endpoint) */
30
+ AttributeName["SERVICE_ENDPOINT"] = "did/svc/AGIRAILSProvider";
31
+ /** Public key for verification */
32
+ AttributeName["PUBLIC_KEY"] = "did/pub/Secp256k1/veriKey";
33
+ /** Encryption public key */
34
+ AttributeName["ENCRYPTION_KEY"] = "did/pub/X25519/enc";
35
+ /** Custom attribute */
36
+ AttributeName["CUSTOM"] = "custom";
37
+ })(AttributeName || (exports.AttributeName = AttributeName = {}));
38
+ //# sourceMappingURL=did.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgJH;;GAEG;AACH,IAAY,YAYX;AAZD,WAAY,YAAY;IACtB,qCAAqC;IACrC,mCAAmB,CAAA;IAEnB,wCAAwC;IACxC,4CAA4B,CAAA;IAE5B,kCAAkC;IAClC,oCAAoB,CAAA;IAEpB,2BAA2B;IAC3B,iCAAiB,CAAA;AACnB,CAAC,EAZW,YAAY,4BAAZ,YAAY,QAYvB;AAED;;GAEG;AACH,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qDAAqD;IACrD,8DAA6C,CAAA;IAE7C,kCAAkC;IAClC,yDAAwC,CAAA;IAExC,4BAA4B;IAC5B,sDAAqC,CAAA;IAErC,uBAAuB;IACvB,kCAAiB,CAAA;AACnB,CAAC,EAZW,aAAa,6BAAb,aAAa,QAYxB"}
@@ -1,10 +1,23 @@
1
1
  import { DeliveryProof } from './message';
2
+ /**
3
+ * EIP-712 Type Definitions for ACTP Messages
4
+ * Reference: Yellow Paper §11.4.2
5
+ *
6
+ * Each AIP message has explicit typed data for cross-language compatibility
7
+ */
8
+ /**
9
+ * EIP-712 Domain for ACTP
10
+ */
2
11
  export interface EIP712Domain {
3
12
  name: string;
4
13
  version: string;
5
14
  chainId: number;
6
15
  verifyingContract: string;
7
16
  }
17
+ /**
18
+ * QuoteRequest (AIP-2)
19
+ * Reference: Yellow Paper §4.2
20
+ */
8
21
  export declare const QuoteRequestTypes: {
9
22
  QuoteRequest: {
10
23
  name: string;
@@ -21,6 +34,10 @@ export interface QuoteRequestData {
21
34
  deadline: number;
22
35
  disputeWindow: number;
23
36
  }
37
+ /**
38
+ * QuoteResponse (AIP-2)
39
+ * Reference: Yellow Paper §4.2
40
+ */
24
41
  export declare const QuoteResponseTypes: {
25
42
  QuoteResponse: {
26
43
  name: string;
@@ -38,6 +55,10 @@ export interface QuoteResponseData {
38
55
  deliveryTime: number;
39
56
  terms: string;
40
57
  }
58
+ /**
59
+ * DeliveryProof (AIP-4) - DEPRECATED
60
+ * @deprecated Use AIP4DeliveryProofTypes instead (AIP-4 v1.1)
61
+ */
41
62
  export declare const DeliveryProofTypes: {
42
63
  DeliveryProof: {
43
64
  name: string;
@@ -53,6 +74,10 @@ export interface DeliveryProofData {
53
74
  mimeType: string;
54
75
  }
55
76
  export declare function deliveryProofDataFromProof(proof: DeliveryProof): DeliveryProofData;
77
+ /**
78
+ * AIP-4 Delivery Proof (v1.1)
79
+ * Reference: AIP-4 §3.3
80
+ */
56
81
  export declare const AIP4DeliveryProofTypes: {
57
82
  DeliveryProof: {
58
83
  name: string;
@@ -70,12 +95,18 @@ export interface AIP4DeliveryProofData {
70
95
  chainId: number;
71
96
  nonce: number;
72
97
  }
98
+ /**
99
+ * Generic ACTPMessage (fallback for custom AIPs)
100
+ */
73
101
  export declare const ACTPMessageTypes: {
74
102
  ACTPMessage: {
75
103
  name: string;
76
104
  type: string;
77
105
  }[];
78
106
  };
107
+ /**
108
+ * Message type registry
109
+ */
79
110
  export declare const MESSAGE_TYPES: {
80
111
  'quote.request': {
81
112
  QuoteRequest: {
@@ -102,5 +133,8 @@ export declare const MESSAGE_TYPES: {
102
133
  }[];
103
134
  };
104
135
  };
136
+ /**
137
+ * Get EIP-712 types for message type
138
+ */
105
139
  export declare function getMessageTypes(messageType: string): Record<string, any>;
106
140
  //# sourceMappingURL=eip712.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../src/types/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAY1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD,eAAO,MAAM,iBAAiB;;;;;CAW7B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,eAAO,MAAM,kBAAkB;;;;;CAY9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CASlF;AAMD,eAAO,MAAM,sBAAsB;;;;;CAYlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,eAAO,MAAM,gBAAgB;;;;;CAU5B,CAAC;AAKF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAMzB,CAAC;AAKF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExE"}
1
+ {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../src/types/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;CAW7B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAY9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CASlF;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;CAYlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAMzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExE"}