@shogun-sdk/intents-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 (303) hide show
  1. package/README.md +124 -0
  2. package/dist/_esm/chains.js +46 -0
  3. package/dist/_esm/chains.js.map +1 -0
  4. package/dist/_esm/config.js +2 -0
  5. package/dist/_esm/config.js.map +1 -0
  6. package/dist/_esm/constants.js +46 -0
  7. package/dist/_esm/constants.js.map +1 -0
  8. package/dist/_esm/core/evm/abi/erc20.js +313 -0
  9. package/dist/_esm/core/evm/abi/erc20.js.map +1 -0
  10. package/dist/_esm/core/evm/abi/source-chain-guard.js +1716 -0
  11. package/dist/_esm/core/evm/abi/source-chain-guard.js.map +1 -0
  12. package/dist/_esm/core/evm/intent-provider.js +59 -0
  13. package/dist/_esm/core/evm/intent-provider.js.map +1 -0
  14. package/dist/_esm/core/evm/order-signature.js +19 -0
  15. package/dist/_esm/core/evm/order-signature.js.map +1 -0
  16. package/dist/_esm/core/evm/permit2.js +31 -0
  17. package/dist/_esm/core/evm/permit2.js.map +1 -0
  18. package/dist/_esm/core/evm/sdk.js +79 -0
  19. package/dist/_esm/core/evm/sdk.js.map +1 -0
  20. package/dist/_esm/core/evm/validator.js +46 -0
  21. package/dist/_esm/core/evm/validator.js.map +1 -0
  22. package/dist/_esm/core/evm/viem-provider.js +76 -0
  23. package/dist/_esm/core/evm/viem-provider.js.map +1 -0
  24. package/dist/_esm/core/order.js +190 -0
  25. package/dist/_esm/core/order.js.map +1 -0
  26. package/dist/_esm/core/sdk.js +120 -0
  27. package/dist/_esm/core/sdk.js.map +1 -0
  28. package/dist/_esm/core/solana/client.js +19 -0
  29. package/dist/_esm/core/solana/client.js.map +1 -0
  30. package/dist/_esm/core/solana/generated/accounts/adminSingleton.js +56 -0
  31. package/dist/_esm/core/solana/generated/accounts/adminSingleton.js.map +1 -0
  32. package/dist/_esm/core/solana/generated/accounts/guard.js +62 -0
  33. package/dist/_esm/core/solana/generated/accounts/guard.js.map +1 -0
  34. package/dist/_esm/core/solana/generated/accounts/index.js +11 -0
  35. package/dist/_esm/core/solana/generated/accounts/index.js.map +1 -0
  36. package/dist/_esm/core/solana/generated/accounts/order.js +78 -0
  37. package/dist/_esm/core/solana/generated/accounts/order.js.map +1 -0
  38. package/dist/_esm/core/solana/generated/errors/index.js +9 -0
  39. package/dist/_esm/core/solana/generated/errors/index.js.map +1 -0
  40. package/dist/_esm/core/solana/generated/errors/sourceChainGuard.js +35 -0
  41. package/dist/_esm/core/solana/generated/errors/sourceChainGuard.js.map +1 -0
  42. package/dist/_esm/core/solana/generated/index.js +13 -0
  43. package/dist/_esm/core/solana/generated/index.js.map +1 -0
  44. package/dist/_esm/core/solana/generated/instructions/cancelOrder.js +125 -0
  45. package/dist/_esm/core/solana/generated/instructions/cancelOrder.js.map +1 -0
  46. package/dist/_esm/core/solana/generated/instructions/claimTokens.js +142 -0
  47. package/dist/_esm/core/solana/generated/instructions/claimTokens.js.map +1 -0
  48. package/dist/_esm/core/solana/generated/instructions/collectProtocolFees.js +146 -0
  49. package/dist/_esm/core/solana/generated/instructions/collectProtocolFees.js.map +1 -0
  50. package/dist/_esm/core/solana/generated/instructions/createGuard.js +236 -0
  51. package/dist/_esm/core/solana/generated/instructions/createGuard.js.map +1 -0
  52. package/dist/_esm/core/solana/generated/instructions/createOrder.js +182 -0
  53. package/dist/_esm/core/solana/generated/instructions/createOrder.js.map +1 -0
  54. package/dist/_esm/core/solana/generated/instructions/index.js +19 -0
  55. package/dist/_esm/core/solana/generated/instructions/index.js.map +1 -0
  56. package/dist/_esm/core/solana/generated/instructions/initialize.js +109 -0
  57. package/dist/_esm/core/solana/generated/instructions/initialize.js.map +1 -0
  58. package/dist/_esm/core/solana/generated/instructions/preStartOrderExecution.js +123 -0
  59. package/dist/_esm/core/solana/generated/instructions/preStartOrderExecution.js.map +1 -0
  60. package/dist/_esm/core/solana/generated/instructions/setAdmin.js +98 -0
  61. package/dist/_esm/core/solana/generated/instructions/setAdmin.js.map +1 -0
  62. package/dist/_esm/core/solana/generated/instructions/setAuctioneerPubKey.js +104 -0
  63. package/dist/_esm/core/solana/generated/instructions/setAuctioneerPubKey.js.map +1 -0
  64. package/dist/_esm/core/solana/generated/instructions/startOrderExecution.js +105 -0
  65. package/dist/_esm/core/solana/generated/instructions/startOrderExecution.js.map +1 -0
  66. package/dist/_esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js +113 -0
  67. package/dist/_esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +1 -0
  68. package/dist/_esm/core/solana/generated/programs/index.js +9 -0
  69. package/dist/_esm/core/solana/generated/programs/index.js.map +1 -0
  70. package/dist/_esm/core/solana/generated/programs/sourceChainGuard.js +82 -0
  71. package/dist/_esm/core/solana/generated/programs/sourceChainGuard.js.map +1 -0
  72. package/dist/_esm/core/solana/generated/shared/index.js +82 -0
  73. package/dist/_esm/core/solana/generated/shared/index.js.map +1 -0
  74. package/dist/_esm/core/solana/generated/types/adminUpdated.js +18 -0
  75. package/dist/_esm/core/solana/generated/types/adminUpdated.js.map +1 -0
  76. package/dist/_esm/core/solana/generated/types/auctioneerPubkeyUpdated.js +24 -0
  77. package/dist/_esm/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +1 -0
  78. package/dist/_esm/core/solana/generated/types/executionStarted.js +30 -0
  79. package/dist/_esm/core/solana/generated/types/executionStarted.js.map +1 -0
  80. package/dist/_esm/core/solana/generated/types/guardCreated.js +28 -0
  81. package/dist/_esm/core/solana/generated/types/guardCreated.js.map +1 -0
  82. package/dist/_esm/core/solana/generated/types/index.js +16 -0
  83. package/dist/_esm/core/solana/generated/types/index.js.map +1 -0
  84. package/dist/_esm/core/solana/generated/types/orderCancelled.js +18 -0
  85. package/dist/_esm/core/solana/generated/types/orderCancelled.js.map +1 -0
  86. package/dist/_esm/core/solana/generated/types/orderCreated.js +36 -0
  87. package/dist/_esm/core/solana/generated/types/orderCreated.js.map +1 -0
  88. package/dist/_esm/core/solana/generated/types/orderFulfilled.js +18 -0
  89. package/dist/_esm/core/solana/generated/types/orderFulfilled.js.map +1 -0
  90. package/dist/_esm/core/solana/generated/types/tokenInSwapped.js +26 -0
  91. package/dist/_esm/core/solana/generated/types/tokenInSwapped.js.map +1 -0
  92. package/dist/_esm/core/solana/order-instructions.js +92 -0
  93. package/dist/_esm/core/solana/order-instructions.js.map +1 -0
  94. package/dist/_esm/core/solana/sdk.js +111 -0
  95. package/dist/_esm/core/solana/sdk.js.map +1 -0
  96. package/dist/_esm/core/solana/validator.js +22 -0
  97. package/dist/_esm/core/solana/validator.js.map +1 -0
  98. package/dist/_esm/core/sui/client.js +3 -0
  99. package/dist/_esm/core/sui/client.js.map +1 -0
  100. package/dist/_esm/core/sui/order-transaction.js +56 -0
  101. package/dist/_esm/core/sui/order-transaction.js.map +1 -0
  102. package/dist/_esm/core/sui/sdk.js +94 -0
  103. package/dist/_esm/core/sui/sdk.js.map +1 -0
  104. package/dist/_esm/core/sui/validator.js +25 -0
  105. package/dist/_esm/core/sui/validator.js.map +1 -0
  106. package/dist/_esm/errors/index.js +94 -0
  107. package/dist/_esm/errors/index.js.map +1 -0
  108. package/dist/_esm/index.js +7 -0
  109. package/dist/_esm/index.js.map +1 -0
  110. package/dist/_esm/package.json +1 -0
  111. package/dist/_esm/types/intent.js +2 -0
  112. package/dist/_esm/types/intent.js.map +1 -0
  113. package/dist/_esm/utils/base-validator.js +51 -0
  114. package/dist/_esm/utils/base-validator.js.map +1 -0
  115. package/dist/_esm/utils/logger.js +109 -0
  116. package/dist/_esm/utils/logger.js.map +1 -0
  117. package/dist/_esm/utils/order-validator.js +75 -0
  118. package/dist/_esm/utils/order-validator.js.map +1 -0
  119. package/dist/_esm/utils/parsers.js +10 -0
  120. package/dist/_esm/utils/parsers.js.map +1 -0
  121. package/dist/_esm/utils/type-utils.js +2 -0
  122. package/dist/_esm/utils/type-utils.js.map +1 -0
  123. package/dist/_types/chains.d.ts +69 -0
  124. package/dist/_types/chains.d.ts.map +1 -0
  125. package/dist/_types/config.d.ts +21 -0
  126. package/dist/_types/config.d.ts.map +1 -0
  127. package/dist/_types/constants.d.ts +18 -0
  128. package/dist/_types/constants.d.ts.map +1 -0
  129. package/dist/_types/core/evm/abi/erc20.d.ts +240 -0
  130. package/dist/_types/core/evm/abi/erc20.d.ts.map +1 -0
  131. package/dist/_types/core/evm/abi/source-chain-guard.d.ts +1343 -0
  132. package/dist/_types/core/evm/abi/source-chain-guard.d.ts.map +1 -0
  133. package/dist/_types/core/evm/intent-provider.d.ts +12 -0
  134. package/dist/_types/core/evm/intent-provider.d.ts.map +1 -0
  135. package/dist/_types/core/evm/order-signature.d.ts +19 -0
  136. package/dist/_types/core/evm/order-signature.d.ts.map +1 -0
  137. package/dist/_types/core/evm/permit2.d.ts +75 -0
  138. package/dist/_types/core/evm/permit2.d.ts.map +1 -0
  139. package/dist/_types/core/evm/sdk.d.ts +50 -0
  140. package/dist/_types/core/evm/sdk.d.ts.map +1 -0
  141. package/dist/_types/core/evm/validator.d.ts +13 -0
  142. package/dist/_types/core/evm/validator.d.ts.map +1 -0
  143. package/dist/_types/core/evm/viem-provider.d.ts +9657 -0
  144. package/dist/_types/core/evm/viem-provider.d.ts.map +1 -0
  145. package/dist/_types/core/order.d.ts +122 -0
  146. package/dist/_types/core/order.d.ts.map +1 -0
  147. package/dist/_types/core/sdk.d.ts +86 -0
  148. package/dist/_types/core/sdk.d.ts.map +1 -0
  149. package/dist/_types/core/solana/client.d.ts +11 -0
  150. package/dist/_types/core/solana/client.d.ts.map +1 -0
  151. package/dist/_types/core/solana/generated/accounts/adminSingleton.d.ts +36 -0
  152. package/dist/_types/core/solana/generated/accounts/adminSingleton.d.ts.map +1 -0
  153. package/dist/_types/core/solana/generated/accounts/guard.d.ts +48 -0
  154. package/dist/_types/core/solana/generated/accounts/guard.d.ts.map +1 -0
  155. package/dist/_types/core/solana/generated/accounts/index.d.ts +11 -0
  156. package/dist/_types/core/solana/generated/accounts/index.d.ts.map +1 -0
  157. package/dist/_types/core/solana/generated/accounts/order.d.ts +92 -0
  158. package/dist/_types/core/solana/generated/accounts/order.d.ts.map +1 -0
  159. package/dist/_types/core/solana/generated/errors/index.d.ts +9 -0
  160. package/dist/_types/core/solana/generated/errors/index.d.ts.map +1 -0
  161. package/dist/_types/core/solana/generated/errors/sourceChainGuard.d.ts +27 -0
  162. package/dist/_types/core/solana/generated/errors/sourceChainGuard.d.ts.map +1 -0
  163. package/dist/_types/core/solana/generated/index.d.ts +13 -0
  164. package/dist/_types/core/solana/generated/index.d.ts.map +1 -0
  165. package/dist/_types/core/solana/generated/instructions/cancelOrder.d.ts +108 -0
  166. package/dist/_types/core/solana/generated/instructions/cancelOrder.d.ts.map +1 -0
  167. package/dist/_types/core/solana/generated/instructions/claimTokens.d.ts +131 -0
  168. package/dist/_types/core/solana/generated/instructions/claimTokens.d.ts.map +1 -0
  169. package/dist/_types/core/solana/generated/instructions/collectProtocolFees.d.ts +91 -0
  170. package/dist/_types/core/solana/generated/instructions/collectProtocolFees.d.ts.map +1 -0
  171. package/dist/_types/core/solana/generated/instructions/createGuard.d.ts +133 -0
  172. package/dist/_types/core/solana/generated/instructions/createGuard.d.ts.map +1 -0
  173. package/dist/_types/core/solana/generated/instructions/createOrder.d.ts +122 -0
  174. package/dist/_types/core/solana/generated/instructions/createOrder.d.ts.map +1 -0
  175. package/dist/_types/core/solana/generated/instructions/index.d.ts +19 -0
  176. package/dist/_types/core/solana/generated/instructions/index.d.ts.map +1 -0
  177. package/dist/_types/core/solana/generated/instructions/initialize.d.ts +63 -0
  178. package/dist/_types/core/solana/generated/instructions/initialize.d.ts.map +1 -0
  179. package/dist/_types/core/solana/generated/instructions/preStartOrderExecution.d.ts +105 -0
  180. package/dist/_types/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +1 -0
  181. package/dist/_types/core/solana/generated/instructions/setAdmin.d.ts +61 -0
  182. package/dist/_types/core/solana/generated/instructions/setAdmin.d.ts.map +1 -0
  183. package/dist/_types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts +68 -0
  184. package/dist/_types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +1 -0
  185. package/dist/_types/core/solana/generated/instructions/startOrderExecution.d.ts +85 -0
  186. package/dist/_types/core/solana/generated/instructions/startOrderExecution.d.ts.map +1 -0
  187. package/dist/_types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts +95 -0
  188. package/dist/_types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -0
  189. package/dist/_types/core/solana/generated/programs/index.d.ts +9 -0
  190. package/dist/_types/core/solana/generated/programs/index.d.ts.map +1 -0
  191. package/dist/_types/core/solana/generated/programs/sourceChainGuard.d.ts +59 -0
  192. package/dist/_types/core/solana/generated/programs/sourceChainGuard.d.ts.map +1 -0
  193. package/dist/_types/core/solana/generated/shared/index.d.ts +52 -0
  194. package/dist/_types/core/solana/generated/shared/index.d.ts.map +1 -0
  195. package/dist/_types/core/solana/generated/types/adminUpdated.d.ts +16 -0
  196. package/dist/_types/core/solana/generated/types/adminUpdated.d.ts.map +1 -0
  197. package/dist/_types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts +17 -0
  198. package/dist/_types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
  199. package/dist/_types/core/solana/generated/types/executionStarted.d.ts +26 -0
  200. package/dist/_types/core/solana/generated/types/executionStarted.d.ts.map +1 -0
  201. package/dist/_types/core/solana/generated/types/guardCreated.d.ts +19 -0
  202. package/dist/_types/core/solana/generated/types/guardCreated.d.ts.map +1 -0
  203. package/dist/_types/core/solana/generated/types/index.d.ts +16 -0
  204. package/dist/_types/core/solana/generated/types/index.d.ts.map +1 -0
  205. package/dist/_types/core/solana/generated/types/orderCancelled.d.ts +16 -0
  206. package/dist/_types/core/solana/generated/types/orderCancelled.d.ts.map +1 -0
  207. package/dist/_types/core/solana/generated/types/orderCreated.d.ts +32 -0
  208. package/dist/_types/core/solana/generated/types/orderCreated.d.ts.map +1 -0
  209. package/dist/_types/core/solana/generated/types/orderFulfilled.d.ts +16 -0
  210. package/dist/_types/core/solana/generated/types/orderFulfilled.d.ts.map +1 -0
  211. package/dist/_types/core/solana/generated/types/tokenInSwapped.d.ts +22 -0
  212. package/dist/_types/core/solana/generated/types/tokenInSwapped.d.ts.map +1 -0
  213. package/dist/_types/core/solana/order-instructions.d.ts +12 -0
  214. package/dist/_types/core/solana/order-instructions.d.ts.map +1 -0
  215. package/dist/_types/core/solana/sdk.d.ts +65 -0
  216. package/dist/_types/core/solana/sdk.d.ts.map +1 -0
  217. package/dist/_types/core/solana/validator.d.ts +9 -0
  218. package/dist/_types/core/solana/validator.d.ts.map +1 -0
  219. package/dist/_types/core/sui/client.d.ts +3 -0
  220. package/dist/_types/core/sui/client.d.ts.map +1 -0
  221. package/dist/_types/core/sui/order-transaction.d.ts +9 -0
  222. package/dist/_types/core/sui/order-transaction.d.ts.map +1 -0
  223. package/dist/_types/core/sui/sdk.d.ts +55 -0
  224. package/dist/_types/core/sui/sdk.d.ts.map +1 -0
  225. package/dist/_types/core/sui/validator.d.ts +9 -0
  226. package/dist/_types/core/sui/validator.d.ts.map +1 -0
  227. package/dist/_types/errors/index.d.ts +32 -0
  228. package/dist/_types/errors/index.d.ts.map +1 -0
  229. package/dist/_types/index.d.ts +10 -0
  230. package/dist/_types/index.d.ts.map +1 -0
  231. package/dist/_types/types/intent.d.ts +129 -0
  232. package/dist/_types/types/intent.d.ts.map +1 -0
  233. package/dist/_types/utils/base-validator.d.ts +28 -0
  234. package/dist/_types/utils/base-validator.d.ts.map +1 -0
  235. package/dist/_types/utils/logger.d.ts +35 -0
  236. package/dist/_types/utils/logger.d.ts.map +1 -0
  237. package/dist/_types/utils/order-validator.d.ts +40 -0
  238. package/dist/_types/utils/order-validator.d.ts.map +1 -0
  239. package/dist/_types/utils/parsers.d.ts +4 -0
  240. package/dist/_types/utils/parsers.d.ts.map +1 -0
  241. package/dist/_types/utils/type-utils.d.ts +2 -0
  242. package/dist/_types/utils/type-utils.d.ts.map +1 -0
  243. package/package.json +62 -0
  244. package/src/chains.ts +77 -0
  245. package/src/config.ts +24 -0
  246. package/src/constants.ts +61 -0
  247. package/src/core/evm/abi/erc20.ts +312 -0
  248. package/src/core/evm/abi/source-chain-guard.ts +1715 -0
  249. package/src/core/evm/intent-provider.ts +63 -0
  250. package/src/core/evm/order-signature.ts +33 -0
  251. package/src/core/evm/permit2.ts +60 -0
  252. package/src/core/evm/sdk.ts +74 -0
  253. package/src/core/evm/validator.ts +60 -0
  254. package/src/core/evm/viem-provider.ts +79 -0
  255. package/src/core/order.ts +186 -0
  256. package/src/core/sdk.ts +154 -0
  257. package/src/core/solana/client.ts +37 -0
  258. package/src/core/solana/generated/accounts/adminSingleton.ts +136 -0
  259. package/src/core/solana/generated/accounts/guard.ts +156 -0
  260. package/src/core/solana/generated/accounts/index.ts +11 -0
  261. package/src/core/solana/generated/accounts/order.ts +218 -0
  262. package/src/core/solana/generated/errors/index.ts +9 -0
  263. package/src/core/solana/generated/errors/sourceChainGuard.ts +52 -0
  264. package/src/core/solana/generated/index.ts +13 -0
  265. package/src/core/solana/generated/instructions/cancelOrder.ts +357 -0
  266. package/src/core/solana/generated/instructions/claimTokens.ts +419 -0
  267. package/src/core/solana/generated/instructions/collectProtocolFees.ts +383 -0
  268. package/src/core/solana/generated/instructions/createGuard.ts +569 -0
  269. package/src/core/solana/generated/instructions/createOrder.ts +480 -0
  270. package/src/core/solana/generated/instructions/index.ts +19 -0
  271. package/src/core/solana/generated/instructions/initialize.ts +231 -0
  272. package/src/core/solana/generated/instructions/preStartOrderExecution.ts +362 -0
  273. package/src/core/solana/generated/instructions/setAdmin.ts +211 -0
  274. package/src/core/solana/generated/instructions/setAuctioneerPubKey.ts +241 -0
  275. package/src/core/solana/generated/instructions/startOrderExecution.ts +293 -0
  276. package/src/core/solana/generated/instructions/startOrderExecutionAfterSwap.ts +323 -0
  277. package/src/core/solana/generated/programs/index.ts +9 -0
  278. package/src/core/solana/generated/programs/sourceChainGuard.ts +223 -0
  279. package/src/core/solana/generated/shared/index.ts +124 -0
  280. package/src/core/solana/generated/types/adminUpdated.ts +35 -0
  281. package/src/core/solana/generated/types/auctioneerPubkeyUpdated.ts +44 -0
  282. package/src/core/solana/generated/types/executionStarted.ts +63 -0
  283. package/src/core/solana/generated/types/guardCreated.ts +50 -0
  284. package/src/core/solana/generated/types/index.ts +16 -0
  285. package/src/core/solana/generated/types/orderCancelled.ts +35 -0
  286. package/src/core/solana/generated/types/orderCreated.ts +80 -0
  287. package/src/core/solana/generated/types/orderFulfilled.ts +35 -0
  288. package/src/core/solana/generated/types/tokenInSwapped.ts +53 -0
  289. package/src/core/solana/order-instructions.ts +131 -0
  290. package/src/core/solana/sdk.ts +135 -0
  291. package/src/core/solana/validator.ts +26 -0
  292. package/src/core/sui/client.ts +3 -0
  293. package/src/core/sui/order-transaction.ts +78 -0
  294. package/src/core/sui/sdk.ts +95 -0
  295. package/src/core/sui/validator.ts +32 -0
  296. package/src/errors/index.ts +106 -0
  297. package/src/index.ts +10 -0
  298. package/src/types/intent.ts +143 -0
  299. package/src/utils/base-validator.ts +64 -0
  300. package/src/utils/logger.ts +128 -0
  301. package/src/utils/order-validator.ts +103 -0
  302. package/src/utils/parsers.ts +8 -0
  303. package/src/utils/type-utils.ts +1 -0
