@terkoizmy/intent-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +258 -0
  3. package/dist/config/chains.d.ts +25 -0
  4. package/dist/config/chains.d.ts.map +1 -0
  5. package/dist/config/chains.js +85 -0
  6. package/dist/config/chains.js.map +1 -0
  7. package/dist/config/default.d.ts +39 -0
  8. package/dist/config/default.d.ts.map +1 -0
  9. package/dist/config/default.js +46 -0
  10. package/dist/config/default.js.map +1 -0
  11. package/dist/config/testnets.d.ts +31 -0
  12. package/dist/config/testnets.d.ts.map +1 -0
  13. package/dist/config/testnets.js +99 -0
  14. package/dist/config/testnets.js.map +1 -0
  15. package/dist/errors/inventory-errors.d.ts +31 -0
  16. package/dist/errors/inventory-errors.d.ts.map +1 -0
  17. package/dist/errors/inventory-errors.js +45 -0
  18. package/dist/errors/inventory-errors.js.map +1 -0
  19. package/dist/errors/settlement-errors.d.ts +27 -0
  20. package/dist/errors/settlement-errors.d.ts.map +1 -0
  21. package/dist/errors/settlement-errors.js +39 -0
  22. package/dist/errors/settlement-errors.js.map +1 -0
  23. package/dist/errors/solver-errors.d.ts +45 -0
  24. package/dist/errors/solver-errors.d.ts.map +1 -0
  25. package/dist/errors/solver-errors.js +66 -0
  26. package/dist/errors/solver-errors.js.map +1 -0
  27. package/dist/index.d.ts +34 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +28 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/parser/classifiers/intent-classifier.d.ts +40 -0
  32. package/dist/parser/classifiers/intent-classifier.d.ts.map +1 -0
  33. package/dist/parser/classifiers/intent-classifier.js +72 -0
  34. package/dist/parser/classifiers/intent-classifier.js.map +1 -0
  35. package/dist/parser/extractors/action.d.ts +32 -0
  36. package/dist/parser/extractors/action.d.ts.map +1 -0
  37. package/dist/parser/extractors/action.js +72 -0
  38. package/dist/parser/extractors/action.js.map +1 -0
  39. package/dist/parser/extractors/amount.d.ts +39 -0
  40. package/dist/parser/extractors/amount.d.ts.map +1 -0
  41. package/dist/parser/extractors/amount.js +113 -0
  42. package/dist/parser/extractors/amount.js.map +1 -0
  43. package/dist/parser/extractors/constraints.d.ts +37 -0
  44. package/dist/parser/extractors/constraints.d.ts.map +1 -0
  45. package/dist/parser/extractors/constraints.js +119 -0
  46. package/dist/parser/extractors/constraints.js.map +1 -0
  47. package/dist/parser/extractors/index.d.ts +5 -0
  48. package/dist/parser/extractors/index.d.ts.map +1 -0
  49. package/dist/parser/extractors/index.js +5 -0
  50. package/dist/parser/extractors/index.js.map +1 -0
  51. package/dist/parser/extractors/token.d.ts +24 -0
  52. package/dist/parser/extractors/token.d.ts.map +1 -0
  53. package/dist/parser/extractors/token.js +124 -0
  54. package/dist/parser/extractors/token.js.map +1 -0
  55. package/dist/parser/index.d.ts +125 -0
  56. package/dist/parser/index.d.ts.map +1 -0
  57. package/dist/parser/index.js +293 -0
  58. package/dist/parser/index.js.map +1 -0
  59. package/dist/parser/template/bridge.d.ts +37 -0
  60. package/dist/parser/template/bridge.d.ts.map +1 -0
  61. package/dist/parser/template/bridge.js +80 -0
  62. package/dist/parser/template/bridge.js.map +1 -0
  63. package/dist/parser/template/claim.d.ts +15 -0
  64. package/dist/parser/template/claim.d.ts.map +1 -0
  65. package/dist/parser/template/claim.js +36 -0
  66. package/dist/parser/template/claim.js.map +1 -0
  67. package/dist/parser/template/index.d.ts +28 -0
  68. package/dist/parser/template/index.d.ts.map +1 -0
  69. package/dist/parser/template/index.js +50 -0
  70. package/dist/parser/template/index.js.map +1 -0
  71. package/dist/parser/template/nft.d.ts +3 -0
  72. package/dist/parser/template/nft.d.ts.map +1 -0
  73. package/dist/parser/template/nft.js +19 -0
  74. package/dist/parser/template/nft.js.map +1 -0
  75. package/dist/parser/template/send.d.ts +24 -0
  76. package/dist/parser/template/send.d.ts.map +1 -0
  77. package/dist/parser/template/send.js +61 -0
  78. package/dist/parser/template/send.js.map +1 -0
  79. package/dist/parser/template/swap.d.ts +3 -0
  80. package/dist/parser/template/swap.d.ts.map +1 -0
  81. package/dist/parser/template/swap.js +21 -0
  82. package/dist/parser/template/swap.js.map +1 -0
  83. package/dist/parser/template/unknown.d.ts +3 -0
  84. package/dist/parser/template/unknown.d.ts.map +1 -0
  85. package/dist/parser/template/unknown.js +11 -0
  86. package/dist/parser/template/unknown.js.map +1 -0
  87. package/dist/parser/template/yield.d.ts +3 -0
  88. package/dist/parser/template/yield.d.ts.map +1 -0
  89. package/dist/parser/template/yield.js +25 -0
  90. package/dist/parser/template/yield.js.map +1 -0
  91. package/dist/parser/utils/normalize.d.ts +41 -0
  92. package/dist/parser/utils/normalize.d.ts.map +1 -0
  93. package/dist/parser/utils/normalize.js +71 -0
  94. package/dist/parser/utils/normalize.js.map +1 -0
  95. package/dist/parser/utils/parser-helpers.d.ts +20 -0
  96. package/dist/parser/utils/parser-helpers.d.ts.map +1 -0
  97. package/dist/parser/utils/parser-helpers.js +282 -0
  98. package/dist/parser/utils/parser-helpers.js.map +1 -0
  99. package/dist/parser/validators/schema.d.ts +14 -0
  100. package/dist/parser/validators/schema.d.ts.map +1 -0
  101. package/dist/parser/validators/schema.js +81 -0
  102. package/dist/parser/validators/schema.js.map +1 -0
  103. package/dist/sdk-factory.d.ts +55 -0
  104. package/dist/sdk-factory.d.ts.map +1 -0
  105. package/dist/sdk-factory.js +49 -0
  106. package/dist/sdk-factory.js.map +1 -0
  107. package/dist/services/token-resolver.d.ts +142 -0
  108. package/dist/services/token-resolver.d.ts.map +1 -0
  109. package/dist/services/token-resolver.js +254 -0
  110. package/dist/services/token-resolver.js.map +1 -0
  111. package/dist/shared/chain-registry/chain-names.d.ts +22 -0
  112. package/dist/shared/chain-registry/chain-names.d.ts.map +1 -0
  113. package/dist/shared/chain-registry/chain-names.js +49 -0
  114. package/dist/shared/chain-registry/chain-names.js.map +1 -0
  115. package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts +9 -0
  116. package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts.map +1 -0
  117. package/dist/shared/chain-registry/configs/arbitrum-sepolia.js +9 -0
  118. package/dist/shared/chain-registry/configs/arbitrum-sepolia.js.map +1 -0
  119. package/dist/shared/chain-registry/configs/base-sepolia.d.ts +9 -0
  120. package/dist/shared/chain-registry/configs/base-sepolia.d.ts.map +1 -0
  121. package/dist/shared/chain-registry/configs/base-sepolia.js +9 -0
  122. package/dist/shared/chain-registry/configs/base-sepolia.js.map +1 -0
  123. package/dist/shared/chain-registry/configs/ethereum.d.ts +7 -0
  124. package/dist/shared/chain-registry/configs/ethereum.d.ts.map +1 -0
  125. package/dist/shared/chain-registry/configs/ethereum.js +7 -0
  126. package/dist/shared/chain-registry/configs/ethereum.js.map +1 -0
  127. package/dist/shared/chain-registry/configs/polygon.d.ts +7 -0
  128. package/dist/shared/chain-registry/configs/polygon.d.ts.map +1 -0
  129. package/dist/shared/chain-registry/configs/polygon.js +7 -0
  130. package/dist/shared/chain-registry/configs/polygon.js.map +1 -0
  131. package/dist/shared/chain-registry/configs/sepolia.d.ts +9 -0
  132. package/dist/shared/chain-registry/configs/sepolia.d.ts.map +1 -0
  133. package/dist/shared/chain-registry/configs/sepolia.js +9 -0
  134. package/dist/shared/chain-registry/configs/sepolia.js.map +1 -0
  135. package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts +9 -0
  136. package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts.map +1 -0
  137. package/dist/shared/chain-registry/configs/unichain-sepolia.js +9 -0
  138. package/dist/shared/chain-registry/configs/unichain-sepolia.js.map +1 -0
  139. package/dist/shared/chain-registry/registry.d.ts +50 -0
  140. package/dist/shared/chain-registry/registry.d.ts.map +1 -0
  141. package/dist/shared/chain-registry/registry.js +72 -0
  142. package/dist/shared/chain-registry/registry.js.map +1 -0
  143. package/dist/shared/rpc/provider-manager.d.ts +111 -0
  144. package/dist/shared/rpc/provider-manager.d.ts.map +1 -0
  145. package/dist/shared/rpc/provider-manager.js +116 -0
  146. package/dist/shared/rpc/provider-manager.js.map +1 -0
  147. package/dist/shared/rpc/viem-provider.d.ts +78 -0
  148. package/dist/shared/rpc/viem-provider.d.ts.map +1 -0
  149. package/dist/shared/rpc/viem-provider.js +187 -0
  150. package/dist/shared/rpc/viem-provider.js.map +1 -0
  151. package/dist/shared/token-registry/enrichment.d.ts +48 -0
  152. package/dist/shared/token-registry/enrichment.d.ts.map +1 -0
  153. package/dist/shared/token-registry/enrichment.js +69 -0
  154. package/dist/shared/token-registry/enrichment.js.map +1 -0
  155. package/dist/shared/token-registry/registry.d.ts +119 -0
  156. package/dist/shared/token-registry/registry.d.ts.map +1 -0
  157. package/dist/shared/token-registry/registry.js +200 -0
  158. package/dist/shared/token-registry/registry.js.map +1 -0
  159. package/dist/shared/utils/erc20-utils.d.ts +24 -0
  160. package/dist/shared/utils/erc20-utils.d.ts.map +1 -0
  161. package/dist/shared/utils/erc20-utils.js +31 -0
  162. package/dist/shared/utils/erc20-utils.js.map +1 -0
  163. package/dist/shared/utils/retry.d.ts +57 -0
  164. package/dist/shared/utils/retry.d.ts.map +1 -0
  165. package/dist/shared/utils/retry.js +104 -0
  166. package/dist/shared/utils/retry.js.map +1 -0
  167. package/dist/shared/wallet-manager/viem-signer.d.ts +68 -0
  168. package/dist/shared/wallet-manager/viem-signer.d.ts.map +1 -0
  169. package/dist/shared/wallet-manager/viem-signer.js +116 -0
  170. package/dist/shared/wallet-manager/viem-signer.js.map +1 -0
  171. package/dist/shared/wallet-manager/wallet-manager.d.ts +96 -0
  172. package/dist/shared/wallet-manager/wallet-manager.d.ts.map +1 -0
  173. package/dist/shared/wallet-manager/wallet-manager.js +104 -0
  174. package/dist/shared/wallet-manager/wallet-manager.js.map +1 -0
  175. package/dist/solver/agent/agent-config.d.ts +62 -0
  176. package/dist/solver/agent/agent-config.d.ts.map +1 -0
  177. package/dist/solver/agent/agent-config.js +59 -0
  178. package/dist/solver/agent/agent-config.js.map +1 -0
  179. package/dist/solver/agent/index.d.ts +6 -0
  180. package/dist/solver/agent/index.d.ts.map +1 -0
  181. package/dist/solver/agent/index.js +6 -0
  182. package/dist/solver/agent/index.js.map +1 -0
  183. package/dist/solver/agent/liquidity-agent.d.ts +118 -0
  184. package/dist/solver/agent/liquidity-agent.d.ts.map +1 -0
  185. package/dist/solver/agent/liquidity-agent.js +285 -0
  186. package/dist/solver/agent/liquidity-agent.js.map +1 -0
  187. package/dist/solver/contracts/intent-settlement/index.d.ts +2 -0
  188. package/dist/solver/contracts/intent-settlement/index.d.ts.map +1 -0
  189. package/dist/solver/contracts/intent-settlement/index.js +2 -0
  190. package/dist/solver/contracts/intent-settlement/index.js.map +1 -0
  191. package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts +22 -0
  192. package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts.map +1 -0
  193. package/dist/solver/contracts/intent-settlement/intent-settlement.js +58 -0
  194. package/dist/solver/contracts/intent-settlement/intent-settlement.js.map +1 -0
  195. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts +226 -0
  196. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts.map +1 -0
  197. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js +204 -0
  198. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js.map +1 -0
  199. package/dist/solver/index.d.ts +87 -0
  200. package/dist/solver/index.d.ts.map +1 -0
  201. package/dist/solver/index.js +167 -0
  202. package/dist/solver/index.js.map +1 -0
  203. package/dist/solver/inventory/index.d.ts +7 -0
  204. package/dist/solver/inventory/index.d.ts.map +1 -0
  205. package/dist/solver/inventory/index.js +7 -0
  206. package/dist/solver/inventory/index.js.map +1 -0
  207. package/dist/solver/inventory/inventory-manager.d.ts +135 -0
  208. package/dist/solver/inventory/inventory-manager.d.ts.map +1 -0
  209. package/dist/solver/inventory/inventory-manager.js +323 -0
  210. package/dist/solver/inventory/inventory-manager.js.map +1 -0
  211. package/dist/solver/inventory/inventory-monitor.d.ts +72 -0
  212. package/dist/solver/inventory/inventory-monitor.d.ts.map +1 -0
  213. package/dist/solver/inventory/inventory-monitor.js +123 -0
  214. package/dist/solver/inventory/inventory-monitor.js.map +1 -0
  215. package/dist/solver/inventory/rebalancer.d.ts +78 -0
  216. package/dist/solver/inventory/rebalancer.d.ts.map +1 -0
  217. package/dist/solver/inventory/rebalancer.js +210 -0
  218. package/dist/solver/inventory/rebalancer.js.map +1 -0
  219. package/dist/solver/mempool/index.d.ts +8 -0
  220. package/dist/solver/mempool/index.d.ts.map +1 -0
  221. package/dist/solver/mempool/index.js +8 -0
  222. package/dist/solver/mempool/index.js.map +1 -0
  223. package/dist/solver/mempool/intent-filter.d.ts +49 -0
  224. package/dist/solver/mempool/intent-filter.d.ts.map +1 -0
  225. package/dist/solver/mempool/intent-filter.js +75 -0
  226. package/dist/solver/mempool/intent-filter.js.map +1 -0
  227. package/dist/solver/mempool/mempool-client.d.ts +105 -0
  228. package/dist/solver/mempool/mempool-client.d.ts.map +1 -0
  229. package/dist/solver/mempool/mempool-client.js +161 -0
  230. package/dist/solver/mempool/mempool-client.js.map +1 -0
  231. package/dist/solver/mempool/mempool-monitor.d.ts +71 -0
  232. package/dist/solver/mempool/mempool-monitor.d.ts.map +1 -0
  233. package/dist/solver/mempool/mempool-monitor.js +127 -0
  234. package/dist/solver/mempool/mempool-monitor.js.map +1 -0
  235. package/dist/solver/mempool/solution-submitter.d.ts +41 -0
  236. package/dist/solver/mempool/solution-submitter.d.ts.map +1 -0
  237. package/dist/solver/mempool/solution-submitter.js +71 -0
  238. package/dist/solver/mempool/solution-submitter.js.map +1 -0
  239. package/dist/solver/monitoring/alert-manager.d.ts +43 -0
  240. package/dist/solver/monitoring/alert-manager.d.ts.map +1 -0
  241. package/dist/solver/monitoring/alert-manager.js +69 -0
  242. package/dist/solver/monitoring/alert-manager.js.map +1 -0
  243. package/dist/solver/monitoring/health-checker.d.ts +53 -0
  244. package/dist/solver/monitoring/health-checker.d.ts.map +1 -0
  245. package/dist/solver/monitoring/health-checker.js +94 -0
  246. package/dist/solver/monitoring/health-checker.js.map +1 -0
  247. package/dist/solver/monitoring/index.d.ts +7 -0
  248. package/dist/solver/monitoring/index.d.ts.map +1 -0
  249. package/dist/solver/monitoring/index.js +7 -0
  250. package/dist/solver/monitoring/index.js.map +1 -0
  251. package/dist/solver/monitoring/profit-tracker.d.ts +47 -0
  252. package/dist/solver/monitoring/profit-tracker.d.ts.map +1 -0
  253. package/dist/solver/monitoring/profit-tracker.js +112 -0
  254. package/dist/solver/monitoring/profit-tracker.js.map +1 -0
  255. package/dist/solver/pricing/dynamic-pricing.d.ts +86 -0
  256. package/dist/solver/pricing/dynamic-pricing.d.ts.map +1 -0
  257. package/dist/solver/pricing/dynamic-pricing.js +189 -0
  258. package/dist/solver/pricing/dynamic-pricing.js.map +1 -0
  259. package/dist/solver/pricing/fee-calculator.d.ts +101 -0
  260. package/dist/solver/pricing/fee-calculator.d.ts.map +1 -0
  261. package/dist/solver/pricing/fee-calculator.js +149 -0
  262. package/dist/solver/pricing/fee-calculator.js.map +1 -0
  263. package/dist/solver/pricing/index.d.ts +7 -0
  264. package/dist/solver/pricing/index.d.ts.map +1 -0
  265. package/dist/solver/pricing/index.js +7 -0
  266. package/dist/solver/pricing/index.js.map +1 -0
  267. package/dist/solver/pricing/slippage-capture.d.ts +47 -0
  268. package/dist/solver/pricing/slippage-capture.d.ts.map +1 -0
  269. package/dist/solver/pricing/slippage-capture.js +63 -0
  270. package/dist/solver/pricing/slippage-capture.js.map +1 -0
  271. package/dist/solver/protocols/aggregators/lifi.d.ts +109 -0
  272. package/dist/solver/protocols/aggregators/lifi.d.ts.map +1 -0
  273. package/dist/solver/protocols/aggregators/lifi.js +110 -0
  274. package/dist/solver/protocols/aggregators/lifi.js.map +1 -0
  275. package/dist/solver/protocols/aggregators/swing.d.ts +67 -0
  276. package/dist/solver/protocols/aggregators/swing.d.ts.map +1 -0
  277. package/dist/solver/protocols/aggregators/swing.js +212 -0
  278. package/dist/solver/protocols/aggregators/swing.js.map +1 -0
  279. package/dist/solver/protocols/base-protocol.d.ts +42 -0
  280. package/dist/solver/protocols/base-protocol.d.ts.map +1 -0
  281. package/dist/solver/protocols/base-protocol.js +16 -0
  282. package/dist/solver/protocols/base-protocol.js.map +1 -0
  283. package/dist/solver/protocols/index.d.ts +10 -0
  284. package/dist/solver/protocols/index.d.ts.map +1 -0
  285. package/dist/solver/protocols/index.js +10 -0
  286. package/dist/solver/protocols/index.js.map +1 -0
  287. package/dist/solver/protocols/lending/aave.d.ts +51 -0
  288. package/dist/solver/protocols/lending/aave.d.ts.map +1 -0
  289. package/dist/solver/protocols/lending/aave.js +172 -0
  290. package/dist/solver/protocols/lending/aave.js.map +1 -0
  291. package/dist/solver/protocols/protocol-registry.d.ts +28 -0
  292. package/dist/solver/protocols/protocol-registry.d.ts.map +1 -0
  293. package/dist/solver/protocols/protocol-registry.js +40 -0
  294. package/dist/solver/protocols/protocol-registry.js.map +1 -0
  295. package/dist/solver/settlement/index.d.ts +7 -0
  296. package/dist/solver/settlement/index.d.ts.map +1 -0
  297. package/dist/solver/settlement/index.js +7 -0
  298. package/dist/solver/settlement/index.js.map +1 -0
  299. package/dist/solver/settlement/live-settlement-manager.d.ts +62 -0
  300. package/dist/solver/settlement/live-settlement-manager.d.ts.map +1 -0
  301. package/dist/solver/settlement/live-settlement-manager.js +68 -0
  302. package/dist/solver/settlement/live-settlement-manager.js.map +1 -0
  303. package/dist/solver/settlement/proof-generator.d.ts +48 -0
  304. package/dist/solver/settlement/proof-generator.d.ts.map +1 -0
  305. package/dist/solver/settlement/proof-generator.js +100 -0
  306. package/dist/solver/settlement/proof-generator.js.map +1 -0
  307. package/dist/solver/settlement/proof-verifier.d.ts +31 -0
  308. package/dist/solver/settlement/proof-verifier.d.ts.map +1 -0
  309. package/dist/solver/settlement/proof-verifier.js +46 -0
  310. package/dist/solver/settlement/proof-verifier.js.map +1 -0
  311. package/dist/solver/settlement/settlement-manager.d.ts +97 -0
  312. package/dist/solver/settlement/settlement-manager.d.ts.map +1 -0
  313. package/dist/solver/settlement/settlement-manager.js +220 -0
  314. package/dist/solver/settlement/settlement-manager.js.map +1 -0
  315. package/dist/solver/types/agent.d.ts +92 -0
  316. package/dist/solver/types/agent.d.ts.map +1 -0
  317. package/dist/solver/types/agent.js +8 -0
  318. package/dist/solver/types/agent.js.map +1 -0
  319. package/dist/solver/types/execution.d.ts +70 -0
  320. package/dist/solver/types/execution.d.ts.map +1 -0
  321. package/dist/solver/types/execution.js +7 -0
  322. package/dist/solver/types/execution.js.map +1 -0
  323. package/dist/solver/types/index.d.ts +13 -0
  324. package/dist/solver/types/index.d.ts.map +1 -0
  325. package/dist/solver/types/index.js +13 -0
  326. package/dist/solver/types/index.js.map +1 -0
  327. package/dist/solver/types/intent.d.ts +82 -0
  328. package/dist/solver/types/intent.d.ts.map +1 -0
  329. package/dist/solver/types/intent.js +33 -0
  330. package/dist/solver/types/intent.js.map +1 -0
  331. package/dist/solver/types/inventory.d.ts +83 -0
  332. package/dist/solver/types/inventory.d.ts.map +1 -0
  333. package/dist/solver/types/inventory.js +8 -0
  334. package/dist/solver/types/inventory.js.map +1 -0
  335. package/dist/solver/types/pricing.d.ts +59 -0
  336. package/dist/solver/types/pricing.d.ts.map +1 -0
  337. package/dist/solver/types/pricing.js +8 -0
  338. package/dist/solver/types/pricing.js.map +1 -0
  339. package/dist/solver/types/settlement.d.ts +98 -0
  340. package/dist/solver/types/settlement.d.ts.map +1 -0
  341. package/dist/solver/types/settlement.js +9 -0
  342. package/dist/solver/types/settlement.js.map +1 -0
  343. package/dist/types/chain.d.ts +66 -0
  344. package/dist/types/chain.d.ts.map +1 -0
  345. package/dist/types/chain.js +7 -0
  346. package/dist/types/chain.js.map +1 -0
  347. package/dist/types/common.d.ts +44 -0
  348. package/dist/types/common.d.ts.map +1 -0
  349. package/dist/types/common.js +8 -0
  350. package/dist/types/common.js.map +1 -0
  351. package/dist/types/entities.d.ts +61 -0
  352. package/dist/types/entities.d.ts.map +1 -0
  353. package/dist/types/entities.js +2 -0
  354. package/dist/types/entities.js.map +1 -0
  355. package/dist/types/index.d.ts +44 -0
  356. package/dist/types/index.d.ts.map +1 -0
  357. package/dist/types/index.js +8 -0
  358. package/dist/types/index.js.map +1 -0
  359. package/dist/types/intent.d.ts +70 -0
  360. package/dist/types/intent.d.ts.map +1 -0
  361. package/dist/types/intent.js +2 -0
  362. package/dist/types/intent.js.map +1 -0
  363. package/dist/types/templates.d.ts +18 -0
  364. package/dist/types/templates.d.ts.map +1 -0
  365. package/dist/types/templates.js +2 -0
  366. package/dist/types/templates.js.map +1 -0
  367. package/dist/types/token.d.ts +132 -0
  368. package/dist/types/token.d.ts.map +1 -0
  369. package/dist/types/token.js +8 -0
  370. package/dist/types/token.js.map +1 -0
  371. package/package.json +62 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Terkoizmy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,258 @@
