@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
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Inventory Management Types
3
+ *
4
+ * Types untuk tracking balance USDC/token di semua chains
5
+ * dan rebalancing antar chain.
6
+ */
7
+ import type { ChainId } from "../../types/common";
8
+ /**
9
+ * Balance on a single chain for a single token
10
+ *
11
+ * Tracks available, locked, and total balance.
12
+ * Locked = reserved for pending intent fulfillment.
13
+ */
14
+ export interface InventoryBalance {
15
+ /** Chain ID where this balance is held */
16
+ chainId: ChainId;
17
+ /** Token symbol (e.g., "USDC") */
18
+ token: string;
19
+ /** Available balance (not locked) — in token's smallest unit (e.g., 6 decimals for USDC) */
20
+ available: bigint;
21
+ /** Locked balance (reserved for pending intents) */
22
+ locked: bigint;
23
+ /** Timestamp when this balance was last refreshed from on-chain */
24
+ lastUpdated: number;
25
+ }
26
+ /**
27
+ * Full inventory snapshot across all chains
28
+ *
29
+ * Digunakan untuk monitoring dashboard & rebalancing decisions.
30
+ */
31
+ export interface InventorySnapshot {
32
+ /** All balances across chains and tokens */
33
+ balances: InventoryBalance[];
34
+ /** Total value in USD (sum of all token balances) */
35
+ totalUSDValue: string;
36
+ /** Timestamp ketika snapshot diambil */
37
+ timestamp: number;
38
+ }
39
+ /**
40
+ * Rebalancing task priority
41
+ */
42
+ export type RebalancePriority = "low" | "medium" | "high" | "critical";
43
+ /**
44
+ * Task untuk rebalancing token antar chain
45
+ *
46
+ * CONTOH:
47
+ * {
48
+ * fromChain: 1, // Ethereum
49
+ * toChain: 137, // Polygon
50
+ * token: "USDC",
51
+ * amount: 50000n * 10n**6n, // 50,000 USDC
52
+ * reason: "Polygon balance below 20% threshold",
53
+ * priority: "high"
54
+ * }
55
+ */
56
+ export interface RebalanceTask {
57
+ /** Source chain ID (where we have excess) */
58
+ fromChain: ChainId;
59
+ /** Target chain ID (where we need more) */
60
+ toChain: ChainId;
61
+ /** Token symbol to rebalance */
62
+ token: string;
63
+ /** Amount to bridge (in token's smallest unit) */
64
+ amount: bigint;
65
+ /** Human-readable reason for rebalancing */
66
+ reason: string;
67
+ /** Task priority — critical tasks are executed first */
68
+ priority: RebalancePriority;
69
+ }
70
+ /**
71
+ * Inventory configuration
72
+ */
73
+ export interface InventoryConfig {
74
+ /** Minimum reserve percentage per chain (0-1). Default: 0.1 (10%) */
75
+ minReservePercent: number;
76
+ /** Rebalance trigger threshold (0-1). Default: 0.15 (15% deviation) */
77
+ rebalanceThreshold: number;
78
+ /** Target distribution per chain (chainId → percentage). If not set, distributes equally */
79
+ targetDistribution?: Record<ChainId, number>;
80
+ /** Polling interval for balance refresh (milliseconds). Default: 30_000 */
81
+ pollingIntervalMs?: number;
82
+ }
83
+ //# sourceMappingURL=inventory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/solver/types/inventory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAE7B,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC1B,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IAEjB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,QAAQ,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAE1B,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAE3B,4FAA4F;IAC5F,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7C,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Inventory Management Types
3
+ *
4
+ * Types untuk tracking balance USDC/token di semua chains
5
+ * dan rebalancing antar chain.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/solver/types/inventory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Pricing Types
3
+ *
4
+ * Types untuk fee calculation dan dynamic pricing engine.
5
+ * Fee = baseFee + gasCost + slippageCapture
6
+ */
7
+ /**
8
+ * Pricing Result
9
+ *
10
+ * Full fee breakdown dari pricing engine.
11
+ * Semua amount dalam token's smallest unit (e.g., 6 decimals for USDC).
12
+ *
13
+ * CONTOH untuk 1000 USDC bridge:
14
+ * {
15
+ * baseFee: "5000000", // 5 USDC (0.5%)
16
+ * gasCost: "500000", // 0.5 USDC
17
+ * slippageCapture: "2500000", // 2.5 USDC (50% of user's max slippage)
18
+ * totalFee: "8000000", // 8 USDC total
19
+ * userPays: "1000000000", // 1000 USDC
20
+ * userReceives: "992000000", // 992 USDC
21
+ * solverProfit: "7500000", // 7.5 USDC (totalFee - gasCost)
22
+ * }
23
+ */
24
+ export interface PricingResult {
25
+ /** Base fee (amount * baseFeePercent) */
26
+ baseFee: string;
27
+ /** Estimated gas cost in token equivalent (USDC) */
28
+ gasCost: string;
29
+ /** Slippage capture from user's max slippage tolerance */
30
+ slippageCapture: string;
31
+ /** Total fee = baseFee + gasCost + slippageCapture */
32
+ totalFee: string;
33
+ /** Total amount user pays (including fees locked in contract) */
34
+ userPays: string;
35
+ /** Amount user actually receives on target chain */
36
+ userReceives: string;
37
+ /** Net solver profit = totalFee - gasCost */
38
+ solverProfit: string;
39
+ }
40
+ /**
41
+ * Pricing Configuration
42
+ *
43
+ * DEFAULTS:
44
+ * baseFeePercent: 0.005 (0.5%)
45
+ * minFeeUSD: 1
46
+ * maxFeePercent: 0.03 (3%)
47
+ * slippageSharePercent: 0.5 (50% of user's max slippage)
48
+ */
49
+ export interface PricingConfig {
50
+ /** Base fee as percentage of amount (0.005 = 0.5%) */
51
+ baseFeePercent: number;
52
+ /** Minimum fee in USD — enforce even for small amounts */
53
+ minFeeUSD: number;
54
+ /** Maximum fee as percentage (cap to prevent excessive fees) */
55
+ maxFeePercent: number;
56
+ /** Share of user's max slippage that solver captures (0.5 = 50%) */
57
+ slippageSharePercent: number;
58
+ }
59
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/solver/types/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC1B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAEhB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IAExB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IAEtB,oEAAoE;IACpE,oBAAoB,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pricing Types
3
+ *
4
+ * Types untuk fee calculation dan dynamic pricing engine.
5
+ * Fee = baseFee + gasCost + slippageCapture
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../../src/solver/types/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Settlement Types
3
+ *
4
+ * Types untuk cross-chain settlement dan proof verification.
5
+ * Settlement = proses claim funds di source chain setelah
6
+ * berhasil mengirim funds di target chain.
7
+ */
8
+ import type { Address, ChainId, Hash } from "../../types/common";
9
+ /**
10
+ * Parameters for generating a signature proof.
11
+ */
12
+ export interface ProofGenerationParams {
13
+ /** Unique intent ID */
14
+ intentId: string;
15
+ /** Transaction hash on target chain (fulfillment tx) */
16
+ targetTxHash: Hash;
17
+ /** Target chain ID */
18
+ targetChainId: ChainId;
19
+ /** Amount transferred (in token's smallest unit) */
20
+ amount: string;
21
+ /** Recipient address on target chain */
22
+ recipient: Address;
23
+ /** Number of block confirmations to wait (default: 3) */
24
+ confirmations?: number;
25
+ }
26
+ /** Wallet signing capability (subset of WalletManager) */
27
+ export interface IProofSigner {
28
+ getAddress(): Address | Promise<Address>;
29
+ signMessage(message: string | Uint8Array): Promise<string>;
30
+ }
31
+ /** RPC provider capability (subset of RPCProviderManager) */
32
+ export interface IProviderForProof {
33
+ getTransactionReceipt(chainId: ChainId, txHash: Hash): Promise<{
34
+ blockNumber: number;
35
+ status: number;
36
+ } | null>;
37
+ getBlockNumber(chainId: ChainId): Promise<number>;
38
+ }
39
+ /**
40
+ * Settlement status
41
+ */
42
+ export type SettlementStatus = "pending" | "proving" | "claiming" | "completed" | "failed";
43
+ /**
44
+ * Settlement record
45
+ *
46
+ * Merepresentasikan satu settlement cycle:
47
+ * 1. Solver kirim di target chain (targetTx)
48
+ * 2. Generate proof
49
+ * 3. Claim di source chain (sourceTx)
50
+ */
51
+ export interface Settlement {
52
+ /** Intent ID yang di-settle */
53
+ intentId: string;
54
+ /** Solver address yang melakukan settlement */
55
+ solver: Address;
56
+ /** Transaction hash di source chain (claim tx) */
57
+ sourceTx?: Hash;
58
+ /** Transaction hash di target chain (fulfillment tx) */
59
+ targetTx: Hash;
60
+ /** Cross-chain proof used for claim */
61
+ proof?: CrossChainProof;
62
+ /** Current settlement status */
63
+ status: SettlementStatus;
64
+ /** Timestamp ketika settlement selesai (Unix seconds) */
65
+ settledAt?: number;
66
+ /** Timestamp ketika settlement dimulai */
67
+ startedAt: number;
68
+ /** Number of claim attempts (for retry tracking) */
69
+ claimAttempts: number;
70
+ /** Error message if failed */
71
+ error?: string;
72
+ }
73
+ /**
74
+ * Cross-Chain Proof
75
+ *
76
+ * Bukti bahwa solver telah mengirim funds di target chain.
77
+ * Digunakan untuk claim funds di source chain contract.
78
+ *
79
+ * Proof mechanism: EIP-712 signature dari solver atas data transfer.
80
+ */
81
+ export interface CrossChainProof {
82
+ /** Target chain transaction hash */
83
+ txHash: Hash;
84
+ /** Target chain ID */
85
+ chainId: ChainId;
86
+ /** Block number where target tx was included */
87
+ blockNumber: number;
88
+ /** Solver's EIP-712 signature over proof data */
89
+ solverSignature: string;
90
+ /** Data yang di-sign (untuk verification) */
91
+ signedData?: {
92
+ intentId: string;
93
+ targetTxHash: Hash;
94
+ amount: string;
95
+ recipient: Address;
96
+ };
97
+ }
98
+ //# sourceMappingURL=settlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../../../src/solver/types/settlement.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAMjE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,YAAY,EAAE,IAAI,CAAC;IAEnB,sBAAsB;IACtB,aAAa,EAAE,OAAO,CAAC;IAEvB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IACzB,UAAU,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QAC3D,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IACV,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEf;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACvB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,IAAI,CAAC;IAEf,uCAAuC;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,gCAAgC;IAChC,MAAM,EAAE,gBAAgB,CAAC;IAEzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IAEtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC5B,oCAAoC;IACpC,MAAM,EAAE,IAAI,CAAC;IAEb,sBAAsB;IACtB,OAAO,EAAE,OAAO,CAAC;IAEjB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IAExB,6CAA6C;IAC7C,UAAU,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,IAAI,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;CACL"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Settlement Types
3
+ *
4
+ * Types untuk cross-chain settlement dan proof verification.
5
+ * Settlement = proses claim funds di source chain setelah
6
+ * berhasil mengirim funds di target chain.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../../src/solver/types/settlement.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Chain Configuration Types
3
+ *
4
+ * Konfigurasi per-chain untuk EVM networks.
5
+ */
6
+ import type { Address, ChainId } from "./common";
7
+ /**
8
+ * Native currency info for a chain
9
+ */
10
+ export interface NativeCurrency {
11
+ /** Currency name (e.g., "Ether") */
12
+ name: string;
13
+ /** Currency symbol (e.g., "ETH") */
14
+ symbol: string;
15
+ /** Decimals (always 18 for EVM native) */
16
+ decimals: number;
17
+ }
18
+ /**
19
+ * Contract addresses deployed on a specific chain
20
+ */
21
+ export interface ChainContracts {
22
+ /** IntentSettlement contract address */
23
+ intentSettlement?: Address;
24
+ /** ERC-8004 Agent Registry address */
25
+ agentRegistry?: Address;
26
+ /** USDC token address on this chain */
27
+ usdc?: Address;
28
+ }
29
+ /**
30
+ * Chain Configuration
31
+ *
32
+ * Full config for an EVM chain.
33
+ * Dipakai oleh ChainRegistry, RPCProviderManager, WalletManager.
34
+ *
35
+ * CONTOH:
36
+ * {
37
+ * id: 1,
38
+ * name: "Ethereum",
39
+ * rpcUrl: "https://eth.llamarpc.com",
40
+ * fallbackRpcUrls: ["https://rpc.ankr.com/eth"],
41
+ * nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
42
+ * explorer: "https://etherscan.io",
43
+ * contracts: { usdc: "0xA0b86991..." }
44
+ * }
45
+ */
46
+ export interface ChainConfig {
47
+ /** Chain ID (e.g., 1 for Ethereum, 137 for Polygon) */
48
+ id: ChainId;
49
+ /** Human-readable chain name */
50
+ name: string;
51
+ /** Primary RPC URL */
52
+ rpcUrl: string;
53
+ /** Fallback RPC URLs (tried in order if primary fails) */
54
+ fallbackRpcUrls: string[];
55
+ /** Native currency information */
56
+ nativeCurrency: NativeCurrency;
57
+ /** Block explorer base URL */
58
+ explorer: string;
59
+ /** Deployed contract addresses on this chain */
60
+ contracts: ChainContracts;
61
+ /** Average block time in seconds (for confirmation estimates) */
62
+ blockTimeSeconds?: number;
63
+ /** Number of confirmations to wait (default: 12) */
64
+ confirmations?: number;
65
+ }
66
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IACxB,uDAAuD;IACvD,EAAE,EAAE,OAAO,CAAC;IAEZ,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAE/B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,SAAS,EAAE,cAAc,CAAC;IAE1B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Chain Configuration Types
3
+ *
4
+ * Konfigurasi per-chain untuk EVM networks.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Common Primitive Types
3
+ *
4
+ * Low-level types yang digunakan di seluruh SDK.
5
+ * Tidak tergantung pada module lain.
6
+ */
7
+ /**
8
+ * EVM address (hex string with 0x prefix, 42 characters)
9
+ *
10
+ * CONTOH: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
11
+ */
12
+ export type Address = `0x${string}`;
13
+ /**
14
+ * Amount as string (representing bigint)
15
+ *
16
+ * Digunakan untuk serialization karena bigint tidak bisa di-JSON.stringify.
17
+ * Format: decimal string tanpa separators.
18
+ *
19
+ * CONTOH:
20
+ * 1000 USDC (6 decimals) = "1000000000"
21
+ * 0.5 ETH (18 decimals) = "500000000000000000"
22
+ */
23
+ export type Amount = string;
24
+ /**
25
+ * Chain ID (EVM chain identifier)
26
+ *
27
+ * CONTOH:
28
+ * 1 = Ethereum Mainnet
29
+ * 137 = Polygon
30
+ * 42161 = Arbitrum One
31
+ * 10 = Optimism
32
+ */
33
+ export type ChainId = number;
34
+ /**
35
+ * Transaction or data hash (hex string with 0x prefix, 66 characters)
36
+ *
37
+ * CONTOH: "0xabc123..."
38
+ */
39
+ export type Hash = `0x${string}`;
40
+ /**
41
+ * Unix timestamp in seconds
42
+ */
43
+ export type UnixTimestamp = number;
44
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Common Primitive Types
3
+ *
4
+ * Low-level types yang digunakan di seluruh SDK.
5
+ * Tidak tergantung pada module lain.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Extracted entities from natural language
3
+ */
4
+ export interface ExtractedEntities {
5
+ amounts: AmountEntity[];
6
+ tokens: TokenEntity[];
7
+ actions: ActionEntity[];
8
+ constraints: ConstraintEntity[];
9
+ riskIndicators: RiskIndicator[];
10
+ }
11
+ /**
12
+ * Amount Entity
13
+ * Example: "10k USDC" -> { value: 10000, rawText: "10k", unit: "USDC" }
14
+ */
15
+ export interface AmountEntity {
16
+ value: number;
17
+ rawText: string;
18
+ unit?: string;
19
+ position: [number, number];
20
+ }
21
+ /**
22
+ * Token Entity
23
+ * Example: "USDC", "ETH", "Bored Ape"
24
+ */
25
+ export interface TokenEntity {
26
+ symbol: string;
27
+ rawText: string;
28
+ type: "fungible" | "nft" | "collection";
29
+ address?: string;
30
+ position: [number, number];
31
+ }
32
+ /**
33
+ * Action Entity
34
+ * Example: "swap", "maximize", "buy"
35
+ */
36
+ export interface ActionEntity {
37
+ action: string;
38
+ rawText: string;
39
+ category: "trade" | "yield" | "purchase" | "transfer" | "other";
40
+ position: [number, number];
41
+ }
42
+ /**
43
+ * Constraint Entity
44
+ * Example: "max 1% slippage", "deadline in 1 hour"
45
+ */
46
+ export interface ConstraintEntity {
47
+ type: "slippage" | "deadline" | "gas" | "price" | "other";
48
+ value: string | number;
49
+ rawText: string;
50
+ position: [number, number];
51
+ }
52
+ /**
53
+ * Risk Indicator
54
+ * Example: "safe", "risky", "conservative"
55
+ */
56
+ export interface RiskIndicator {
57
+ level: "low" | "medium" | "high";
58
+ keywords: string[];
59
+ confidence: number;
60
+ }
61
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,OAAO,EAAE,YAAY,EAAE,CAAC;IAGxB,MAAM,EAAE,WAAW,EAAE,CAAC;IAGtB,OAAO,EAAE,YAAY,EAAE,CAAC;IAGxB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAGhC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { StructuredIntent } from "./intent";
2
+ import type { TokenResolverConfig } from "./token";
3
+ export * from "./common";
4
+ export * from "./chain";
5
+ export * from "./intent";
6
+ export * from "./entities";
7
+ export * from "./templates";
8
+ export * from "./token";
9
+ /**
10
+ * Parser Configuration
11
+ */
12
+ export interface ParserConfig {
13
+ defaultDeadlineOffset?: number;
14
+ knownTokens?: Record<string, string>;
15
+ knownProtocols?: string[];
16
+ enableFuzzyMatching?: boolean;
17
+ enableCache?: boolean;
18
+ minConfidence?: number;
19
+ /**
20
+ * Token Resolver Configuration (Swing.xyz API)
21
+ *
22
+ * Jika disediakan dan enabled=true, gunakan parseAsync() untuk mendapatkan
23
+ * token address resolution. parse() tetap sync dan backward-compatible.
24
+ *
25
+ * CONTOH:
26
+ * tokenResolver: {
27
+ * enabled: true,
28
+ * cacheTTL: 300_000,
29
+ * timeout: 5000,
30
+ * }
31
+ */
32
+ tokenResolver?: TokenResolverConfig;
33
+ }
34
+ /**
35
+ * Parse Result
36
+ * Wrapper around StructuredIntent with success/error handling
37
+ */
38
+ export interface ParseResult {
39
+ success: boolean;
40
+ data?: StructuredIntent;
41
+ error?: string;
42
+ warnings?: string[];
43
+ }
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,8 @@
1
+ // Re-export all types
2
+ export * from "./common";
3
+ export * from "./chain";
4
+ export * from "./intent";
5
+ export * from "./entities";
6
+ export * from "./templates";
7
+ export * from "./token";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,sBAAsB;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Intent Types - Define all possible intent types
3
+ */
4
+ export type IntentType = "swap" | "yield_strategy" | "nft_purchase" | "send" | "bridge" | "claim" | "unknown";
5
+ /**
6
+ * Risk Level for DeFi operations
7
+ */
8
+ export type RiskLevel = "low" | "medium" | "high";
9
+ /**
10
+ * Claim Type for reward/airdrop/vesting operations
11
+ */
12
+ export type ClaimType = "airdrop" | "rewards" | "vesting";
13
+ /**
14
+ * Base Structured Intent
15
+ * This is what gets returned after parsing
16
+ */
17
+ export interface StructuredIntent {
18
+ intentType: IntentType;
19
+ parameters: IntentParameters;
20
+ constraints: IntentConstraints;
21
+ metadata: IntentMetadata;
22
+ }
23
+ /**
24
+ * Intent Parameters - varies by intent type
25
+ */
26
+ export interface IntentParameters {
27
+ inputToken?: string;
28
+ inputTokenAddress?: string;
29
+ inputAmount?: string;
30
+ outputToken?: string;
31
+ outputTokenAddress?: string;
32
+ minOutputAmount?: string;
33
+ recipient?: string;
34
+ riskLevel?: RiskLevel;
35
+ diversificationRequired?: boolean;
36
+ preferredProtocols?: string[];
37
+ targetAPY?: string;
38
+ collection?: string;
39
+ collectionAddress?: string;
40
+ traits?: Record<string, string>;
41
+ maxPrice?: string;
42
+ sourceChain?: string;
43
+ targetChain?: string;
44
+ claimType?: ClaimType;
45
+ protocol?: string;
46
+ [key: string]: any;
47
+ }
48
+ /**
49
+ * Intent Constraints
50
+ */
51
+ export interface IntentConstraints {
52
+ deadline: number;
53
+ maxSlippage?: number;
54
+ maxGasCost?: string;
55
+ minProtocols?: number;
56
+ maxExposurePerProtocol?: number;
57
+ preferredDEXs?: string[];
58
+ preferredMarketplaces?: string[];
59
+ [key: string]: any;
60
+ }
61
+ /**
62
+ * Intent Metadata
63
+ */
64
+ export interface IntentMetadata {
65
+ originalText: string;
66
+ confidence: number;
67
+ parsedAt: number;
68
+ warnings?: string[];
69
+ }
70
+ //# sourceMappingURL=intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/types/intent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,UAAU,CAAC;IAGvB,UAAU,EAAE,gBAAgB,CAAC;IAG7B,WAAW,EAAE,iBAAiB,CAAC;IAG/B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAGjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/types/intent.ts"],"names":[],"mappings":""}