@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,211 @@
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
+
9
+ import { type Address, getAddressDecoder, getAddressEncoder, getProgramDerivedAddress } from '@solana/kit';
10
+ import {
11
+ type Codec,
12
+ combineCodec,
13
+ type Decoder,
14
+ type Encoder,
15
+ fixDecoderSize,
16
+ fixEncoderSize,
17
+ getBytesDecoder,
18
+ getBytesEncoder,
19
+ getStructDecoder,
20
+ getStructEncoder,
21
+ type ReadonlyUint8Array,
22
+ transformEncoder,
23
+ } from '@solana/kit';
24
+ import {
25
+ type IAccountMeta,
26
+ type IInstruction,
27
+ type IInstructionWithAccounts,
28
+ type IInstructionWithData,
29
+ type WritableAccount,
30
+ type WritableSignerAccount,
31
+ } from '@solana/kit';
32
+ import { type IAccountSignerMeta, type TransactionSigner } from '@solana/kit';
33
+ import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
34
+ import { getAccountMetaFactory, type ResolvedAccount } from '../shared/index.js';
35
+
36
+ export const SET_ADMIN_DISCRIMINATOR = new Uint8Array([251, 163, 0, 52, 91, 194, 187, 92]);
37
+
38
+ export function getSetAdminDiscriminatorBytes() {
39
+ return fixEncoderSize(getBytesEncoder(), 8).encode(SET_ADMIN_DISCRIMINATOR);
40
+ }
41
+
42
+ export type SetAdminInstruction<
43
+ TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
44
+ TAccountAdmin extends string | IAccountMeta<string> = string,
45
+ TAccountAdminSingleton extends string | IAccountMeta<string> = string,
46
+ TRemainingAccounts extends readonly IAccountMeta<string>[] = [],
47
+ > = IInstruction<TProgram> &
48
+ IInstructionWithData<Uint8Array> &
49
+ IInstructionWithAccounts<
50
+ [
51
+ TAccountAdmin extends string
52
+ ? WritableSignerAccount<TAccountAdmin> & IAccountSignerMeta<TAccountAdmin>
53
+ : TAccountAdmin,
54
+ TAccountAdminSingleton extends string ? WritableAccount<TAccountAdminSingleton> : TAccountAdminSingleton,
55
+ ...TRemainingAccounts,
56
+ ]
57
+ >;
58
+
59
+ export type SetAdminInstructionData = {
60
+ discriminator: ReadonlyUint8Array;
61
+ newAdmin: Address;
62
+ };
63
+
64
+ export type SetAdminInstructionDataArgs = { newAdmin: Address };
65
+
66
+ export function getSetAdminInstructionDataEncoder(): Encoder<SetAdminInstructionDataArgs> {
67
+ return transformEncoder(
68
+ getStructEncoder([
69
+ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
70
+ ['newAdmin', getAddressEncoder()],
71
+ ]),
72
+ (value) => ({ ...value, discriminator: SET_ADMIN_DISCRIMINATOR }),
73
+ );
74
+ }
75
+
76
+ export function getSetAdminInstructionDataDecoder(): Decoder<SetAdminInstructionData> {
77
+ return getStructDecoder([
78
+ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
79
+ ['newAdmin', getAddressDecoder()],
80
+ ]);
81
+ }
82
+
83
+ export function getSetAdminInstructionDataCodec(): Codec<SetAdminInstructionDataArgs, SetAdminInstructionData> {
84
+ return combineCodec(getSetAdminInstructionDataEncoder(), getSetAdminInstructionDataDecoder());
85
+ }
86
+
87
+ export type SetAdminAsyncInput<
88
+ TAccountAdmin extends string = string,
89
+ TAccountAdminSingleton extends string = string,
90
+ > = {
91
+ /** Admin signer */
92
+ admin: TransactionSigner<TAccountAdmin>;
93
+ /** Admin singleton account that grants access to */
94
+ adminSingleton?: Address<TAccountAdminSingleton>;
95
+ newAdmin: SetAdminInstructionDataArgs['newAdmin'];
96
+ };
97
+
98
+ export async function getSetAdminInstructionAsync<
99
+ TAccountAdmin extends string,
100
+ TAccountAdminSingleton extends string,
101
+ TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
102
+ >(
103
+ input: SetAdminAsyncInput<TAccountAdmin, TAccountAdminSingleton>,
104
+ config?: { programAddress?: TProgramAddress },
105
+ ): Promise<SetAdminInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton>> {
106
+ // Program address.
107
+ const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
108
+
109
+ // Original accounts.
110
+ const originalAccounts = {
111
+ admin: { value: input.admin ?? null, isWritable: true },
112
+ adminSingleton: { value: input.adminSingleton ?? null, isWritable: true },
113
+ };
114
+ const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
115
+
116
+ // Original args.
117
+ const args = { ...input };
118
+
119
+ // Resolve default values.
120
+ if (!accounts.adminSingleton.value) {
121
+ accounts.adminSingleton.value = await getProgramDerivedAddress({
122
+ programAddress,
123
+ seeds: [getBytesEncoder().encode(new Uint8Array([97, 100, 109, 105, 110]))],
124
+ });
125
+ }
126
+
127
+ const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
128
+ const instruction = {
129
+ accounts: [getAccountMeta(accounts.admin), getAccountMeta(accounts.adminSingleton)],
130
+ programAddress,
131
+ data: getSetAdminInstructionDataEncoder().encode(args as SetAdminInstructionDataArgs),
132
+ } as SetAdminInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton>;
133
+
134
+ return instruction;
135
+ }
136
+
137
+ export type SetAdminInput<TAccountAdmin extends string = string, TAccountAdminSingleton extends string = string> = {
138
+ /** Admin signer */
139
+ admin: TransactionSigner<TAccountAdmin>;
140
+ /** Admin singleton account that grants access to */
141
+ adminSingleton: Address<TAccountAdminSingleton>;
142
+ newAdmin: SetAdminInstructionDataArgs['newAdmin'];
143
+ };
144
+
145
+ export function getSetAdminInstruction<
146
+ TAccountAdmin extends string,
147
+ TAccountAdminSingleton extends string,
148
+ TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
149
+ >(
150
+ input: SetAdminInput<TAccountAdmin, TAccountAdminSingleton>,
151
+ config?: { programAddress?: TProgramAddress },
152
+ ): SetAdminInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton> {
153
+ // Program address.
154
+ const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
155
+
156
+ // Original accounts.
157
+ const originalAccounts = {
158
+ admin: { value: input.admin ?? null, isWritable: true },
159
+ adminSingleton: { value: input.adminSingleton ?? null, isWritable: true },
160
+ };
161
+ const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
162
+
163
+ // Original args.
164
+ const args = { ...input };
165
+
166
+ const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
167
+ const instruction = {
168
+ accounts: [getAccountMeta(accounts.admin), getAccountMeta(accounts.adminSingleton)],
169
+ programAddress,
170
+ data: getSetAdminInstructionDataEncoder().encode(args as SetAdminInstructionDataArgs),
171
+ } as SetAdminInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton>;
172
+
173
+ return instruction;
174
+ }
175
+
176
+ export type ParsedSetAdminInstruction<
177
+ TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
178
+ TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[],
179
+ > = {
180
+ programAddress: Address<TProgram>;
181
+ accounts: {
182
+ /** Admin signer */
183
+ admin: TAccountMetas[0];
184
+ /** Admin singleton account that grants access to */
185
+ adminSingleton: TAccountMetas[1];
186
+ };
187
+ data: SetAdminInstructionData;
188
+ };
189
+
190
+ export function parseSetAdminInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(
191
+ instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>,
192
+ ): ParsedSetAdminInstruction<TProgram, TAccountMetas> {
193
+ if (instruction.accounts.length < 2) {
194
+ // TODO: Coded error.
195
+ throw new Error('Not enough accounts');
196
+ }
197
+ let accountIndex = 0;
198
+ const getNextAccount = () => {
199
+ const accountMeta = instruction.accounts![accountIndex]!;
200
+ accountIndex += 1;
201
+ return accountMeta;
202
+ };
203
+ return {
204
+ programAddress: instruction.programAddress,
205
+ accounts: {
206
+ admin: getNextAccount(),
207
+ adminSingleton: getNextAccount(),
208
+ },
209
+ data: getSetAdminInstructionDataDecoder().decode(instruction.data),
210
+ };
211
+ }
@@ -0,0 +1,241 @@
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
+
9
+ import { type Address, getAddressDecoder, getAddressEncoder, getProgramDerivedAddress } from '@solana/kit';
10
+ import {
11
+ type Codec,
12
+ combineCodec,
13
+ type Decoder,
14
+ type Encoder,
15
+ fixDecoderSize,
16
+ fixEncoderSize,
17
+ getBytesDecoder,
18
+ getBytesEncoder,
19
+ getStructDecoder,
20
+ getStructEncoder,
21
+ type ReadonlyUint8Array,
22
+ transformEncoder,
23
+ } from '@solana/kit';
24
+ import {
25
+ type IAccountMeta,
26
+ type IInstruction,
27
+ type IInstructionWithAccounts,
28
+ type IInstructionWithData,
29
+ type ReadonlyAccount,
30
+ type WritableAccount,
31
+ type WritableSignerAccount,
32
+ } from '@solana/kit';
33
+ import { type IAccountSignerMeta, type TransactionSigner } from '@solana/kit';
34
+ import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
35
+ import { getAccountMetaFactory, type ResolvedAccount } from '../shared/index.js';
36
+
37
+ export const SET_AUCTIONEER_PUB_KEY_DISCRIMINATOR = new Uint8Array([153, 39, 10, 108, 220, 0, 84, 47]);
38
+
39
+ export function getSetAuctioneerPubKeyDiscriminatorBytes() {
40
+ return fixEncoderSize(getBytesEncoder(), 8).encode(SET_AUCTIONEER_PUB_KEY_DISCRIMINATOR);
41
+ }
42
+
43
+ export type SetAuctioneerPubKeyInstruction<
44
+ TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
45
+ TAccountAdmin extends string | IAccountMeta<string> = string,
46
+ TAccountAdminSingleton extends string | IAccountMeta<string> = string,
47
+ TAccountGuard extends string | IAccountMeta<string> = string,
48
+ TRemainingAccounts extends readonly IAccountMeta<string>[] = [],
49
+ > = IInstruction<TProgram> &
50
+ IInstructionWithData<Uint8Array> &
51
+ IInstructionWithAccounts<
52
+ [
53
+ TAccountAdmin extends string
54
+ ? WritableSignerAccount<TAccountAdmin> & IAccountSignerMeta<TAccountAdmin>
55
+ : TAccountAdmin,
56
+ TAccountAdminSingleton extends string ? ReadonlyAccount<TAccountAdminSingleton> : TAccountAdminSingleton,
57
+ TAccountGuard extends string ? WritableAccount<TAccountGuard> : TAccountGuard,
58
+ ...TRemainingAccounts,
59
+ ]
60
+ >;
61
+
62
+ export type SetAuctioneerPubKeyInstructionData = {
63
+ discriminator: ReadonlyUint8Array;
64
+ auctioneerPubKey: Address;
65
+ };
66
+
67
+ export type SetAuctioneerPubKeyInstructionDataArgs = {
68
+ auctioneerPubKey: Address;
69
+ };
70
+
71
+ export function getSetAuctioneerPubKeyInstructionDataEncoder(): Encoder<SetAuctioneerPubKeyInstructionDataArgs> {
72
+ return transformEncoder(
73
+ getStructEncoder([
74
+ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
75
+ ['auctioneerPubKey', getAddressEncoder()],
76
+ ]),
77
+ (value) => ({
78
+ ...value,
79
+ discriminator: SET_AUCTIONEER_PUB_KEY_DISCRIMINATOR,
80
+ }),
81
+ );
82
+ }
83
+
84
+ export function getSetAuctioneerPubKeyInstructionDataDecoder(): Decoder<SetAuctioneerPubKeyInstructionData> {
85
+ return getStructDecoder([
86
+ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
87
+ ['auctioneerPubKey', getAddressDecoder()],
88
+ ]);
89
+ }
90
+
91
+ export function getSetAuctioneerPubKeyInstructionDataCodec(): Codec<
92
+ SetAuctioneerPubKeyInstructionDataArgs,
93
+ SetAuctioneerPubKeyInstructionData
94
+ > {
95
+ return combineCodec(getSetAuctioneerPubKeyInstructionDataEncoder(), getSetAuctioneerPubKeyInstructionDataDecoder());
96
+ }
97
+
98
+ export type SetAuctioneerPubKeyAsyncInput<
99
+ TAccountAdmin extends string = string,
100
+ TAccountAdminSingleton extends string = string,
101
+ TAccountGuard extends string = string,
102
+ > = {
103
+ /** Admin signer */
104
+ admin: TransactionSigner<TAccountAdmin>;
105
+ /** Admin singleton account that grants access to */
106
+ adminSingleton?: Address<TAccountAdminSingleton>;
107
+ /** Guard account */
108
+ guard: Address<TAccountGuard>;
109
+ auctioneerPubKey: SetAuctioneerPubKeyInstructionDataArgs['auctioneerPubKey'];
110
+ };
111
+
112
+ export async function getSetAuctioneerPubKeyInstructionAsync<
113
+ TAccountAdmin extends string,
114
+ TAccountAdminSingleton extends string,
115
+ TAccountGuard extends string,
116
+ TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
117
+ >(
118
+ input: SetAuctioneerPubKeyAsyncInput<TAccountAdmin, TAccountAdminSingleton, TAccountGuard>,
119
+ config?: { programAddress?: TProgramAddress },
120
+ ): Promise<SetAuctioneerPubKeyInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton, TAccountGuard>> {
121
+ // Program address.
122
+ const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
123
+
124
+ // Original accounts.
125
+ const originalAccounts = {
126
+ admin: { value: input.admin ?? null, isWritable: true },
127
+ adminSingleton: { value: input.adminSingleton ?? null, isWritable: false },
128
+ guard: { value: input.guard ?? null, isWritable: true },
129
+ };
130
+ const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
131
+
132
+ // Original args.
133
+ const args = { ...input };
134
+
135
+ // Resolve default values.
136
+ if (!accounts.adminSingleton.value) {
137
+ accounts.adminSingleton.value = await getProgramDerivedAddress({
138
+ programAddress,
139
+ seeds: [getBytesEncoder().encode(new Uint8Array([97, 100, 109, 105, 110]))],
140
+ });
141
+ }
142
+
143
+ const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
144
+ const instruction = {
145
+ accounts: [getAccountMeta(accounts.admin), getAccountMeta(accounts.adminSingleton), getAccountMeta(accounts.guard)],
146
+ programAddress,
147
+ data: getSetAuctioneerPubKeyInstructionDataEncoder().encode(args as SetAuctioneerPubKeyInstructionDataArgs),
148
+ } as SetAuctioneerPubKeyInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton, TAccountGuard>;
149
+
150
+ return instruction;
151
+ }
152
+
153
+ export type SetAuctioneerPubKeyInput<
154
+ TAccountAdmin extends string = string,
155
+ TAccountAdminSingleton extends string = string,
156
+ TAccountGuard extends string = string,
157
+ > = {
158
+ /** Admin signer */
159
+ admin: TransactionSigner<TAccountAdmin>;
160
+ /** Admin singleton account that grants access to */
161
+ adminSingleton: Address<TAccountAdminSingleton>;
162
+ /** Guard account */
163
+ guard: Address<TAccountGuard>;
164
+ auctioneerPubKey: SetAuctioneerPubKeyInstructionDataArgs['auctioneerPubKey'];
165
+ };
166
+
167
+ export function getSetAuctioneerPubKeyInstruction<
168
+ TAccountAdmin extends string,
169
+ TAccountAdminSingleton extends string,
170
+ TAccountGuard extends string,
171
+ TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
172
+ >(
173
+ input: SetAuctioneerPubKeyInput<TAccountAdmin, TAccountAdminSingleton, TAccountGuard>,
174
+ config?: { programAddress?: TProgramAddress },
175
+ ): SetAuctioneerPubKeyInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton, TAccountGuard> {
176
+ // Program address.
177
+ const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
178
+
179
+ // Original accounts.
180
+ const originalAccounts = {
181
+ admin: { value: input.admin ?? null, isWritable: true },
182
+ adminSingleton: { value: input.adminSingleton ?? null, isWritable: false },
183
+ guard: { value: input.guard ?? null, isWritable: true },
184
+ };
185
+ const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
186
+
187
+ // Original args.
188
+ const args = { ...input };
189
+
190
+ const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
191
+ const instruction = {
192
+ accounts: [getAccountMeta(accounts.admin), getAccountMeta(accounts.adminSingleton), getAccountMeta(accounts.guard)],
193
+ programAddress,
194
+ data: getSetAuctioneerPubKeyInstructionDataEncoder().encode(args as SetAuctioneerPubKeyInstructionDataArgs),
195
+ } as SetAuctioneerPubKeyInstruction<TProgramAddress, TAccountAdmin, TAccountAdminSingleton, TAccountGuard>;
196
+
197
+ return instruction;
198
+ }
199
+
200
+ export type ParsedSetAuctioneerPubKeyInstruction<
201
+ TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
202
+ TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[],
203
+ > = {
204
+ programAddress: Address<TProgram>;
205
+ accounts: {
206
+ /** Admin signer */
207
+ admin: TAccountMetas[0];
208
+ /** Admin singleton account that grants access to */
209
+ adminSingleton: TAccountMetas[1];
210
+ /** Guard account */
211
+ guard: TAccountMetas[2];
212
+ };
213
+ data: SetAuctioneerPubKeyInstructionData;
214
+ };
215
+
216
+ export function parseSetAuctioneerPubKeyInstruction<
217
+ TProgram extends string,
218
+ TAccountMetas extends readonly IAccountMeta[],
219
+ >(
220
+ instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>,
221
+ ): ParsedSetAuctioneerPubKeyInstruction<TProgram, TAccountMetas> {
222
+ if (instruction.accounts.length < 3) {
223
+ // TODO: Coded error.
224
+ throw new Error('Not enough accounts');
225
+ }
226
+ let accountIndex = 0;
227
+ const getNextAccount = () => {
228
+ const accountMeta = instruction.accounts![accountIndex]!;
229
+ accountIndex += 1;
230
+ return accountMeta;
231
+ };
232
+ return {
233
+ programAddress: instruction.programAddress,
234
+ accounts: {
235
+ admin: getNextAccount(),
236
+ adminSingleton: getNextAccount(),
237
+ guard: getNextAccount(),
238
+ },
239
+ data: getSetAuctioneerPubKeyInstructionDataDecoder().decode(instruction.data),
240
+ };
241
+ }