@shogun-sdk/intents-sdk 1.2.1 → 1.2.3

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 (445) hide show
  1. package/README.md +616 -55
  2. package/dist/esm/constants.js +21 -26
  3. package/dist/esm/constants.js.map +1 -1
  4. package/dist/esm/core/evm/abi/source-chain-guard.js +32 -628
  5. package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -1
  6. package/dist/esm/core/evm/cross-chain-limit-order.js +43 -0
  7. package/dist/esm/core/evm/cross-chain-limit-order.js.map +1 -0
  8. package/dist/esm/core/evm/intent-helpers.js +130 -0
  9. package/dist/esm/core/evm/intent-helpers.js.map +1 -0
  10. package/dist/esm/core/evm/single-chain-dca-order.js +49 -0
  11. package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -0
  12. package/dist/esm/core/evm/single-chain-limit-order.js +45 -0
  13. package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -0
  14. package/dist/esm/core/evm/types.js +8 -0
  15. package/dist/esm/core/evm/types.js.map +1 -0
  16. package/dist/esm/core/orders/common.js +3 -3
  17. package/dist/esm/core/orders/common.js.map +1 -1
  18. package/dist/esm/core/orders/cross-chain.js +2 -2
  19. package/dist/esm/core/orders/cross-chain.js.map +1 -1
  20. package/dist/esm/core/orders/dca-single-chain.js +4 -1
  21. package/dist/esm/core/orders/dca-single-chain.js.map +1 -1
  22. package/dist/esm/core/orders/single-chain.js +8 -1
  23. package/dist/esm/core/orders/single-chain.js.map +1 -1
  24. package/dist/esm/core/solana/cancel-order.js.map +1 -1
  25. package/dist/esm/core/solana/client.js +1 -1
  26. package/dist/esm/core/solana/client.js.map +1 -1
  27. package/dist/esm/core/solana/cross-chain-limit-order.js +18 -0
  28. package/dist/esm/core/solana/cross-chain-limit-order.js.map +1 -0
  29. package/dist/esm/core/solana/dca/cancel-order.js.map +1 -1
  30. package/dist/esm/core/solana/dca/create-order.js.map +1 -1
  31. package/dist/esm/core/solana/dca/single-chain-dca-order.js +23 -0
  32. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -0
  33. package/dist/esm/core/solana/dca/single-chain-limit-order.js +29 -0
  34. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -0
  35. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +6 -4
  36. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -1
  37. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +90 -0
  38. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +1 -0
  39. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +6 -4
  40. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -1
  41. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +1 -0
  42. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -1
  43. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +3 -3
  44. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -1
  45. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +111 -6
  46. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -1
  47. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +5 -8
  48. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -1
  49. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +118 -0
  50. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +1 -0
  51. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +5 -8
  52. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -1
  53. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +5 -8
  54. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -1
  55. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +8 -9
  56. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -1
  57. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +170 -0
  58. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +1 -0
  59. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +10 -16
  60. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -1
  61. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +8 -6
  62. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -1
  63. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +2 -0
  64. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -1
  65. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +11 -12
  66. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -1
  67. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +8 -9
  68. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -1
  69. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +4 -4
  70. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -1
  71. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +17 -7
  72. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  73. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +8 -9
  74. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -1
  75. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +7 -5
  76. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -1
  77. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +28 -16
  78. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -1
  79. package/dist/esm/core/solana/generated/cross-chain/shared/index.js +5 -5
  80. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -1
  81. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -1
  82. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  83. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +32 -0
  84. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +1 -0
  85. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +42 -0
  86. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +1 -0
  87. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +26 -0
  88. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
  89. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +28 -0
  90. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +1 -0
  91. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +26 -0
  92. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +1 -0
  93. package/dist/esm/core/solana/generated/cross-chain/types/index.js +5 -0
  94. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -1
  95. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +6 -4
  96. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -1
  97. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +3 -3
  98. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -1
  99. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +3 -3
  100. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -1
  101. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +3 -3
  102. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -1
  103. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +3 -3
  104. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -1
  105. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +5 -8
  106. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -1
  107. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +8 -9
  108. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -1
  109. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +8 -9
  110. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -1
  111. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +8 -9
  112. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -1
  113. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +8 -6
  114. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -1
  115. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +8 -6
  116. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -1
  117. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +8 -6
  118. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -1
  119. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +9 -6
  120. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -1
  121. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +9 -6
  122. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -1
  123. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +9 -10
  124. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -1
  125. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +4 -4
  126. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -1
  127. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +17 -7
  128. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  129. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +2 -2
  130. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -1
  131. package/dist/esm/core/solana/generated/single-chain/shared/index.js +5 -5
  132. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -1
  133. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -1
  134. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  135. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -1
  136. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -1
  137. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -1
  138. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -1
  139. package/dist/esm/core/solana/inspect.js +1 -1
  140. package/dist/esm/core/solana/intent-helpers.js +177 -0
  141. package/dist/esm/core/solana/intent-helpers.js.map +1 -0
  142. package/dist/esm/core/solana/order-instructions.js.map +1 -1
  143. package/dist/esm/core/solana/sdk.js +4 -1
  144. package/dist/esm/core/solana/sdk.js.map +1 -1
  145. package/dist/esm/core/sui/cancel.js +1 -1
  146. package/dist/esm/core/sui/cancel.js.map +1 -1
  147. package/dist/esm/core/sui/cross-chain-limit-order.js +26 -0
  148. package/dist/esm/core/sui/cross-chain-limit-order.js.map +1 -0
  149. package/dist/esm/core/sui/intent-helpers.js +136 -0
  150. package/dist/esm/core/sui/intent-helpers.js.map +1 -0
  151. package/dist/esm/core/sui/order-transaction.js +5 -4
  152. package/dist/esm/core/sui/order-transaction.js.map +1 -1
  153. package/dist/esm/core/sui/sdk.js +1 -1
  154. package/dist/esm/core/sui/sdk.js.map +1 -1
  155. package/dist/esm/core/sui/single-chain-dca-order.js +99 -0
  156. package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -0
  157. package/dist/esm/core/sui/single-chain-limit-order.js +103 -0
  158. package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -0
  159. package/dist/esm/core/sui/validator.js +1 -2
  160. package/dist/esm/core/sui/validator.js.map +1 -1
  161. package/dist/esm/index.js +15 -0
  162. package/dist/esm/index.js.map +1 -1
  163. package/dist/types/constants.d.ts +3 -4
  164. package/dist/types/constants.d.ts.map +1 -1
  165. package/dist/types/core/evm/abi/source-chain-guard.d.ts +18 -484
  166. package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  167. package/dist/types/core/evm/cross-chain-limit-order.d.ts +22 -0
  168. package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +1 -0
  169. package/dist/types/core/evm/intent-helpers.d.ts +105 -0
  170. package/dist/types/core/evm/intent-helpers.d.ts.map +1 -0
  171. package/dist/types/core/evm/single-chain-dca-order.d.ts +26 -0
  172. package/dist/types/core/evm/single-chain-dca-order.d.ts.map +1 -0
  173. package/dist/types/core/evm/single-chain-limit-order.d.ts +23 -0
  174. package/dist/types/core/evm/single-chain-limit-order.d.ts.map +1 -0
  175. package/dist/types/core/evm/types.d.ts +8 -0
  176. package/dist/types/core/evm/types.d.ts.map +1 -0
  177. package/dist/types/core/orders/common.d.ts +2 -2
  178. package/dist/types/core/orders/common.d.ts.map +1 -1
  179. package/dist/types/core/orders/cross-chain.d.ts +1 -1
  180. package/dist/types/core/orders/cross-chain.d.ts.map +1 -1
  181. package/dist/types/core/orders/dca-single-chain.d.ts.map +1 -1
  182. package/dist/types/core/orders/single-chain.d.ts +1 -0
  183. package/dist/types/core/orders/single-chain.d.ts.map +1 -1
  184. package/dist/types/core/solana/cancel-order.d.ts +3 -3
  185. package/dist/types/core/solana/cancel-order.d.ts.map +1 -1
  186. package/dist/types/core/solana/cross-chain-limit-order.d.ts +9 -0
  187. package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +1 -0
  188. package/dist/types/core/solana/dca/cancel-order.d.ts +2 -2
  189. package/dist/types/core/solana/dca/cancel-order.d.ts.map +1 -1
  190. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +14 -0
  191. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -0
  192. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +19 -0
  193. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -0
  194. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +6 -6
  195. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -1
  196. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +110 -0
  197. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +1 -0
  198. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +10 -6
  199. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -1
  200. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +1 -0
  201. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -1
  202. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +6 -6
  203. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -1
  204. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +76 -6
  205. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -1
  206. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +12 -12
  207. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -1
  208. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +124 -0
  209. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
  210. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +12 -12
  211. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -1
  212. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +12 -12
  213. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -1
  214. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +15 -15
  215. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  216. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +130 -0
  217. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +1 -0
  218. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +16 -12
  219. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -1
  220. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +12 -12
  221. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -1
  222. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +2 -0
  223. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -1
  224. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +12 -12
  225. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -1
  226. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +12 -12
  227. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -1
  228. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +11 -11
  229. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -1
  230. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  231. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  232. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +12 -12
  233. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -1
  234. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +11 -11
  235. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -1
  236. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +25 -18
  237. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -1
  238. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +5 -5
  239. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -1
  240. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +4 -4
  241. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -1
  242. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +4 -4
  243. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -1
  244. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  245. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  246. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +28 -0
  247. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +1 -0
  248. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +38 -0
  249. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +1 -0
  250. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +18 -0
  251. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
  252. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +24 -0
  253. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +1 -0
  254. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +4 -4
  255. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -1
  256. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +18 -0
  257. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +1 -0
  258. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +4 -4
  259. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -1
  260. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +5 -0
  261. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -1
  262. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +4 -4
  263. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -1
  264. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +4 -4
  265. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -1
  266. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +4 -4
  267. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -1
  268. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +4 -4
  269. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -1
  270. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +6 -6
  271. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -1
  272. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +3 -3
  273. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -1
  274. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +6 -6
  275. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -1
  276. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +3 -3
  277. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -1
  278. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +2 -2
  279. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -1
  280. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +12 -12
  281. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -1
  282. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +12 -12
  283. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -1
  284. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +12 -12
  285. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -1
  286. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +12 -12
  287. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  288. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +9 -9
  289. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -1
  290. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +11 -11
  291. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -1
  292. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +9 -9
  293. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -1
  294. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +11 -11
  295. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -1
  296. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +11 -11
  297. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -1
  298. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +12 -12
  299. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -1
  300. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +11 -11
  301. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -1
  302. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  303. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  304. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +2 -2
  305. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -1
  306. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +5 -5
  307. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -1
  308. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +4 -4
  309. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -1
  310. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +4 -4
  311. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -1
  312. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  313. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  314. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +4 -4
  315. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -1
  316. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +4 -4
  317. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -1
  318. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +4 -4
  319. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -1
  320. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +4 -4
  321. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -1
  322. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +4 -4
  323. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -1
  324. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +4 -4
  325. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -1
  326. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +4 -4
  327. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -1
  328. package/dist/types/core/solana/intent-helpers.d.ts +120 -0
  329. package/dist/types/core/solana/intent-helpers.d.ts.map +1 -0
  330. package/dist/types/core/solana/sdk.d.ts.map +1 -1
  331. package/dist/types/core/sui/cross-chain-limit-order.d.ts +14 -0
  332. package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +1 -0
  333. package/dist/types/core/sui/intent-helpers.d.ts +89 -0
  334. package/dist/types/core/sui/intent-helpers.d.ts.map +1 -0
  335. package/dist/types/core/sui/order-transaction.d.ts +3 -1
  336. package/dist/types/core/sui/order-transaction.d.ts.map +1 -1
  337. package/dist/types/core/sui/single-chain-dca-order.d.ts +22 -0
  338. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -0
  339. package/dist/types/core/sui/single-chain-limit-order.d.ts +26 -0
  340. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -0
  341. package/dist/types/core/sui/validator.d.ts.map +1 -1
  342. package/dist/types/index.d.ts +13 -0
  343. package/dist/types/index.d.ts.map +1 -1
  344. package/dist/types/types/intent.d.ts +13 -4
  345. package/dist/types/types/intent.d.ts.map +1 -1
  346. package/package.json +19 -9
  347. package/src/constants.ts +17 -23
  348. package/src/core/evm/abi/source-chain-guard.ts +32 -628
  349. package/src/core/evm/cross-chain-limit-order.ts +76 -0
  350. package/src/core/evm/intent-helpers.ts +204 -0
  351. package/src/core/evm/single-chain-dca-order.ts +85 -0
  352. package/src/core/evm/single-chain-limit-order.ts +78 -0
  353. package/src/core/evm/types.ts +15 -0
  354. package/src/core/orders/common.ts +4 -4
  355. package/src/core/orders/cross-chain.ts +2 -2
  356. package/src/core/orders/dca-single-chain.ts +4 -1
  357. package/src/core/orders/single-chain.ts +10 -1
  358. package/src/core/solana/cancel-order.ts +5 -5
  359. package/src/core/solana/client.ts +1 -1
  360. package/src/core/solana/cross-chain-limit-order.ts +24 -0
  361. package/src/core/solana/dca/cancel-order.ts +3 -3
  362. package/src/core/solana/dca/create-order.ts +2 -2
  363. package/src/core/solana/dca/single-chain-dca-order.ts +32 -0
  364. package/src/core/solana/dca/single-chain-limit-order.ts +45 -0
  365. package/src/core/solana/generated/cross-chain/accounts/adminSingleton.ts +20 -18
  366. package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +248 -0
  367. package/src/core/solana/generated/cross-chain/accounts/guard.ts +24 -18
  368. package/src/core/solana/generated/cross-chain/accounts/index.ts +1 -0
  369. package/src/core/solana/generated/cross-chain/accounts/order.ts +17 -17
  370. package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +154 -9
  371. package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +44 -34
  372. package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +409 -0
  373. package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +49 -41
  374. package/src/core/solana/generated/cross-chain/instructions/claimTokens.ts +54 -44
  375. package/src/core/solana/generated/cross-chain/instructions/collectProtocolFees.ts +52 -43
  376. package/src/core/solana/generated/cross-chain/instructions/createDcaOrder.ts +496 -0
  377. package/src/core/solana/generated/cross-chain/instructions/createGuard.ts +72 -54
  378. package/src/core/solana/generated/cross-chain/instructions/createOrder.ts +60 -42
  379. package/src/core/solana/generated/cross-chain/instructions/index.ts +2 -0
  380. package/src/core/solana/generated/cross-chain/instructions/initialize.ts +60 -42
  381. package/src/core/solana/generated/cross-chain/instructions/preStartOrderExecution.ts +55 -45
  382. package/src/core/solana/generated/cross-chain/instructions/setAdmin.ts +48 -30
  383. package/src/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.ts +88 -40
  384. package/src/core/solana/generated/cross-chain/instructions/startOrderExecution.ts +48 -39
  385. package/src/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.ts +45 -37
  386. package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +118 -37
  387. package/src/core/solana/generated/cross-chain/shared/index.ts +23 -14
  388. package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +9 -6
  389. package/src/core/solana/generated/cross-chain/types/adminUpdated.ts +6 -6
  390. package/src/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.ts +9 -6
  391. package/src/core/solana/generated/cross-chain/types/dcaExecutionStarted.ts +70 -0
  392. package/src/core/solana/generated/cross-chain/types/dcaOrderCreated.ts +92 -0
  393. package/src/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.ts +52 -0
  394. package/src/core/solana/generated/cross-chain/types/dcaTokenInSwapped.ts +62 -0
  395. package/src/core/solana/generated/cross-chain/types/executionStarted.ts +6 -6
  396. package/src/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.ts +55 -0
  397. package/src/core/solana/generated/cross-chain/types/guardCreated.ts +6 -6
  398. package/src/core/solana/generated/cross-chain/types/index.ts +5 -0
  399. package/src/core/solana/generated/cross-chain/types/orderCancelled.ts +6 -6
  400. package/src/core/solana/generated/cross-chain/types/orderCreated.ts +6 -6
  401. package/src/core/solana/generated/cross-chain/types/orderFulfilled.ts +6 -6
  402. package/src/core/solana/generated/cross-chain/types/tokenInSwapped.ts +6 -6
  403. package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +20 -18
  404. package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +11 -11
  405. package/src/core/solana/generated/single-chain/accounts/guard.ts +17 -17
  406. package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +11 -11
  407. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +10 -5
  408. package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +44 -34
  409. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +54 -40
  410. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +51 -40
  411. package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +55 -42
  412. package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +60 -38
  413. package/src/core/solana/generated/single-chain/instructions/createGuard.ts +69 -42
  414. package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +57 -38
  415. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +78 -55
  416. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +81 -55
  417. package/src/core/solana/generated/single-chain/instructions/initialize.ts +58 -40
  418. package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +48 -30
  419. package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +88 -40
  420. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +76 -37
  421. package/src/core/solana/generated/single-chain/shared/index.ts +23 -14
  422. package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +9 -6
  423. package/src/core/solana/generated/single-chain/types/adminUpdated.ts +6 -6
  424. package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +9 -6
  425. package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +6 -6
  426. package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +9 -6
  427. package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +9 -6
  428. package/src/core/solana/generated/single-chain/types/guardCreated.ts +6 -6
  429. package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +9 -6
  430. package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +9 -6
  431. package/src/core/solana/generated/single-chain/types/orderCancelled.ts +6 -6
  432. package/src/core/solana/inspect.ts +1 -1
  433. package/src/core/solana/intent-helpers.ts +273 -0
  434. package/src/core/solana/order-instructions.ts +3 -3
  435. package/src/core/solana/sdk.ts +13 -4
  436. package/src/core/sui/cancel.ts +1 -1
  437. package/src/core/sui/cross-chain-limit-order.ts +34 -0
  438. package/src/core/sui/intent-helpers.ts +235 -0
  439. package/src/core/sui/order-transaction.ts +8 -4
  440. package/src/core/sui/sdk.ts +1 -1
  441. package/src/core/sui/single-chain-dca-order.ts +139 -0
  442. package/src/core/sui/single-chain-limit-order.ts +143 -0
  443. package/src/core/sui/validator.ts +1 -2
  444. package/src/index.ts +55 -0
  445. package/src/types/intent.ts +15 -4