1
+ # Intent Parser SDK
2
+
3
+ Lightweight natural language parser and autonomous solver SDK for blockchain intents.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @terkoizmy/intent-sdk
9
+ # or
10
+ bun add @terkoizmy/intent-sdk
11
+ ```
12
+
13
+ ## Quick Start
14
+
15
+ > **For the full, comprehensive guide, please see [docs/USAGE.md](./docs/USAGE.md).**
16
+
17
+ ### Parser Only
18
+
19
+ ```typescript
20
+ import { IntentParser } from "@terkoizmy/intent-sdk";
21
+
22
+ const parser = new IntentParser();
23
+ const result = await parser.parse("Bridge 100 USDC from Ethereum to Arbitrum");
24
+
25
+ // { success: true, data: { intentType: 'bridge', parameters: { ... } } }
26
+ ```
27
+
28
+ ### SDK Factory (Parser + Solver)
29
+
30
+ ```typescript
31
+ import { createIntentSDK } from "@terkoizmy/intent-sdk";
32
+
33
+ const { parser, solver } = createIntentSDK({
34
+ solver: {
35
+ privateKey: process.env.SOLVER_PRIVATE_KEY!,
36
+ supportedChains: [1, 10, 42161],
37
+ supportedTokens: ["USDC", "USDT"],
38
+ mode: "simulate" // use "live" for real execution
39
+ },
40
+ }
41
+ });
42
+
43
+ await solver.initialize();
44
+
45
+ if (solver.canSolve(intent)) {
46
+ const result = await solver.solve(intent);
47
+ console.log(result); // { success: true, txHash: "0x...", profit: "..." }
48
+ }
49
+ ```
50
+
51
+ ### Autonomous Mode
52
+
53
+ Connect to a mempool server and solve intents automatically in the background:
54
+
55
+ ```typescript
56
+ import { createIntentSDK } from "@terkoizmy/intent-sdk";
57
+
58
+ const { solver } = createIntentSDK({
59
+ solver: {
60
+ privateKey: process.env.SOLVER_PRIVATE_KEY!,
61
+ supportedChains: [1, 10, 42161],
62
+ supportedTokens: ["USDC"],
63
+ mode: "live"
64
+ },
65
+ }
66
+ });
67
+
68
+ await solver.initialize();
69
+ solver.start("wss://mempool.yourprotocol.com/ws");
70
+
71
+ setInterval(() => {
72
+ const stats = solver.getStats();
73
+ console.log("Solved:", stats.mempoolStats.solved);
74
+ }, 5000);
75
+ ```
76
+
77
+ ## Supported Intent Types
78
+
79
+ | Type | Example |
80
+ |------|---------|
81
+ | **bridge** | "Bridge 100 USDC from Ethereum to Arbitrum" |
82
+ | **send** | "Send 50 USDT to 0xAbc..." |
83
+ | **swap** | "Swap 1 ETH for USDC on Uniswap" |
84
+ | **claim** | "Claim rewards from staking" |
85
+ | **yield_strategy** | "Deposit 1000 USDC into yield strategy with low risk" |
86
+
87
+ ## Supported Chains
88
+
89
+ ### Mainnets
90
+
91
+ | Chain | ID |
92
+ |-------|----|
93
+ | Ethereum Mainnet | 1 |
94
+ | Optimism | 10 |
95
+ | Arbitrum One | 42161 |
96
+
97
+ ### Testnets
98
+
99
+ | Chain | ID | Settlement Contract |
100
+ |-------|----|--------------------|
101
+ | Unichain Sepolia | 1301 | [`0x7066f6...`](https://unichain-sepolia.blockscout.com/address/0x7066f6dFc1C652c165Bc9BB10085fD95719b5eA6) |
102
+ | Ethereum Sepolia | 11155111 | — |
103
+ | Arbitrum Sepolia | 421614 | — |
104
+ | Base Sepolia | 84532 | — |
105
+
106
+ Configure additional chains by adding their IDs to `supportedChains` and providing RPC URLs.
107
+
108
+ ## Environment Configuration
109
+
110
+ ```bash
111
+ cp .env.example .env
112
+ ```
113
+
114
+ | Variable | Required | Description |
115
+ |----------|----------|-------------|
116
+ | `SOLVER_PRIVATE_KEY` | ✅ | Solver wallet private key (hex, with `0x`) |
117
+ | `UNICHAIN_SEPOLIA_RPC_URL` | ✅ | RPC for Unichain Sepolia (1301) |
118
+ | `SEPOLIA_RPC_URL` | Optional | RPC for Ethereum Sepolia |
119
+ | `ARB_SEPOLIA_RPC_URL` | Optional | RPC for Arbitrum Sepolia |
120
+ | `ETH_RPC_URL` | Optional | Ethereum Mainnet RPC (Aave reads) |
121
+ | `SETTLEMENT_CONTRACT_UNICHAIN_SEPOLIA` | For live settlement | Deployed proxy address |
122
+
123
+ See [.env.example](./.env.example) for the full list.
124
+
125
+ ## Solver Economics
126
+
127
+ The solver earns a fee on every successful solve:
128
+
129
+ ```
130
+ totalFee = baseFee + gasCost + slippageCapture
131
+ ```
132
+
133
+ - **baseFee** — fixed % of the bridge amount (configurable, default 0.05%)
134
+ - **gasCost** — estimated gas cost on the destination chain
135
+ - **slippageCapture** — profit from unused slippage tolerance
136
+
137
+ The solver receives `userPays = inputAmount` from the source chain settlement and pays the user `userReceives = inputAmount - totalFee` on the target chain. The difference is solver profit.
138
+
139
+ ## API
140
+
141
+ ### `IntentParser`
142
+
143
+ ```typescript
144
+ new IntentParser(config?: ParserConfig)
145
+ ```
146
+
147
+ | Method | Returns | Description |
148
+ |--------|---------|-------------|
149
+ | `parse(text)` | `Promise<ParseResult>` | Parse a natural language intent |
150
+ | `parseBatch(texts)` | `Promise<ParseResult[]>` | Parse multiple intents |
151
+
152
+ ### `IntentSolver`
153
+
154
+ ```typescript
155
+ new IntentSolver(config: LiquidityAgentConfig)
156
+ ```
157
+
158
+ | Method | Description |
159
+ |--------|-------------|
160
+ | `initialize()` | Load balances and derive solver address |
161
+ | `start(url)` | Connect to mempool WebSocket |
162
+ | `stop()` | Disconnect and stop all background work |
163
+ | `canSolve(intent)` | Check if this intent can be solved |
164
+ | `getQuote(intent)` | Get fee breakdown without executing |
165
+ | `solve(intent)` | Execute full solve → settlement flow |
166
+ | `getStatus()` | Returns `"idle"` or `"processing"` |
167
+ | `getStats()` | Returns profit + mempool statistics |
168
+
169
+ ### `createIntentSDK(config)`
170
+
171
+ Factory that creates both `parser` and `solver` in one call:
172
+
173
+ ```typescript
174
+ const { parser, solver } = createIntentSDK(config);
175
+ ```
176
+
177
+ ## Documentation
178
+
179
+ | Document | Contents |
180
+ |----------|----------|
181
+ | [docs/USAGE.md](./docs/USAGE.md) | Comprehensive How-To Guide for using the SDK |
182
+ | [docs/SOLVER.md](./docs/SOLVER.md) | Architecture, config reference, fee structure, API details |
183
+ | [docs/SDK_WORKFLOW.md](./docs/SDK_WORKFLOW.md) | End-to-end workflow diagrams |
184
+ | [docs/ERC_STANDARDS.md](./docs/ERC_STANDARDS.md) | ERC-7683, ERC-712 standards used |
185
+ | [docs/DEPLOYMENT.md](./docs/DEPLOYMENT.md) | Step-by-step testnet deployment guide |
186
+ | [docs/TESTNET_GUIDE.md](./docs/TESTNET_GUIDE.md) | Faucets, funding, troubleshooting |
187
+
188
+ ## Examples
189
+
190
+ | File | Description |
191
+ |------|-------------|
192
+ | `examples/basic-bridge.ts` | Parse + manual solve |
193
+ | `examples/autonomous-agent.ts` | Autonomous mempool listener |
194
+ | `examples/inventory-management.ts` | Inventory snapshot + rebalancing |
195
+
196
+ ## Development
197
+
198
+ ```bash
199
+ # Install dependencies
200
+ bun install
201
+
202
+ # Build
203
+ bun run build
204
+
205
+ # Test all (parser + solver units + integration)
206
+ bun test
207
+
208
+ # Run specific test suites
209
+ bun test tests/parser/
210
+ bun test tests/solver/
211
+ bun test tests/integration/
212
+ bun test tests/shared/
213
+
214
+ # Live tests (requires funded wallet + RPC)
215
+ bun test tests/live/
216
+
217
+ # E2E testnet tests (full pipeline)
218
+ bun test tests/e2e/
219
+
220
+ # Run an example
221
+ npx tsx examples/basic-bridge.ts
222
+ ```
223
+
224
+ ## Project Structure
225
+
226
+ ```
227
+ src/
228
+ ├── parser/ ← IntentParser (Stage 1)
229
+ ├── solver/ ← IntentSolver / LiquidityAgent (Stage 2+3)
230
+ │ ├── agent/ ← LiquidityAgent, AgentConfig
231
+ │ ├── contracts/ ← IntentSettlement viem wrapper
232
+ │ ├── inventory/ ← InventoryManager, Rebalancer
233
+ │ ├── pricing/ ← DynamicPricing, FeeCalculator
234
+ │ ├── settlement/ ← ProofGenerator, SettlementManager
235
+ │ ├── mempool/ ← MempoolClient, IntentFilter
236
+ │ ├── monitoring/ ← ProfitTracker, HealthChecker
237
+ │ └── protocols/ ← LiFi (aggregator), Aave (lending)
238
+ ├── shared/ ← WalletManager, ChainRegistry, RPC, TokenRegistry
239
+ │ ├── rpc/ ← RPCProviderManager, ViemProvider (with retry)
240
+ │ ├── utils/ ← ERC-20 utils, retry with backoff
241
+ │ └── chain-registry/ ← Chain configs, chain names
242
+ ├── errors/ ← Domain-specific error classes
243
+ └── types/ ← Shared types
244
+ contracts/ ← IntentSettlement.sol (ERC-7683, UUPS)
245
+ tests/
246
+ ├── parser/ ← Parser unit tests
247
+ ├── solver/ ← Solver unit tests
248
+ ├── shared/ ← Shared util tests (retry, viem, enrichment)
249
+ ├── integration/ ← Mock-based integration tests
250
+ ├── live/ ← Live testnet tests (guarded)
251
+ └── e2e/ ← Full E2E pipeline tests (guarded)
252
+ docs/ ← Documentation
253
+ examples/ ← Runnable usage examples
254
+ ```
255
+
256
+ ## License
257
+
258
+ MIT
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Chain Configurations
3
+ *
4
+ * Pre-configured chain data for supported networks.
5
+ * Import SUPPORTED_CHAINS to register semua chains
6
+ * atau import individual configs.
7
+ */
8
+ import type { ChainConfig } from "../types/chain";
9
+ /**
10
+ * Ethereum Mainnet Configuration
11
+ */
12
+ export declare const ETHEREUM_CONFIG: ChainConfig;
13
+ /**
14
+ * Polygon PoS Configuration
15
+ */
16
+ export declare const POLYGON_CONFIG: ChainConfig;
17
+ /**
18
+ * Arbitrum One Configuration
19
+ */
20
+ export declare const ARBITRUM_CONFIG: ChainConfig;
21
+ /**
22
+ * All supported chain configurations
23
+ */
24
+ export declare const SUPPORTED_CHAINS: ChainConfig[];
25
+ //# sourceMappingURL=chains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAmB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAmB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAmB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAIzC,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Chain Configurations
3
+ *
4
+ * Pre-configured chain data for supported networks.
5
+ * Import SUPPORTED_CHAINS to register semua chains
6
+ * atau import individual configs.
7
+ */
8
+ /**
9
+ * Ethereum Mainnet Configuration
10
+ */
11
+ export const ETHEREUM_CONFIG = {
12
+ id: 1,
13
+ name: "Ethereum",
14
+ rpcUrl: "https://eth.llamarpc.com",
15
+ fallbackRpcUrls: [
16
+ "https://rpc.ankr.com/eth",
17
+ "https://ethereum-rpc.publicnode.com",
18
+ ],
19
+ nativeCurrency: {
20
+ name: "Ether",
21
+ symbol: "ETH",
22
+ decimals: 18,
23
+ },
24
+ explorer: "https://etherscan.io",
25
+ contracts: {
26
+ usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
27
+ },
28
+ blockTimeSeconds: 12,
29
+ confirmations: 12,
30
+ };
31
+ /**
32
+ * Polygon PoS Configuration
33
+ */
34
+ export const POLYGON_CONFIG = {
35
+ id: 137,
36
+ name: "Polygon",
37
+ rpcUrl: "https://polygon.llamarpc.com",
38
+ fallbackRpcUrls: [
39
+ "https://rpc.ankr.com/polygon",
40
+ "https://polygon-bor-rpc.publicnode.com",
41
+ ],
42
+ nativeCurrency: {
43
+ name: "POL",
44
+ symbol: "POL",
45
+ decimals: 18,
46
+ },
47
+ explorer: "https://polygonscan.com",
48
+ contracts: {
49
+ usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
50
+ },
51
+ blockTimeSeconds: 2,
52
+ confirmations: 30,
53
+ };
54
+ /**
55
+ * Arbitrum One Configuration
56
+ */
57
+ export const ARBITRUM_CONFIG = {
58
+ id: 42161,
59
+ name: "Arbitrum One",
60
+ rpcUrl: "https://arbitrum.llamarpc.com",
61
+ fallbackRpcUrls: [
62
+ "https://rpc.ankr.com/arbitrum",
63
+ "https://arbitrum-one-rpc.publicnode.com",
64
+ ],
65
+ nativeCurrency: {
66
+ name: "Ether",
67
+ symbol: "ETH",
68
+ decimals: 18,
69
+ },
70
+ explorer: "https://arbiscan.io",
71
+ contracts: {
72
+ usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
73
+ },
74
+ blockTimeSeconds: 0.25,
75
+ confirmations: 12,
76
+ };
77
+ /**
78
+ * All supported chain configurations
79
+ */
80
+ export const SUPPORTED_CHAINS = [
81
+ ETHEREUM_CONFIG,
82
+ POLYGON_CONFIG,
83
+ ARBITRUM_CONFIG,
84
+ ];
85
+ //# sourceMappingURL=chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,0BAA0B;IAClC,eAAe,EAAE;QACb,0BAA0B;QAC1B,qCAAqC;KACxC;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,sBAAsB;IAChC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACvC,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,8BAA8B;IACtC,eAAe,EAAE;QACb,8BAA8B;QAC9B,wCAAwC;KAC3C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,yBAAyB;IACnC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,+BAA+B;IACvC,eAAe,EAAE;QACb,+BAA+B;QAC/B,yCAAyC;KAC5C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC3C,eAAe;IACf,cAAc;IACd,eAAe;CAClB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Default Configurations
3
+ *
4
+ * Sensible defaults untuk semua configurable aspects of the solver.
5
+ * Override individual fields saat creating AgentConfig.
6
+ */
7
+ import type { PricingConfig } from "../solver/types/pricing";
8
+ import type { InventoryConfig } from "../solver/types/inventory";
9
+ /**
10
+ * Default pricing configuration
11
+ *
12
+ * - 0.5% base fee
13
+ * - Minimum $1 fee
14
+ * - Max 3% fee cap
15
+ * - 50% slippage share
16
+ */
17
+ export declare const DEFAULT_PRICING_CONFIG: PricingConfig;
18
+ /**
19
+ * Default inventory configuration
20
+ *
21
+ * - Keep minimum 10% reserve per chain
22
+ * - Trigger rebalance if >15% deviation from target
23
+ * - Poll balances every 30s
24
+ */
25
+ export declare const DEFAULT_INVENTORY_CONFIG: InventoryConfig;
26
+ /**
27
+ * Default agent configuration partial
28
+ *
29
+ * Used by buildAgentConfig() to merge with user-provided config.
30
+ */
31
+ export declare const DEFAULT_AGENT_SETTINGS: {
32
+ /** Operating mode */
33
+ readonly mode: "simulate";
34
+ /** Maximum concurrent intents to process */
35
+ readonly maxConcurrentIntents: 5;
36
+ /** Intent timeout in seconds (1 hour) */
37
+ readonly intentTimeout: 3600;
38
+ };
39
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAItC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAC/B,qBAAqB;;IAGrB,4CAA4C;;IAG5C,yCAAyC;;CAEnC,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Default Configurations
3
+ *
4
+ * Sensible defaults untuk semua configurable aspects of the solver.
5
+ * Override individual fields saat creating AgentConfig.
6
+ */
7
+ /**
8
+ * Default pricing configuration
9
+ *
10
+ * - 0.5% base fee
11
+ * - Minimum $1 fee
12
+ * - Max 3% fee cap
13
+ * - 50% slippage share
14
+ */
15
+ export const DEFAULT_PRICING_CONFIG = {
16
+ baseFeePercent: 0.005,
17
+ minFeeUSD: 1,
18
+ maxFeePercent: 0.03,
19
+ slippageSharePercent: 0.5,
20
+ };
21
+ /**
22
+ * Default inventory configuration
23
+ *
24
+ * - Keep minimum 10% reserve per chain
25
+ * - Trigger rebalance if >15% deviation from target
26
+ * - Poll balances every 30s
27
+ */
28
+ export const DEFAULT_INVENTORY_CONFIG = {
29
+ minReservePercent: 0.1,
30
+ rebalanceThreshold: 0.15,
31
+ pollingIntervalMs: 30_000,
32
+ };
33
+ /**
34
+ * Default agent configuration partial
35
+ *
36
+ * Used by buildAgentConfig() to merge with user-provided config.
37
+ */
38
+ export const DEFAULT_AGENT_SETTINGS = {
39
+ /** Operating mode */
40
+ mode: "simulate",
41
+ /** Maximum concurrent intents to process */
42
+ maxConcurrentIntents: 5,
43
+ /** Intent timeout in seconds (1 hour) */
44
+ intentTimeout: 3600,
45
+ };
46
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACjD,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,GAAG;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACrD,iBAAiB,EAAE,GAAG;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,MAAM;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,qBAAqB;IACrB,IAAI,EAAE,UAAmB;IAEzB,4CAA4C;IAC5C,oBAAoB,EAAE,CAAC;IAEvB,yCAAyC;IACzC,aAAa,EAAE,IAAI;CACb,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Testnet Chain Configurations
3
+ *
4
+ * Pre-configured chain data for supported testnet networks.
5
+ * Import SUPPORTED_TESTNETS to register all testnet chains
6
+ * or import individual configs.
7
+ *
8
+ * Stage 3 — Live Integration
9
+ */
10
+ import type { ChainConfig } from "../types/chain";
11
+ /**
12
+ * Ethereum Sepolia Testnet Configuration
13
+ */
14
+ export declare const SEPOLIA_CONFIG: ChainConfig;
15
+ /**
16
+ * Arbitrum Sepolia Testnet Configuration
17
+ */
18
+ export declare const ARBITRUM_SEPOLIA_CONFIG: ChainConfig;
19
+ /**
20
+ * Unichain Sepolia Testnet Configuration
21
+ */
22
+ export declare const UNICHAIN_SEPOLIA_CONFIG: ChainConfig;
23
+ /**
24
+ * Base Sepolia Testnet Configuration
25
+ */
26
+ export declare const BASE_SEPOLIA_CONFIG: ChainConfig;
27
+ /**
28
+ * All supported testnet chain configurations
29
+ */
30
+ export declare const SUPPORTED_TESTNETS: ChainConfig[];
31
+ //# sourceMappingURL=testnets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testnets.d.ts","sourceRoot":"","sources":["../../src/config/testnets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAgB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAgBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAK3C,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Testnet Chain Configurations
3
+ *
4
+ * Pre-configured chain data for supported testnet networks.
5
+ * Import SUPPORTED_TESTNETS to register all testnet chains
6
+ * or import individual configs.
7
+ *
8
+ * Stage 3 — Live Integration
9
+ */
10
+ /**
11
+ * Ethereum Sepolia Testnet Configuration
12
+ */
13
+ export const SEPOLIA_CONFIG = {
14
+ id: 11155111,
15
+ name: "Sepolia",
16
+ rpcUrl: "", // TODO: Set via SEPOLIA_RPC_URL env var
17
+ fallbackRpcUrls: [],
18
+ nativeCurrency: {
19
+ name: "Sepolia Ether",
20
+ symbol: "ETH",
21
+ decimals: 18,
22
+ },
23
+ explorer: "https://sepolia.etherscan.io",
24
+ contracts: {
25
+ usdc: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
26
+ },
27
+ blockTimeSeconds: 12,
28
+ confirmations: 2,
29
+ };
30
+ /**
31
+ * Arbitrum Sepolia Testnet Configuration
32
+ */
33
+ export const ARBITRUM_SEPOLIA_CONFIG = {
34
+ id: 421614,
35
+ name: "Arbitrum Sepolia",
36
+ rpcUrl: "", // TODO: Set via ARB_SEPOLIA_RPC_URL env var
37
+ fallbackRpcUrls: [],
38
+ nativeCurrency: {
39
+ name: "Ether",
40
+ symbol: "ETH",
41
+ decimals: 18,
42
+ },
43
+ explorer: "https://sepolia.arbiscan.io",
44
+ contracts: {
45
+ usdc: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
46
+ },
47
+ blockTimeSeconds: 0.25,
48
+ confirmations: 1,
49
+ };
50
+ /**
51
+ * Unichain Sepolia Testnet Configuration
52
+ */
53
+ export const UNICHAIN_SEPOLIA_CONFIG = {
54
+ id: 1301,
55
+ name: "Unichain Sepolia",
56
+ rpcUrl: "", // TODO: Set via UNICHAIN_SEPOLIA_RPC_URL env var
57
+ fallbackRpcUrls: [],
58
+ nativeCurrency: {
59
+ name: "Ether",
60
+ symbol: "ETH",
61
+ decimals: 18,
62
+ },
63
+ explorer: "https://unichain-sepolia.blockscout.com",
64
+ contracts: {
65
+ usdc: "0x31d0220469e10c4E71834a79b1f276d740d3768F", // Confirm before mainnet
66
+ },
67
+ blockTimeSeconds: 1,
68
+ confirmations: 1,
69
+ };
70
+ /**
71
+ * Base Sepolia Testnet Configuration
72
+ */
73
+ export const BASE_SEPOLIA_CONFIG = {
74
+ id: 84532,
75
+ name: "Base Sepolia",
76
+ rpcUrl: "", // TODO: Set via BASE_SEPOLIA_RPC_URL env var
77
+ fallbackRpcUrls: [],
78
+ nativeCurrency: {
79
+ name: "Ether",
80
+ symbol: "ETH",
81
+ decimals: 18,
82
+ },
83
+ explorer: "https://sepolia.basescan.org",
84
+ contracts: {
85
+ usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
86
+ },
87
+ blockTimeSeconds: 2,
88
+ confirmations: 1,
89
+ };
90
+ /**
91
+ * All supported testnet chain configurations
92
+ */
93
+ export const SUPPORTED_TESTNETS = [
94
+ SEPOLIA_CONFIG,
95
+ ARBITRUM_SEPOLIA_CONFIG,
96
+ UNICHAIN_SEPOLIA_CONFIG,
97
+ BASE_SEPOLIA_CONFIG,
98
+ ];
99
+ //# sourceMappingURL=testnets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testnets.js","sourceRoot":"","sources":["../../src/config/testnets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACvC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,EAAE,EAAE,wCAAwC;IACpD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,8BAA8B;IACxC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAChD,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,EAAE,EAAE,4CAA4C;IACxD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,6BAA6B;IACvC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAChD,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,EAAE,EAAE,iDAAiD;IAC7D,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,yCAAyC;IACnD,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD,EAAE,yBAAyB;KAC3F;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC5C,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,EAAE,EAAE,6CAA6C;IACzD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,8BAA8B;IACxC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC7C,cAAc;IACd,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACtB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Inventory Errors
3
+ *
4
+ * Errors specific to inventory management operations.
5
+ */
6
+ import type { ChainId } from "../types/common";
7
+ /**
8
+ * Base error class for inventory-related errors
9
+ */
10
+ export declare class InventoryError extends Error {
11
+ readonly code: string;
12
+ constructor(message: string, code?: string);
13
+ }
14
+ /**
15
+ * Thrown when trying to lock more inventory than available
16
+ */
17
+ export declare class InventoryLockError extends InventoryError {
18
+ readonly intentId: string;
19
+ constructor(intentId: string, message?: string);
20
+ }
21
+ /**
22
+ * Thrown when a rebalancing operation fails
23
+ */
24
+ export declare class RebalancingFailedError extends InventoryError {
25
+ readonly fromChain: ChainId;
26
+ readonly toChain: ChainId;
27
+ readonly amount: string;
28
+ readonly reason: string;
29
+ constructor(fromChain: ChainId, toChain: ChainId, amount: string, reason: string);
30
+ }
31
+ //# sourceMappingURL=inventory-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-errors.d.ts","sourceRoot":"","sources":["../../src/errors/inventory-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA0B;CAKhE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAClD,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQjD;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACtD,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAG3B,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;CAYrB"}