@@ -0,0 +1,120 @@
1
+ import { chainIdToChainTypeMap } from '../chains.js';
2
+ import { AUCTIONEER_URL } from '../constants.js';
3
+ import { NetworkError } from '../errors/index.js';
4
+ import { Parsers } from '../utils/parsers.js';
5
+ import { Order } from './order.js';
6
+ /**
7
+ * Base SDK providing common functionality for all blockchain implementations
8
+ *
9
+ * This abstract class serves as the foundation for chain-specific SDK implementations
10
+ * (EVM, Solana, Sui), providing shared functionality for creating and sending orders
11
+ * across different blockchains.
12
+ */
13
+ export class BaseSDK {
14
+ /**
15
+ * Creates a cross-chain swap order
16
+ *
17
+ * This method:
18
+ * 1. Gets the user's address from their private key
19
+ * 2. Creates and validates an Order instance
20
+ * 3. Delegates to chain-specific preparation logic
21
+ *
22
+ * @param params Parameters for order creation including source/destination chain details
23
+ * @returns Promise resolving to a prepared order ready for submission
24
+ * @throws {ValidationError} If order parameters are invalid
25
+ * @throws {OrderCreationError} If order creation fails
26
+ */
27
+ async createOrder(params) {
28
+ const userAddress = await this.getUserAddress();
29
+ // Order is validated upon creation
30
+ const order = await Order.create({
31
+ user: userAddress,
32
+ sourceChainId: params.sourceChainId,
33
+ sourceTokenAddress: params.sourceTokenAddress,
34
+ sourceTokenAmount: params.sourceTokenAmount,
35
+ minStablecoinAmount: params.minStablecoinAmount,
36
+ deadline: params.deadline,
37
+ destinationAddress: params.destinationAddress,
38
+ destinationChainId: params.destinationChainId,
39
+ destinationTokenAddress: params.destinationTokenAddress,
40
+ destinationTokenMinAmount: params.destinationTokenMinAmount,
41
+ extraTransfers: params.extraTransfers,
42
+ });
43
+ return this.prepareOrder(order);
44
+ }
45
+ /**
46
+ * Creates an order and sends it to the auctioneer in a single call
47
+ *
48
+ * Convenience method that combines order creation and submission
49
+ *
50
+ * @param params Parameters for order creation including source/destination chain details
51
+ * @returns Promise resolving to the auctioneer's HTTP response
52
+ * @throws {ValidationError} If order parameters are invalid
53
+ * @throws {OrderCreationError} If order creation fails
54
+ * @throws {NetworkError} If order submission fails
55
+ */
56
+ async createAndSendOrder(params) {
57
+ const preparedOrder = await this.createOrder(params);
58
+ return this.sendOrder(preparedOrder);
59
+ }
60
+ /**
61
+ * Converts a prepared order into a user intent request format for the auctioneer
62
+ *
63
+ * The UserIntentRequest format includes:
64
+ * - Generic data common to all chains
65
+ * - Chain-specific data (signatures, nonces, etc.)
66
+ * - Execution details for the destination chain
67
+ *
68
+ * @param preparedOrder The prepared order with chain-specific data
69
+ * @returns User intent request object ready for submission to the auctioneer
70
+ * @throws {BaseError} If conversion fails
71
+ */
72
+ getUserIntentRequest(preparedOrder) {
73
+ const sourceChain = preparedOrder.order.sourceChainId;
74
+ const sourceChainType = chainIdToChainTypeMap[sourceChain];
75
+ const executionDetails = preparedOrder.order.getExecutionDetails();
76
+ return {
77
+ genericData: preparedOrder.order.toSourceChainData(),
78
+ executionDetails: JSON.stringify(executionDetails, Parsers.bigIntReplacer),
79
+ chainSpecificData: {
80
+ [sourceChainType]: preparedOrder.preparedData,
81
+ },
82
+ };
83
+ }
84
+ /**
85
+ * Sends a prepared order to the auctioneer service
86
+ *
87
+ * This method:
88
+ * 1. Converts the prepared order to the auctioneer's expected format
89
+ * 2. Serializes the request with proper handling of bigint values
90
+ * 3. Submits the order to the auctioneer endpoint
91
+ * 4. Validates the response
92
+ *
93
+ * @param preparedOrder The prepared order with chain-specific data
94
+ * @returns Promise resolving to the specific-chain tx hash
95
+ * @throws {NetworkError} If the network request fails or returns an error
96
+ */
97
+ async sendOrder(preparedOrder) {
98
+ const intentRequest = this.getUserIntentRequest(preparedOrder);
99
+ const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
100
+ const url = `${AUCTIONEER_URL}/user_intent`;
101
+ const response = await fetch(url, {
102
+ method: 'POST',
103
+ headers: {
104
+ 'Content-Type': 'application/json',
105
+ },
106
+ body,
107
+ });
108
+ if (!response.ok) {
109
+ const errorJson = await response.json();
110
+ const extraErrorData = errorJson.extra_error_data;
111
+ throw new NetworkError(`Server error`, {
112
+ status: response.status,
113
+ statusText: response.statusText,
114
+ body: extraErrorData,
115
+ });
116
+ }
117
+ return response;
118
+ }
119
+ }
120
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/core/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { createSolanaRpc, createSolanaRpcSubscriptions, sendAndConfirmTransactionFactory, } from '@solana/kit';
2
+ export function createSolanaClient(config) {
3
+ const rpc = config.rpcProviderUrl ? createSolanaRpc(config.rpcProviderUrl) : getDefaultSolanaRPC();
4
+ const rpcSubscriptions = createSolanaRpcSubscriptions('wss://api.mainnet-beta.solana.com');
5
+ const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({
6
+ rpc,
7
+ rpcSubscriptions,
8
+ });
9
+ return {
10
+ privateKey: config.privateKey,
11
+ rpc,
12
+ rpcSubscriptions,
13
+ sendAndConfirmTransaction,
14
+ };
15
+ }
16
+ export function getDefaultSolanaRPC() {
17
+ return createSolanaRpc('https://api.mainnet-beta.solana.com');
18
+ }
19
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/core/solana/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,4BAA4B,EAK5B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAUrB,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACnG,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,mCAAmC,CAAC,CAAC;IAC3F,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;QACjE,GAAG;QACH,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,GAAG;QACH,gBAAgB;QAChB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,eAAe,CAAC,qCAAqC,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
9
+ import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
10
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
11
+ export const ADMIN_SINGLETON_DISCRIMINATOR = new Uint8Array([179, 22, 254, 245, 204, 230, 222, 194]);
12
+ export function getAdminSingletonDiscriminatorBytes() {
13
+ return fixEncoderSize(getBytesEncoder(), 8).encode(ADMIN_SINGLETON_DISCRIMINATOR);
14
+ }
15
+ export function getAdminSingletonEncoder() {
16
+ return transformEncoder(getStructEncoder([
17
+ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
18
+ ['admin', getAddressEncoder()],
19
+ ['bump', getU8Encoder()],
20
+ ]), (value) => ({ ...value, discriminator: ADMIN_SINGLETON_DISCRIMINATOR }));
21
+ }
22
+ export function getAdminSingletonDecoder() {
23
+ return getStructDecoder([
24
+ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
25
+ ['admin', getAddressDecoder()],
26
+ ['bump', getU8Decoder()],
27
+ ]);
28
+ }
29
+ export function getAdminSingletonCodec() {
30
+ return combineCodec(getAdminSingletonEncoder(), getAdminSingletonDecoder());
31
+ }
32
+ export function decodeAdminSingleton(encodedAccount) {
33
+ return decodeAccount(encodedAccount, getAdminSingletonDecoder());
34
+ }
35
+ export async function fetchAdminSingleton(rpc, address, config) {
36
+ const maybeAccount = await fetchMaybeAdminSingleton(rpc, address, config);
37
+ assertAccountExists(maybeAccount);
38
+ return maybeAccount;
39
+ }
40
+ export async function fetchMaybeAdminSingleton(rpc, address, config) {
41
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
42
+ return decodeAdminSingleton(maybeAccount);
43
+ }
44
+ export async function fetchAllAdminSingleton(rpc, addresses, config) {
45
+ const maybeAccounts = await fetchAllMaybeAdminSingleton(rpc, addresses, config);
46
+ assertAccountsExist(maybeAccounts);
47
+ return maybeAccounts;
48
+ }
49
+ export async function fetchAllMaybeAdminSingleton(rpc, addresses, config) {
50
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
51
+ return maybeAccounts.map((maybeAccount) => decodeAdminSingleton(maybeAccount));
52
+ }
53
+ export function getAdminSingletonSize() {
54
+ return 41;
55
+ }
56
+ //# sourceMappingURL=adminSingleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminSingleton.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/adminSingleton.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
9
+ import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
10
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU64Decoder, getU64Encoder, transformEncoder, } from '@solana/kit';
11
+ export const GUARD_DISCRIMINATOR = new Uint8Array([54, 187, 84, 137, 192, 15, 74, 248]);
12
+ export function getGuardDiscriminatorBytes() {
13
+ return fixEncoderSize(getBytesEncoder(), 8).encode(GUARD_DISCRIMINATOR);
14
+ }
15
+ export function getGuardEncoder() {
16
+ return transformEncoder(getStructEncoder([
17
+ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
18
+ ['collateralToken', getAddressEncoder()],
19
+ ['stablecoinToken', getAddressEncoder()],
20
+ ['bump', getU8Encoder()],
21
+ ['auctioneerPubKey', getAddressEncoder()],
22
+ ['collectedFees', getU64Encoder()],
23
+ ]), (value) => ({ ...value, discriminator: GUARD_DISCRIMINATOR }));
24
+ }
25
+ export function getGuardDecoder() {
26
+ return getStructDecoder([
27
+ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
28
+ ['collateralToken', getAddressDecoder()],
29
+ ['stablecoinToken', getAddressDecoder()],
30
+ ['bump', getU8Decoder()],
31
+ ['auctioneerPubKey', getAddressDecoder()],
32
+ ['collectedFees', getU64Decoder()],
33
+ ]);
34
+ }
35
+ export function getGuardCodec() {
36
+ return combineCodec(getGuardEncoder(), getGuardDecoder());
37
+ }
38
+ export function decodeGuard(encodedAccount) {
39
+ return decodeAccount(encodedAccount, getGuardDecoder());
40
+ }
41
+ export async function fetchGuard(rpc, address, config) {
42
+ const maybeAccount = await fetchMaybeGuard(rpc, address, config);
43
+ assertAccountExists(maybeAccount);
44
+ return maybeAccount;
45
+ }
46
+ export async function fetchMaybeGuard(rpc, address, config) {
47
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
48
+ return decodeGuard(maybeAccount);
49
+ }
50
+ export async function fetchAllGuard(rpc, addresses, config) {
51
+ const maybeAccounts = await fetchAllMaybeGuard(rpc, addresses, config);
52
+ assertAccountsExist(maybeAccounts);
53
+ return maybeAccounts;
54
+ }
55
+ export async function fetchAllMaybeGuard(rpc, addresses, config) {
56
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
57
+ return maybeAccounts.map((maybeAccount) => decodeGuard(maybeAccount));
58
+ }
59
+ export function getGuardSize() {
60
+ return 113;
61
+ }
62
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './adminSingleton.js';
9
+ export * from './guard.js';
10
+ export * from './order.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
9
+ import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
10
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, transformEncoder, } from '@solana/kit';
11
+ export const ORDER_DISCRIMINATOR = new Uint8Array([134, 173, 223, 185, 77, 86, 28, 51]);
12
+ export function getOrderDiscriminatorBytes() {
13
+ return fixEncoderSize(getBytesEncoder(), 8).encode(ORDER_DISCRIMINATOR);
14
+ }
15
+ export function getOrderEncoder() {
16
+ return transformEncoder(getStructEncoder([
17
+ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
18
+ ['user', getAddressEncoder()],
19
+ ['guard', getAddressEncoder()],
20
+ ['tokenInMint', getAddressEncoder()],
21
+ ['amountIn', getU64Encoder()],
22
+ ['minStablecoinsAmount', getU64Encoder()],
23
+ ['deadline', getU32Encoder()],
24
+ ['executionDetailsHash', fixEncoderSize(getBytesEncoder(), 32)],
25
+ ['tokensInWereSwapped', getBooleanEncoder()],
26
+ ['lockedStablecoins', getU64Encoder()],
27
+ ['lockedCollateral', getU64Encoder()],
28
+ ['takenCollateral', getU64Encoder()],
29
+ ['activeSolver', getAddressEncoder()],
30
+ ['executionDeadline', getU32Encoder()],
31
+ ]), (value) => ({ ...value, discriminator: ORDER_DISCRIMINATOR }));
32
+ }
33
+ export function getOrderDecoder() {
34
+ return getStructDecoder([
35
+ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
36
+ ['user', getAddressDecoder()],
37
+ ['guard', getAddressDecoder()],
38
+ ['tokenInMint', getAddressDecoder()],
39
+ ['amountIn', getU64Decoder()],
40
+ ['minStablecoinsAmount', getU64Decoder()],
41
+ ['deadline', getU32Decoder()],
42
+ ['executionDetailsHash', fixDecoderSize(getBytesDecoder(), 32)],
43
+ ['tokensInWereSwapped', getBooleanDecoder()],
44
+ ['lockedStablecoins', getU64Decoder()],
45
+ ['lockedCollateral', getU64Decoder()],
46
+ ['takenCollateral', getU64Decoder()],
47
+ ['activeSolver', getAddressDecoder()],
48
+ ['executionDeadline', getU32Decoder()],
49
+ ]);
50
+ }
51
+ export function getOrderCodec() {
52
+ return combineCodec(getOrderEncoder(), getOrderDecoder());
53
+ }
54
+ export function decodeOrder(encodedAccount) {
55
+ return decodeAccount(encodedAccount, getOrderDecoder());
56
+ }
57
+ export async function fetchOrder(rpc, address, config) {
58
+ const maybeAccount = await fetchMaybeOrder(rpc, address, config);
59
+ assertAccountExists(maybeAccount);
60
+ return maybeAccount;
61
+ }
62
+ export async function fetchMaybeOrder(rpc, address, config) {
63
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
64
+ return decodeOrder(maybeAccount);
65
+ }
66
+ export async function fetchAllOrder(rpc, addresses, config) {
67
+ const maybeAccounts = await fetchAllMaybeOrder(rpc, addresses, config);
68
+ assertAccountsExist(maybeAccounts);
69
+ return maybeAccounts;
70
+ }
71
+ export async function fetchAllMaybeOrder(rpc, addresses, config) {
72
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
73
+ return maybeAccounts.map((maybeAccount) => decodeOrder(maybeAccount));
74
+ }
75
+ export function getOrderSize() {
76
+ return 217;
77
+ }
78
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './sourceChainGuard.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import {} from '@solana/kit';
9
+ import {} from '@solana/kit';
10
+ import { isProgramError } from '@solana/kit';
11
+ import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
12
+ /** InstructionNotFound: Ed25519Program instruction */
13
+ export const SOURCE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND = 0x1770; // 6000
14
+ /** SigVerificationFailed: Signature verification failed */
15
+ export const SOURCE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED = 0x1771; // 6001
16
+ /** InvalidSigner: Invalid signer */
17
+ export const SOURCE_CHAIN_GUARD_ERROR__INVALID_SIGNER = 0x1772; // 6002
18
+ let sourceChainGuardErrorMessages;
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ sourceChainGuardErrorMessages = {
21
+ [SOURCE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND]: `Ed25519Program instruction`,
22
+ [SOURCE_CHAIN_GUARD_ERROR__INVALID_SIGNER]: `Invalid signer`,
23
+ [SOURCE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED]: `Signature verification failed`,
24
+ };
25
+ }
26
+ export function getSourceChainGuardErrorMessage(code) {
27
+ if (process.env.NODE_ENV !== 'production') {
28
+ return sourceChainGuardErrorMessages[code];
29
+ }
30
+ return 'Error message not available in production bundles.';
31
+ }
32
+ export function isSourceChainGuardError(error, transactionMessage, code) {
33
+ return isProgramError(error, transactionMessage, SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS, code);
34
+ }
35
+ //# sourceMappingURL=sourceChainGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceChainGuard.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/errors/sourceChainGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAkE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE1E,sDAAsD;AACtD,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC,CAAC,OAAO;AAC9E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC,CAAC,OAAO;AAChF,oCAAoC;AACpC,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC,CAAC,OAAO;AAOvE,IAAI,6BAAgF,CAAC;AACrF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,6BAA6B,GAAG;QAC9B,CAAC,+CAA+C,CAAC,EAAE,4BAA4B;QAC/E,CAAC,wCAAwC,CAAC,EAAE,gBAAgB;QAC5D,CAAC,iDAAiD,CAAC,EAAE,+BAA+B;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAQ,6BAAuE,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,oDAAoD,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,kBAEC,EACD,IAAwB;IAGxB,OAAO,cAAc,CAAoB,KAAK,EAAE,kBAAkB,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;AAChH,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './accounts/index.js';
9
+ export * from './errors/index.js';
10
+ export * from './instructions/index.js';
11
+ export * from './programs/index.js';
12
+ export * from './types/index.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/solana/generated/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import {} from '@solana/kit';
9
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder, } from '@solana/kit';
10
+ import {} from '@solana/kit';
11
+ import {} from '@solana/kit';
12
+ import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
13
+ import { getAccountMetaFactory } from '../shared/index.js';
14
+ export const CANCEL_ORDER_DISCRIMINATOR = new Uint8Array([95, 129, 237, 240, 8, 49, 223, 132]);
15
+ export function getCancelOrderDiscriminatorBytes() {
16
+ return fixEncoderSize(getBytesEncoder(), 8).encode(CANCEL_ORDER_DISCRIMINATOR);
17
+ }
18
+ export function getCancelOrderInstructionDataEncoder() {
19
+ return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)]]), (value) => ({
20
+ ...value,
21
+ discriminator: CANCEL_ORDER_DISCRIMINATOR,
22
+ }));
23
+ }
24
+ export function getCancelOrderInstructionDataDecoder() {
25
+ return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)]]);
26
+ }
27
+ export function getCancelOrderInstructionDataCodec() {
28
+ return combineCodec(getCancelOrderInstructionDataEncoder(), getCancelOrderInstructionDataDecoder());
29
+ }
30
+ export function getCancelOrderInstruction(input, config) {
31
+ // Program address.
32
+ const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
33
+ // Original accounts.
34
+ const originalAccounts = {
35
+ user: { value: input.user ?? null, isWritable: true },
36
+ order: { value: input.order ?? null, isWritable: true },
37
+ guard: { value: input.guard ?? null, isWritable: false },
38
+ recoveredTokenMint: {
39
+ value: input.recoveredTokenMint ?? null,
40
+ isWritable: false,
41
+ },
42
+ userRecoveredTokenAccount: {
43
+ value: input.userRecoveredTokenAccount ?? null,
44
+ isWritable: true,
45
+ },
46
+ guardRecoveredTokenAccount: {
47
+ value: input.guardRecoveredTokenAccount ?? null,
48
+ isWritable: true,
49
+ },
50
+ recoveredTokenProgram: {
51
+ value: input.recoveredTokenProgram ?? null,
52
+ isWritable: false,
53
+ },
54
+ collateralTokenMint: {
55
+ value: input.collateralTokenMint ?? null,
56
+ isWritable: false,
57
+ },
58
+ userCollateralTokenAccount: {
59
+ value: input.userCollateralTokenAccount ?? null,
60
+ isWritable: true,
61
+ },
62
+ guardCollateralTokenAccount: {
63
+ value: input.guardCollateralTokenAccount ?? null,
64
+ isWritable: true,
65
+ },
66
+ collateralTokenProgram: {
67
+ value: input.collateralTokenProgram ?? null,
68
+ isWritable: false,
69
+ },
70
+ };
71
+ const accounts = originalAccounts;
72
+ const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
73
+ const instruction = {
74
+ accounts: [
75
+ getAccountMeta(accounts.user),
76
+ getAccountMeta(accounts.order),
77
+ getAccountMeta(accounts.guard),
78
+ getAccountMeta(accounts.recoveredTokenMint),
79
+ getAccountMeta(accounts.userRecoveredTokenAccount),
80
+ getAccountMeta(accounts.guardRecoveredTokenAccount),
81
+ getAccountMeta(accounts.recoveredTokenProgram),
82
+ getAccountMeta(accounts.collateralTokenMint),
83
+ getAccountMeta(accounts.userCollateralTokenAccount),
84
+ getAccountMeta(accounts.guardCollateralTokenAccount),
85
+ getAccountMeta(accounts.collateralTokenProgram),
86
+ ],
87
+ programAddress,
88
+ data: getCancelOrderInstructionDataEncoder().encode({}),
89
+ };
90
+ return instruction;
91
+ }
92
+ export function parseCancelOrderInstruction(instruction) {
93
+ if (instruction.accounts.length < 11) {
94
+ // TODO: Coded error.
95
+ throw new Error('Not enough accounts');
96
+ }
97
+ let accountIndex = 0;
98
+ const getNextAccount = () => {
99
+ const accountMeta = instruction.accounts[accountIndex];
100
+ accountIndex += 1;
101
+ return accountMeta;
102
+ };
103
+ const getNextOptionalAccount = () => {
104
+ const accountMeta = getNextAccount();
105
+ return accountMeta.address === SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS ? undefined : accountMeta;
106
+ };
107
+ return {
108
+ programAddress: instruction.programAddress,
109
+ accounts: {
110
+ user: getNextAccount(),
111
+ order: getNextAccount(),
112
+ guard: getNextAccount(),
113
+ recoveredTokenMint: getNextAccount(),
114
+ userRecoveredTokenAccount: getNextAccount(),
115
+ guardRecoveredTokenAccount: getNextAccount(),
116
+ recoveredTokenProgram: getNextAccount(),
117
+ collateralTokenMint: getNextAccount(),
118
+ userCollateralTokenAccount: getNextOptionalAccount(),
119
+ guardCollateralTokenAccount: getNextAccount(),
120
+ collateralTokenProgram: getNextAccount(),
121
+ },
122
+ data: getCancelOrderInstructionDataDecoder().decode(instruction.data),
123
+ };
124
+ }
125
+ //# sourceMappingURL=cancelOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelOrder.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/instructions/cancelOrder.ts"],"names":[],"mappings":"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"}