@@ -0,0 +1,99 @@
1
+ import { bcs, fromHex } from '@mysten/bcs';
2
+ import { keccak256 } from "js-sha3";
3
+ import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from "@mysten/sui/utils";
4
+ import { Transaction } from '@mysten/sui/transactions';
5
+ import { ValidationError } from '../../errors/index.js';
6
+ import { createSuiClient } from './client.js';
7
+ import { SUI_PACKAGE_ID, SUI_GUARD_COLLATERAL_TYPE, SUI_GUARD_STABLECOIN_TYPE, NATIVE_SUI_TOKEN_ADDRESS } from '../../constants.js';
8
+ /**
9
+ * Generates secret hash based on types, addresses and secret number for single chain DCA orders
10
+ * @param coinOutType Type tag of Coin OUT
11
+ * @param receiver Main Coins OUT receiver
12
+ * @param secretNumber Secret number, for hash randomness
13
+ * @param extraTransferCoinOut Type tag of extra transfer coin OUT
14
+ * @param extraTransferReceiver Receiver of extra transfer
15
+ */
16
+ export function getDcaSecretHash(coinOutType, receiver, secretNumber, extraTransferCoinOut, extraTransferReceiver) {
17
+ const coinOutTypeBytes = Buffer.from(normalizeStructTag(coinOutType).replace("0x", ""), "utf8");
18
+ const receiverBytes = fromHex(normalizeSuiAddress(receiver));
19
+ let resBytes = [
20
+ ...coinOutTypeBytes,
21
+ ...receiverBytes,
22
+ ];
23
+ if (extraTransferCoinOut && extraTransferReceiver) {
24
+ const extraTransferCoinOutBytes = Buffer.from(normalizeStructTag(extraTransferCoinOut).replace("0x", ""), "utf8");
25
+ const extraTransferReceiverBytes = fromHex(normalizeSuiAddress(extraTransferReceiver));
26
+ resBytes = [
27
+ ...resBytes,
28
+ ...extraTransferCoinOutBytes,
29
+ ...extraTransferReceiverBytes,
30
+ ];
31
+ }
32
+ resBytes = [
33
+ ...resBytes,
34
+ ...bcs.u64().serialize(secretNumber).toBytes(),
35
+ ];
36
+ return keccak256.array(resBytes);
37
+ }
38
+ /**
39
+ * Generates Sui single-chain DCA order transaction
40
+ * @param order The DCA order to generate transaction for
41
+ * @param secretHash The secret hash for the order
42
+ * @param guardAddress The guard contract address
43
+ * @param client The Sui client instance
44
+ * @returns Transaction object for creating the DCA order
45
+ */
46
+ export async function getSuiSingleChainDcaOrderTransaction(order, secretHash, guardAddress, client) {
47
+ const userAddress = order.user;
48
+ const suiClient = client || createSuiClient();
49
+ const totalAmountIn = order.getTotalAmountIn();
50
+ const coins = await suiClient.getCoins({
51
+ owner: userAddress,
52
+ coinType: order.tokenIn,
53
+ });
54
+ const sourceTokenInCoins = coins.data.sort((a, b) => Number(b.balance) - Number(a.balance));
55
+ if (sourceTokenInCoins.length === 0) {
56
+ throw new ValidationError(`No token (${order.tokenIn}) to create order`);
57
+ }
58
+ const coinsInSum = sourceTokenInCoins.reduce((acc, coin) => acc + BigInt(coin.balance), 0n);
59
+ if (coinsInSum < totalAmountIn) {
60
+ throw new ValidationError(`Insufficient balance to create order. Total coins is ${coinsInSum}, but order requires ${totalAmountIn}`);
61
+ }
62
+ const spendingGasCoin = normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
63
+ const tx = new Transaction();
64
+ const coinInArg = spendingGasCoin ? tx.gas : sourceTokenInCoins[0].coinObjectId;
65
+ if (sourceTokenInCoins.length > 1) {
66
+ // Merging coins IN into a single object just in case
67
+ tx.mergeCoins(
68
+ // merge into 1st coin object
69
+ coinInArg,
70
+ // merge the rest of coins
71
+ sourceTokenInCoins.slice(1).map((coin) => coin.coinObjectId));
72
+ }
73
+ const [coinIn] = tx.splitCoins(coinInArg, [totalAmountIn]);
74
+ // Get extra transfer amount - only first extra transfer is supported on Sui
75
+ const extraTransferAmount = order.extraTransfers && order.extraTransfers.length > 0
76
+ ? BigInt(order.extraTransfers[0].amount)
77
+ : 0n;
78
+ tx.moveCall({
79
+ package: SUI_PACKAGE_ID,
80
+ module: 'single_chain_dca_orders',
81
+ function: 'create_dca_order',
82
+ arguments: [
83
+ tx.object(guardAddress), // arg0: &Guard<T0, T2>
84
+ coinIn, // arg1: Coin<T1>
85
+ tx.pure.u64(order.amountInPerInterval), // arg2: amount_in_per_interval
86
+ tx.pure.u64(order.amountOutMin), // arg3: amount_out_min
87
+ tx.pure.u64(extraTransferAmount), // arg4: extra_transfer_amount_out_min
88
+ tx.pure.u64(order.deadline * 1000), // arg5: deadline (converted to milliseconds)
89
+ tx.pure.u32(order.totalIntervals), // arg6: total_intervals
90
+ tx.pure.u64(order.intervalDuration * 1000), // arg7: interval_duration (converted to milliseconds)
91
+ tx.pure.vector('u8', [...secretHash]), // arg8: secret_hash
92
+ tx.object.clock(), // arg9: &Clock
93
+ ],
94
+ typeArguments: [SUI_GUARD_COLLATERAL_TYPE, order.tokenIn, SUI_GUARD_STABLECOIN_TYPE],
95
+ });
96
+ tx.setSender(userAddress);
97
+ return tx;
98
+ }
99
+ //# sourceMappingURL=single-chain-dca-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-chain-dca-order.js","sourceRoot":"","sources":["../../../../src/core/sui/single-chain-dca-order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { bcs, fromHex } from '@mysten/bcs';
2
+ import { keccak256 } from "js-sha3";
3
+ import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from "@mysten/sui/utils";
4
+ import { Transaction } from '@mysten/sui/transactions';
5
+ import { ValidationError } from '../../errors/index.js';
6
+ import { createSuiClient } from './client.js';
7
+ import { SUI_PACKAGE_ID, SUI_GUARD_COLLATERAL_TYPE, SUI_GUARD_STABLECOIN_TYPE, NATIVE_SUI_TOKEN_ADDRESS } from '../../constants.js';
8
+ /**
9
+ * Generates random U64 number
10
+ */
11
+ export function getRandomU64Number() {
12
+ return BigInt("0x" + [...crypto.getRandomValues(new Uint8Array(8))]
13
+ .map(n => n.toString(16))
14
+ .join("")).toString();
15
+ }
16
+ /**
17
+ * Generates secret hash based on types, addresses and secret number for single chain limit orders
18
+ * @param coinOutType Type tag of Coin OUT
19
+ * @param receiver Main Coins OUT receiver
20
+ * @param secretNumber Secret number, for hash randomness
21
+ * @param extraTransferCoinOut Type tag of extra transfer coin OUT
22
+ * @param extraTransferReceiver Receiver of extra transfer
23
+ */
24
+ export function getSecretHash(coinOutType, receiver, secretNumber, extraTransferCoinOut, extraTransferReceiver) {
25
+ const coinOutTypeBytes = Buffer.from(normalizeStructTag(coinOutType).replace("0x", ""), "utf8");
26
+ const receiverBytes = fromHex(normalizeSuiAddress(receiver));
27
+ let resBytes = [
28
+ ...coinOutTypeBytes,
29
+ ...receiverBytes,
30
+ ];
31
+ if (extraTransferCoinOut && extraTransferReceiver) {
32
+ const extraTransferCoinOutBytes = Buffer.from(normalizeStructTag(extraTransferCoinOut).replace("0x", ""), "utf8");
33
+ const extraTransferReceiverBytes = fromHex(normalizeSuiAddress(extraTransferReceiver));
34
+ resBytes = [
35
+ ...resBytes,
36
+ ...extraTransferCoinOutBytes,
37
+ ...extraTransferReceiverBytes,
38
+ ];
39
+ }
40
+ resBytes = [
41
+ ...resBytes,
42
+ ...bcs.u64().serialize(secretNumber).toBytes(),
43
+ ];
44
+ return keccak256.array(resBytes);
45
+ }
46
+ /**
47
+ * Generates Sui single-chain limit order transaction
48
+ * @param order The single-chain order to generate transaction for
49
+ * @param secretHash The secret hash for the order
50
+ * @param guardAddress The guard contract address
51
+ * @param client The Sui client instance
52
+ * @returns Transaction object for creating the limit order
53
+ */
54
+ export async function getSuiSingleChainLimitOrderTransaction(order, secretHash, guardAddress, client) {
55
+ const userAddress = order.user;
56
+ const suiClient = client || createSuiClient();
57
+ const coins = await suiClient.getCoins({
58
+ owner: userAddress,
59
+ coinType: order.tokenIn,
60
+ });
61
+ const sourceTokenInCoins = coins.data.sort((a, b) => Number(b.balance) - Number(a.balance));
62
+ if (sourceTokenInCoins.length === 0) {
63
+ throw new ValidationError(`No token (${order.tokenIn}) to create order`);
64
+ }
65
+ const coinsInSum = sourceTokenInCoins.reduce((acc, coin) => acc + BigInt(coin.balance), 0n);
66
+ if (coinsInSum < order.amountIn) {
67
+ throw new ValidationError(`Insufficient balance to create order. Total coins is ${coinsInSum}, but order requires ${order.amountIn}`);
68
+ }
69
+ const spendingGasCoin = normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
70
+ const tx = new Transaction();
71
+ const coinInArg = spendingGasCoin ? tx.gas : sourceTokenInCoins[0].coinObjectId;
72
+ if (sourceTokenInCoins.length > 1) {
73
+ // Merging coins IN into a single object just in case
74
+ tx.mergeCoins(
75
+ // merge into 1st coin object
76
+ coinInArg,
77
+ // merge the rest of coins
78
+ sourceTokenInCoins.slice(1).map((coin) => coin.coinObjectId));
79
+ }
80
+ const [coinIn] = tx.splitCoins(coinInArg, [order.amountIn]);
81
+ // Get extra transfer amount - only first extra transfer is supported on Sui
82
+ const extraTransferAmount = order.extraTransfers && order.extraTransfers.length > 0
83
+ ? BigInt(order.extraTransfers[0].amount)
84
+ : 0n;
85
+ tx.moveCall({
86
+ package: SUI_PACKAGE_ID,
87
+ module: 'single_chain_limit_orders',
88
+ function: 'create_limit_order',
89
+ arguments: [
90
+ tx.object(guardAddress), // arg0: &Guard<T0, T2>
91
+ coinIn, // arg1: Coin<T1>
92
+ tx.pure.u64(order.amountOutMin), // arg2: amount_out_min
93
+ tx.pure.u64(extraTransferAmount), // arg3: extra_transfer_amount_out_min
94
+ tx.pure.u64(order.deadline * 1000), // arg4: deadline (converted to milliseconds)
95
+ tx.pure.vector('u8', [...secretHash]), // arg5: secret_hash
96
+ tx.object.clock(), // arg6: &Clock
97
+ ],
98
+ typeArguments: [SUI_GUARD_COLLATERAL_TYPE, order.tokenIn, SUI_GUARD_STABLECOIN_TYPE],
99
+ });
100
+ tx.setSender(userAddress);
101
+ return tx;
102
+ }
103
+ //# sourceMappingURL=single-chain-limit-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-chain-limit-order.js","sourceRoot":"","sources":["../../../../src/core/sui/single-chain-limit-order.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { isValidSuiAddress, normalizeSuiAddress } from '@mysten/sui/utils';
2
2
  import { MAX_UINT_64 } from '../../constants.js';
3
3
  import { BaseValidator } from '../../utils/base-validator.js';
4
- import { ValidationError } from '../../errors/index.js';
5
4
  const SUI_TOKEN_ADDRESS_REGEX = /^0x[a-fA-F0-9]{64}::\w+::\w+$/;
6
5
  export class SuiValidator extends BaseValidator {
7
6
  isValidAddress(address) {
@@ -26,7 +25,7 @@ export class SuiValidator extends BaseValidator {
26
25
  return Promise.resolve();
27
26
  }
28
27
  validateDcaSingleChainOrderFeasability() {
29
- throw new ValidationError('DCA orders are not supported on Sui');
28
+ return Promise.resolve();
30
29
  }
31
30
  }
32
31
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/core/sui/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAEhE,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,cAAc,CAAC,OAAe;QAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,mBAAmB,CAAC,YAAoB;QACtC,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpF,OAAO,cAAc,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,WAAW,CAAC;IAC7C,CAAC;IAES,YAAY;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,kCAAkC;QAC7C,2DAA2D;QAC3D,OAAO;IACT,CAAC;IAEQ,mCAAmC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,sCAAsC;QAC7C,MAAM,IAAI,eAAe,CAAC,qCAAqC,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/core/sui/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAEhE,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,cAAc,CAAC,OAAe;QAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,mBAAmB,CAAC,YAAoB;QACtC,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpF,OAAO,cAAc,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,WAAW,CAAC;IAC7C,CAAC;IAES,YAAY;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,kCAAkC;QAC7C,2DAA2D;QAC3D,OAAO;IACT,CAAC;IAEQ,mCAAmC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,sCAAsC;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { DcaSingleChainOrder } from './core/orders/dca-single-chain.js';
1
2
  export { ChainID, ChainType, SupportedChains, isSupportedChain, chainIdToChainTypeMap, isEvmChain } from './chains.js';
2
3
  export { EVMSDK } from './core/evm/sdk.js';
3
4
  export { SolanaSDK } from './core/solana/sdk.js';
@@ -18,6 +19,20 @@ export { getSolanaCrossChainOrderInstructions, getSolanaSingleChainOrderInstruct
18
19
  export { cancelCrossChainOrderInstructionsAsBytes, cancelSingleChainOrderInstructionsAsBytes, } from './core/solana/cancel-order.js';
19
20
  export { getSuiOrderTransaction } from './core/sui/order-transaction.js';
20
21
  export { getSuiCancelCrossChainOrder } from './core/sui/cancel.js';
22
+ export { getDcaSecretHash, getSuiSingleChainDcaOrderTransaction } from './core/sui/single-chain-dca-order.js';
23
+ export { getSecretHash, getRandomU64Number as getSuiRandomU64Number, getSuiSingleChainLimitOrderTransaction } from './core/sui/single-chain-limit-order.js';
24
+ export { generateExecutionDetailsHash } from './core/sui/cross-chain-limit-order.js';
25
+ export { createSuiSingleChainLimitOrderIntentRequest, createSuiSingleChainDcaOrderIntentRequest, createSuiCrossChainOrderIntentRequest, generateSuiLimitOrderSecretData, generateSuiDcaOrderSecretData, } from './core/sui/intent-helpers.js';
26
+ export * from './constants.js';
27
+ export { getSolanaDcaSingleChainOrderInstructions } from './core/solana/dca/create-order.js';
28
+ export { signSingleChainDcaOrder } from './core/evm/single-chain-dca-order.js';
29
+ export { signSingleChainLimitOrder } from './core/evm/single-chain-limit-order.js';
21
30
  export { QuoteProvider } from './utils/quote/aggregator.js';
22
31
  export { CROSS_CHAIN_GUARD_ADDRESSES, SINGLE_CHAIN_GUARD_ADDRESSES, PERMIT2_ADDRESS } from './constants.js';
32
+ export { prepareDcaSecretData, } from './core/solana/dca/single-chain-dca-order.js';
33
+ export { prepareSecretData } from './core/solana/dca/single-chain-limit-order.js';
34
+ // EVM Intent Helpers
35
+ export { createEvmSingleChainLimitOrderIntentRequest, createEvmSingleChainDcaOrderIntentRequest, createEvmCrossChainOrderIntentRequest, generateEvmSingleChainLimitOrderTypedData, generateEvmSingleChainDcaOrderTypedData, generateEvmCrossChainOrderTypedData, generateEvmRandomNonce, } from './core/evm/intent-helpers.js';
36
+ // Solana Intent Helpers
37
+ export { createSolanaSingleChainLimitOrderIntentRequest, createSolanaSingleChainDcaOrderIntentRequest, createSolanaCrossChainOrderIntentRequest, generateSolanaSingleChainLimitOrderInstructions, generateSolanaSingleChainDcaOrderInstructions, generateSolanaCrossChainOrderInstructions, generateSolanaLimitOrderSecretData, generateSolanaDcaOrderSecretData, generateSolanaRandomSecretNumber, } from './core/solana/intent-helpers.js';
23
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIvH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAoD,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAML,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAGhC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qCAAqC,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhH,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EACL,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type Address as SolanaAddress } from '@solana/kit';
2
2
  import type { Address as EvmAddress } from 'viem';
3
3
  import type { SupportedChain, SupportedEvmChain, SupportedSuiChain } from './chains.js';
4
4
  import { ChainID } from './chains.js';
5
- export declare enum OrderType {
5
+ export declare enum IntentsOrderType {
6
6
  CROSS_CHAIN_LIMIT = "CROSS_CHAIN_LIMIT",
7
7
  SINGLE_CHAIN_LIMIT = "SINGLE_CHAIN_LIMIT"
8
8
  }
@@ -24,10 +24,9 @@ type SolanaMint = {
24
24
  decimals: number;
25
25
  };
26
26
  export declare const SOLANA_USDC_MINT: SolanaMint;
27
- export declare const SOLANA_USDT_MINT: SolanaMint;
28
27
  export declare const SOLANA_MINT_TOKEN: SolanaMint;
29
- export declare const PROD_SUI_PACKAGE_ID = "0x9c0c9b7f5ddf7efbde76571783ef4a8a26b36ae5c2ef2eeba8fbc604a29cb195";
30
- export declare const TEST_SUI_PACKAGE_ID = "0x6273e29f803ff5851f89ec17d40d5b1f367476e1677ad0a52ca408f64c4473fe";
28
+ export declare const PROD_SUI_PACKAGE_ID = "0x9c993b10b072ff07f93437bdda25f0736195fa8d19a8af40d71408eb5b267730";
29
+ export declare const TEST_SUI_PACKAGE_ID = "0x14bd4a581cbaf2239a9c1472ca2f751a1d262c4872476eab700bfba7eab0ccc5";
31
30
  export declare const SUI_PACKAGE_ID: string;
32
31
  export declare const SUI_GUARD_COLLATERAL_TYPE = "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
33
32
  export declare const SUI_GUARD_STABLECOIN_TYPE = "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,oBAAY,SAAS;IACnB,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;CAC1C;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKjE,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAQ/F,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAQ/F,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EACnC,aAAa,GAAG,UAAU,CAQ3B,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EACnC,aAAa,GAAG,UAAU,CAQ3B,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvF,CAAC;AAGF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvF,CAAC;AAEF,eAAO,MAAM,2BAA2B,uDAEJ,CAAC;AAErC,eAAO,MAAM,4BAA4B,kIAEJ,CAAC;AAEtC,eAAO,MAAM,gCAAgC,0CAEJ,CAAC;AAE1C,eAAO,MAAM,2BAA2B,EACW,aAAa,CAAC,6CAA6C,CAAC,CAAC;AAChH,eAAO,MAAM,wBAAwB,EACc,aAAa,CAAC,6CAA6C,CAAC,CAAC;AAEhH,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAIxB,UAAU,CAAC;AAEhB,eAAO,MAAM,gBAAgB,EAIxB,UAAU,CAAC;AAEhB,eAAO,MAAM,iBAAiB,YAAsD,CAAC;AAErF,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AACxG,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AACxG,eAAO,MAAM,cAAc,QAA4D,CAAC;AAExF,eAAO,MAAM,yBAAyB,mFAC4C,CAAC;AAEnF,eAAO,MAAM,yBAAyB,mFAC4C,CAAC;AAEnF,eAAO,MAAM,cAAc,QAEA,CAAC;AAE5B,eAAO,MAAM,WAAW,QAAiB,CAAC;AAC1C,eAAO,MAAM,WAAW,QAAiB,CAAC;AAC1C,eAAO,MAAM,YAAY,QAAkB,CAAC;AAC5C,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,eAAO,MAAM,wBAAwB,UAGpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvE,CAAC;AAEF,eAAO,MAAM,wBAAwB,iFAAiF,CAAC;AAEvH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI9D"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,oBAAY,gBAAgB;IAC1B,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;CAC1C;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKjE,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAQ/F,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAQ/F,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EACnC,aAAa,GAAG,UAAU,CAQ3B,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EACnC,aAAa,GAAG,UAAU,CAQ3B,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvF,CAAC;AAGF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvF,CAAC;AAEF,eAAO,MAAM,2BAA2B,uDAEJ,CAAC;AAErC,eAAO,MAAM,4BAA4B,kIAEJ,CAAC;AAEtC,eAAO,MAAM,gCAAgC,0CAEJ,CAAC;AAE1C,eAAO,MAAM,2BAA2B,EACW,aAAa,CAAC,6CAA6C,CAAC,CAAC;AAChH,eAAO,MAAM,wBAAwB,EACc,aAAa,CAAC,6CAA6C,CAAC,CAAC;AAEhH,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAIxB,UAAU,CAAC;AAEhB,eAAO,MAAM,iBAAiB,YAAmB,CAAC;AAElD,eAAO,MAAM,mBAAmB,uEAAuE,CAAA;AACvG,eAAO,MAAM,mBAAmB,uEAAuE,CAAC;AACxG,eAAO,MAAM,cAAc,QAA4D,CAAC;AAExF,eAAO,MAAM,yBAAyB,mFAC4C,CAAC;AAEnF,eAAO,MAAM,yBAAyB,mFAC4C,CAAC;AAEnF,eAAO,MAAM,cAAc,QAEA,CAAC;AAE5B,eAAO,MAAM,WAAW,QAAiB,CAAC;AAC1C,eAAO,MAAM,WAAW,QAAiB,CAAC;AAC1C,eAAO,MAAM,YAAY,QAAkB,CAAC;AAC5C,eAAO,MAAM,YAAY,QAAkB,CAAC;AAE5C,eAAO,MAAM,wBAAwB,UAGpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAKvE,CAAC;AAEF,eAAO,MAAM,wBAAwB,iFAAiF,CAAC;AAEvH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI9D"}