@layerzerolabs/lz-solana-sdk-v2 3.0.53 → 3.0.56

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 (604) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/index.cjs +2764 -4309
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.mts +14 -115
  5. package/dist/index.d.ts +14 -115
  6. package/dist/index.mjs +2764 -4307
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/umi.cjs +14486 -0
  9. package/dist/umi.cjs.map +1 -0
  10. package/dist/umi.d.mts +8807 -0
  11. package/dist/umi.d.ts +8807 -0
  12. package/dist/umi.mjs +14401 -0
  13. package/dist/umi.mjs.map +1 -0
  14. package/package.json +26 -10
  15. package/src/deployment.test.ts +1 -1
  16. package/src/deployment.ts +2 -2
  17. package/src/dvn.ts +248 -449
  18. package/src/endpoint.ts +793 -964
  19. package/src/executor.ts +286 -413
  20. package/src/generated/kinobi/blocked_messagelib/errors/blockedMessagelib.ts +42 -0
  21. package/src/generated/kinobi/blocked_messagelib/errors/index.ts +9 -0
  22. package/src/generated/kinobi/blocked_messagelib/index.ts +12 -0
  23. package/src/generated/kinobi/blocked_messagelib/instructions/index.ts +9 -0
  24. package/src/generated/kinobi/blocked_messagelib/instructions/version.ts +80 -0
  25. package/src/generated/kinobi/blocked_messagelib/programs/blockedMessagelib.ts +55 -0
  26. package/src/generated/kinobi/blocked_messagelib/programs/index.ts +9 -0
  27. package/src/generated/kinobi/blocked_messagelib/shared/index.ts +117 -0
  28. package/src/generated/kinobi/dvn/accounts/dvnConfig.ts +199 -0
  29. package/src/generated/kinobi/dvn/accounts/executeHash.ts +148 -0
  30. package/src/generated/kinobi/dvn/accounts/index.ts +11 -0
  31. package/src/generated/kinobi/dvn/accounts/receiveConfig.ts +154 -0
  32. package/src/generated/kinobi/dvn/errors/dvn.ts +263 -0
  33. package/src/generated/kinobi/dvn/errors/index.ts +9 -0
  34. package/src/generated/kinobi/dvn/events/adminConfigSetEvent.ts +23 -0
  35. package/src/generated/kinobi/dvn/events/feeWithdrawnEvent.ts +35 -0
  36. package/src/generated/kinobi/dvn/events/index.ts +3 -0
  37. package/src/generated/kinobi/dvn/events/multisigConfigSetEvent.ts +28 -0
  38. package/src/generated/kinobi/dvn/index.ts +14 -0
  39. package/src/generated/kinobi/dvn/instructions/closeExecute.ts +126 -0
  40. package/src/generated/kinobi/dvn/instructions/index.ts +15 -0
  41. package/src/generated/kinobi/dvn/instructions/initDvn.ts +155 -0
  42. package/src/generated/kinobi/dvn/instructions/invoke.ts +161 -0
  43. package/src/generated/kinobi/dvn/instructions/quoteDvn.ts +150 -0
  44. package/src/generated/kinobi/dvn/instructions/setConfig.ts +138 -0
  45. package/src/generated/kinobi/dvn/instructions/verifiable.ts +139 -0
  46. package/src/generated/kinobi/dvn/instructions/withdrawFee.ts +139 -0
  47. package/src/generated/kinobi/dvn/programs/dvn.ts +48 -0
  48. package/src/generated/kinobi/dvn/programs/index.ts +9 -0
  49. package/src/generated/kinobi/dvn/shared/index.ts +117 -0
  50. package/src/generated/kinobi/dvn/types/acl.ts +29 -0
  51. package/src/generated/kinobi/dvn/types/adminConfig.ts +116 -0
  52. package/src/generated/kinobi/dvn/types/dstConfig.ts +43 -0
  53. package/src/generated/kinobi/dvn/types/executeTransactionDigest.ts +55 -0
  54. package/src/generated/kinobi/dvn/types/index.ts +18 -0
  55. package/src/generated/kinobi/dvn/types/lzOption.ts +29 -0
  56. package/src/generated/kinobi/dvn/types/multisig.ts +29 -0
  57. package/src/generated/kinobi/dvn/types/multisigConfig.ts +130 -0
  58. package/src/generated/kinobi/dvn/types/transactionAccount.ts +37 -0
  59. package/src/generated/kinobi/dvn/types/ulnConfig.ts +49 -0
  60. package/src/generated/kinobi/dvn/types/verificationState.ts +28 -0
  61. package/src/generated/kinobi/endpoint/accounts/composeMessageState.ts +166 -0
  62. package/src/generated/kinobi/endpoint/accounts/endpointSettings.ts +171 -0
  63. package/src/generated/kinobi/endpoint/accounts/index.ts +17 -0
  64. package/src/generated/kinobi/endpoint/accounts/messageLibInfo.ts +170 -0
  65. package/src/generated/kinobi/endpoint/accounts/nonce.ts +151 -0
  66. package/src/generated/kinobi/endpoint/accounts/oAppRegistry.ts +151 -0
  67. package/src/generated/kinobi/endpoint/accounts/payloadHash.ts +144 -0
  68. package/src/generated/kinobi/endpoint/accounts/pendingInboundNonce.ts +163 -0
  69. package/src/generated/kinobi/endpoint/accounts/receiveLibraryConfig.ts +175 -0
  70. package/src/generated/kinobi/endpoint/accounts/sendLibraryConfig.ts +167 -0
  71. package/src/generated/kinobi/endpoint/errors/endpoint.ts +276 -0
  72. package/src/generated/kinobi/endpoint/errors/index.ts +9 -0
  73. package/src/generated/kinobi/endpoint/events/adminTransferredEvent.ts +27 -0
  74. package/src/generated/kinobi/endpoint/events/composeDeliveredEvent.ts +40 -0
  75. package/src/generated/kinobi/endpoint/events/composeSentEvent.ts +43 -0
  76. package/src/generated/kinobi/endpoint/events/defaultReceiveLibrarySetEvent.ts +35 -0
  77. package/src/generated/kinobi/endpoint/events/defaultReceiveLibraryTimeoutSetEvent.ts +46 -0
  78. package/src/generated/kinobi/endpoint/events/defaultSendLibrarySetEvent.ts +32 -0
  79. package/src/generated/kinobi/endpoint/events/delegateSetEvent.ts +27 -0
  80. package/src/generated/kinobi/endpoint/events/inboundNonceSkippedEvent.ts +46 -0
  81. package/src/generated/kinobi/endpoint/events/index.ts +22 -0
  82. package/src/generated/kinobi/endpoint/events/libraryRegisteredEvent.ts +34 -0
  83. package/src/generated/kinobi/endpoint/events/lzComposeAlertEvent.ts +65 -0
  84. package/src/generated/kinobi/endpoint/events/lzReceiveAlertEvent.ts +67 -0
  85. package/src/generated/kinobi/endpoint/events/lzTokenSetEvent.ts +28 -0
  86. package/src/generated/kinobi/endpoint/events/oAppRegisteredEvent.ts +31 -0
  87. package/src/generated/kinobi/endpoint/events/packetBurntEvent.ts +49 -0
  88. package/src/generated/kinobi/endpoint/events/packetDeliveredEvent.ts +46 -0
  89. package/src/generated/kinobi/endpoint/events/packetNilifiedEvent.ts +49 -0
  90. package/src/generated/kinobi/endpoint/events/packetSentEvent.ts +38 -0
  91. package/src/generated/kinobi/endpoint/events/packetVerifiedEvent.ts +49 -0
  92. package/src/generated/kinobi/endpoint/events/receiveLibrarySetEvent.ts +37 -0
  93. package/src/generated/kinobi/endpoint/events/receiveLibraryTimeoutSetEvent.ts +50 -0
  94. package/src/generated/kinobi/endpoint/events/rentWithdrawnEvent.ts +35 -0
  95. package/src/generated/kinobi/endpoint/events/sendLibrarySetEvent.ts +37 -0
  96. package/src/generated/kinobi/endpoint/index.ts +14 -0
  97. package/src/generated/kinobi/endpoint/instructions/burn.ts +166 -0
  98. package/src/generated/kinobi/endpoint/instructions/clear.ts +169 -0
  99. package/src/generated/kinobi/endpoint/instructions/clearCompose.ts +142 -0
  100. package/src/generated/kinobi/endpoint/instructions/index.ts +40 -0
  101. package/src/generated/kinobi/endpoint/instructions/initConfig.ts +145 -0
  102. package/src/generated/kinobi/endpoint/instructions/initDefaultReceiveLibrary.ts +172 -0
  103. package/src/generated/kinobi/endpoint/instructions/initDefaultSendLibrary.ts +171 -0
  104. package/src/generated/kinobi/endpoint/instructions/initEndpoint.ts +142 -0
  105. package/src/generated/kinobi/endpoint/instructions/initNonce.ts +158 -0
  106. package/src/generated/kinobi/endpoint/instructions/initReceiveLibrary.ts +154 -0
  107. package/src/generated/kinobi/endpoint/instructions/initSendLibrary.ts +152 -0
  108. package/src/generated/kinobi/endpoint/instructions/initVerify.ts +159 -0
  109. package/src/generated/kinobi/endpoint/instructions/lzComposeAlert.ts +159 -0
  110. package/src/generated/kinobi/endpoint/instructions/lzReceiveAlert.ts +161 -0
  111. package/src/generated/kinobi/endpoint/instructions/nilify.ts +165 -0
  112. package/src/generated/kinobi/endpoint/instructions/quote.ts +160 -0
  113. package/src/generated/kinobi/endpoint/instructions/registerLibrary.ts +167 -0
  114. package/src/generated/kinobi/endpoint/instructions/registerOapp.ts +154 -0
  115. package/src/generated/kinobi/endpoint/instructions/send.ts +178 -0
  116. package/src/generated/kinobi/endpoint/instructions/sendCompose.ts +166 -0
  117. package/src/generated/kinobi/endpoint/instructions/setConfig.ts +154 -0
  118. package/src/generated/kinobi/endpoint/instructions/setDefaultReceiveLibrary.ts +160 -0
  119. package/src/generated/kinobi/endpoint/instructions/setDefaultReceiveLibraryTimeout.ts +163 -0
  120. package/src/generated/kinobi/endpoint/instructions/setDefaultSendLibrary.ts +156 -0
  121. package/src/generated/kinobi/endpoint/instructions/setDelegate.ts +130 -0
  122. package/src/generated/kinobi/endpoint/instructions/setLzToken.ts +138 -0
  123. package/src/generated/kinobi/endpoint/instructions/setReceiveLibrary.ts +163 -0
  124. package/src/generated/kinobi/endpoint/instructions/setReceiveLibraryTimeout.ts +164 -0
  125. package/src/generated/kinobi/endpoint/instructions/setSendLibrary.ts +158 -0
  126. package/src/generated/kinobi/endpoint/instructions/skip.ts +173 -0
  127. package/src/generated/kinobi/endpoint/instructions/transferAdmin.ts +137 -0
  128. package/src/generated/kinobi/endpoint/instructions/verify.ts +171 -0
  129. package/src/generated/kinobi/endpoint/instructions/withdrawRent.ts +139 -0
  130. package/src/generated/kinobi/endpoint/programs/endpoint.ts +52 -0
  131. package/src/generated/kinobi/endpoint/programs/index.ts +9 -0
  132. package/src/generated/kinobi/endpoint/shared/index.ts +117 -0
  133. package/src/generated/kinobi/endpoint/types/index.ts +12 -0
  134. package/src/generated/kinobi/endpoint/types/messageLibType.ts +26 -0
  135. package/src/generated/kinobi/endpoint/types/messagingFee.ts +29 -0
  136. package/src/generated/kinobi/endpoint/types/messagingReceipt.ts +41 -0
  137. package/src/generated/kinobi/endpoint/types/receiveLibraryTimeout.ts +35 -0
  138. package/src/generated/kinobi/executor/accounts/executorConfig.ts +208 -0
  139. package/src/generated/kinobi/executor/accounts/index.ts +10 -0
  140. package/src/generated/kinobi/executor/accounts/nonce.ts +151 -0
  141. package/src/generated/kinobi/executor/errors/executor.ts +279 -0
  142. package/src/generated/kinobi/executor/errors/index.ts +9 -0
  143. package/src/generated/kinobi/executor/events/index.ts +1 -0
  144. package/src/generated/kinobi/executor/events/nativeDropAppliedEvent.ts +62 -0
  145. package/src/generated/kinobi/executor/index.ts +14 -0
  146. package/src/generated/kinobi/executor/instructions/adminSetConfig.ts +130 -0
  147. package/src/generated/kinobi/executor/instructions/compose.ts +155 -0
  148. package/src/generated/kinobi/executor/instructions/executable.ts +134 -0
  149. package/src/generated/kinobi/executor/instructions/execute.ts +159 -0
  150. package/src/generated/kinobi/executor/instructions/index.ts +16 -0
  151. package/src/generated/kinobi/executor/instructions/initExecutor.ts +154 -0
  152. package/src/generated/kinobi/executor/instructions/nativeDrop.ts +174 -0
  153. package/src/generated/kinobi/executor/instructions/ownerSetConfig.ts +130 -0
  154. package/src/generated/kinobi/executor/instructions/quoteExecutor.ts +147 -0
  155. package/src/generated/kinobi/executor/programs/executor.ts +52 -0
  156. package/src/generated/kinobi/executor/programs/index.ts +9 -0
  157. package/src/generated/kinobi/executor/shared/index.ts +117 -0
  158. package/src/generated/kinobi/executor/types/acl.ts +29 -0
  159. package/src/generated/kinobi/executor/types/adminSetConfigParams.ts +92 -0
  160. package/src/generated/kinobi/executor/types/dstConfig.ts +49 -0
  161. package/src/generated/kinobi/executor/types/executionState.ts +27 -0
  162. package/src/generated/kinobi/executor/types/index.ts +17 -0
  163. package/src/generated/kinobi/executor/types/lzComposeParams.ts +45 -0
  164. package/src/generated/kinobi/executor/types/lzOption.ts +29 -0
  165. package/src/generated/kinobi/executor/types/lzReceiveParams.ts +50 -0
  166. package/src/generated/kinobi/executor/types/nativeDropRequest.ts +35 -0
  167. package/src/generated/kinobi/executor/types/ownerSetConfigParams.ts +129 -0
  168. package/src/generated/kinobi/pricefeed/accounts/index.ts +9 -0
  169. package/src/generated/kinobi/pricefeed/accounts/priceFeed.ts +175 -0
  170. package/src/generated/kinobi/pricefeed/errors/index.ts +9 -0
  171. package/src/generated/kinobi/pricefeed/errors/pricefeed.ts +94 -0
  172. package/src/generated/kinobi/pricefeed/index.ts +14 -0
  173. package/src/generated/kinobi/pricefeed/instructions/getFee.ts +120 -0
  174. package/src/generated/kinobi/pricefeed/instructions/index.ts +14 -0
  175. package/src/generated/kinobi/pricefeed/instructions/initPriceFeed.ts +148 -0
  176. package/src/generated/kinobi/pricefeed/instructions/setPrice.ts +134 -0
  177. package/src/generated/kinobi/pricefeed/instructions/setPriceFeed.ts +131 -0
  178. package/src/generated/kinobi/pricefeed/instructions/setSolPrice.ts +126 -0
  179. package/src/generated/kinobi/pricefeed/instructions/transferAdmin.ts +125 -0
  180. package/src/generated/kinobi/pricefeed/programs/index.ts +9 -0
  181. package/src/generated/kinobi/pricefeed/programs/pricefeed.ts +55 -0
  182. package/src/generated/kinobi/pricefeed/shared/index.ts +117 -0
  183. package/src/generated/kinobi/pricefeed/types/index.ts +11 -0
  184. package/src/generated/kinobi/pricefeed/types/modelType.ts +74 -0
  185. package/src/generated/kinobi/pricefeed/types/price.ts +47 -0
  186. package/src/generated/kinobi/pricefeed/types/priceParams.ts +47 -0
  187. package/src/generated/kinobi/simple_messagelib/accounts/index.ts +11 -0
  188. package/src/generated/kinobi/simple_messagelib/accounts/messageLib.ts +180 -0
  189. package/src/generated/kinobi/simple_messagelib/accounts/receiveConfigStore.ts +162 -0
  190. package/src/generated/kinobi/simple_messagelib/accounts/sendConfigStore.ts +154 -0
  191. package/src/generated/kinobi/simple_messagelib/errors/index.ts +9 -0
  192. package/src/generated/kinobi/simple_messagelib/errors/simpleMessagelib.ts +146 -0
  193. package/src/generated/kinobi/simple_messagelib/index.ts +14 -0
  194. package/src/generated/kinobi/simple_messagelib/instructions/index.ts +23 -0
  195. package/src/generated/kinobi/simple_messagelib/instructions/initConfig.ts +160 -0
  196. package/src/generated/kinobi/simple_messagelib/instructions/initDefaultConfig.ts +164 -0
  197. package/src/generated/kinobi/simple_messagelib/instructions/initMessageLib.ts +161 -0
  198. package/src/generated/kinobi/simple_messagelib/instructions/quote.ts +128 -0
  199. package/src/generated/kinobi/simple_messagelib/instructions/revertCall.ts +84 -0
  200. package/src/generated/kinobi/simple_messagelib/instructions/send.ts +155 -0
  201. package/src/generated/kinobi/simple_messagelib/instructions/sendWithLzToken.ts +202 -0
  202. package/src/generated/kinobi/simple_messagelib/instructions/setConfig.ts +145 -0
  203. package/src/generated/kinobi/simple_messagelib/instructions/setDefaultConfig.ts +164 -0
  204. package/src/generated/kinobi/simple_messagelib/instructions/setFee.ts +122 -0
  205. package/src/generated/kinobi/simple_messagelib/instructions/setWlCaller.ts +121 -0
  206. package/src/generated/kinobi/simple_messagelib/instructions/transferAdmin.ts +125 -0
  207. package/src/generated/kinobi/simple_messagelib/instructions/validatePacket.ts +129 -0
  208. package/src/generated/kinobi/simple_messagelib/instructions/version.ts +80 -0
  209. package/src/generated/kinobi/simple_messagelib/instructions/withdrawFees.ts +127 -0
  210. package/src/generated/kinobi/simple_messagelib/programs/index.ts +9 -0
  211. package/src/generated/kinobi/simple_messagelib/programs/simpleMessagelib.ts +55 -0
  212. package/src/generated/kinobi/simple_messagelib/shared/index.ts +117 -0
  213. package/src/generated/kinobi/simple_messagelib/types/index.ts +11 -0
  214. package/src/generated/kinobi/simple_messagelib/types/messagingFee.ts +29 -0
  215. package/src/generated/kinobi/simple_messagelib/types/packet.ts +52 -0
  216. package/src/generated/kinobi/simple_messagelib/types/version.ts +33 -0
  217. package/src/generated/kinobi/uln/accounts/confirmations.ts +160 -0
  218. package/src/generated/kinobi/uln/accounts/index.ts +12 -0
  219. package/src/generated/kinobi/uln/accounts/receiveConfig.ts +154 -0
  220. package/src/generated/kinobi/uln/accounts/sendConfig.ts +156 -0
  221. package/src/generated/kinobi/uln/accounts/ulnSettings.ts +169 -0
  222. package/src/generated/kinobi/uln/errors/index.ts +9 -0
  223. package/src/generated/kinobi/uln/errors/uln.ts +474 -0
  224. package/src/generated/kinobi/uln/events/adminTransferredEvent.ts +27 -0
  225. package/src/generated/kinobi/uln/events/configSetEvent.ts +38 -0
  226. package/src/generated/kinobi/uln/events/defaultConfigSetEvent.ts +52 -0
  227. package/src/generated/kinobi/uln/events/feesPaidEvent.ts +49 -0
  228. package/src/generated/kinobi/uln/events/index.ts +7 -0
  229. package/src/generated/kinobi/uln/events/payloadVerifiedEvent.ts +47 -0
  230. package/src/generated/kinobi/uln/events/rentWithdrawnEvent.ts +35 -0
  231. package/src/generated/kinobi/uln/events/treasurySetEvent.ts +29 -0
  232. package/src/generated/kinobi/uln/index.ts +14 -0
  233. package/src/generated/kinobi/uln/instructions/closeVerify.ts +127 -0
  234. package/src/generated/kinobi/uln/instructions/commitVerification.ts +134 -0
  235. package/src/generated/kinobi/uln/instructions/index.ts +24 -0
  236. package/src/generated/kinobi/uln/instructions/initConfig.ts +156 -0
  237. package/src/generated/kinobi/uln/instructions/initDefaultConfig.ts +179 -0
  238. package/src/generated/kinobi/uln/instructions/initUln.ts +143 -0
  239. package/src/generated/kinobi/uln/instructions/initVerify.ts +149 -0
  240. package/src/generated/kinobi/uln/instructions/quote.ts +136 -0
  241. package/src/generated/kinobi/uln/instructions/send.ts +181 -0
  242. package/src/generated/kinobi/uln/instructions/sendWithLzToken.ts +226 -0
  243. package/src/generated/kinobi/uln/instructions/setConfig.ts +165 -0
  244. package/src/generated/kinobi/uln/instructions/setDefaultConfig.ts +167 -0
  245. package/src/generated/kinobi/uln/instructions/setTreasury.ts +135 -0
  246. package/src/generated/kinobi/uln/instructions/transferAdmin.ts +133 -0
  247. package/src/generated/kinobi/uln/instructions/verify.ts +140 -0
  248. package/src/generated/kinobi/uln/instructions/version.ts +80 -0
  249. package/src/generated/kinobi/uln/instructions/withdrawRent.ts +135 -0
  250. package/src/generated/kinobi/uln/programs/index.ts +9 -0
  251. package/src/generated/kinobi/uln/programs/uln.ts +48 -0
  252. package/src/generated/kinobi/uln/shared/index.ts +117 -0
  253. package/src/generated/kinobi/uln/types/config.ts +88 -0
  254. package/src/generated/kinobi/uln/types/executorConfig.ts +32 -0
  255. package/src/generated/kinobi/uln/types/index.ts +18 -0
  256. package/src/generated/kinobi/uln/types/lzTokenTreasury.ts +32 -0
  257. package/src/generated/kinobi/uln/types/messagingFee.ts +29 -0
  258. package/src/generated/kinobi/uln/types/packet.ts +52 -0
  259. package/src/generated/kinobi/uln/types/treasury.ts +47 -0
  260. package/src/generated/kinobi/uln/types/treasuryFee.ts +42 -0
  261. package/src/generated/kinobi/uln/types/ulnConfig.ts +49 -0
  262. package/src/generated/kinobi/uln/types/version.ts +33 -0
  263. package/src/generated/kinobi/uln/types/workerFee.ts +29 -0
  264. package/src/generated/kinobi/worker_interface/errors/index.ts +9 -0
  265. package/src/generated/kinobi/worker_interface/errors/workerInterface.ts +68 -0
  266. package/src/generated/kinobi/worker_interface/index.ts +13 -0
  267. package/src/generated/kinobi/worker_interface/instructions/index.ts +10 -0
  268. package/src/generated/kinobi/worker_interface/instructions/quoteDvn.ts +150 -0
  269. package/src/generated/kinobi/worker_interface/instructions/quoteExecutor.ts +147 -0
  270. package/src/generated/kinobi/worker_interface/programs/index.ts +9 -0
  271. package/src/generated/kinobi/worker_interface/programs/workerInterface.ts +55 -0
  272. package/src/generated/kinobi/worker_interface/shared/index.ts +117 -0
  273. package/src/generated/kinobi/worker_interface/types/index.ts +9 -0
  274. package/src/generated/kinobi/worker_interface/types/lzOption.ts +29 -0
  275. package/src/index.ts +31 -47
  276. package/src/next_nonce.ts +107 -0
  277. package/src/pda.ts +328 -0
  278. package/src/pricefeed.ts +115 -168
  279. package/src/receive.ts +285 -0
  280. package/src/send-helper.ts +269 -188
  281. package/src/simple-message-lib.ts +254 -146
  282. package/src/{base-oapp.ts → solita/base-oapp.ts} +2 -3
  283. package/src/solita/config.ts +32 -0
  284. package/src/solita/deployment.ts +128 -0
  285. package/src/solita/dvn.ts +606 -0
  286. package/src/solita/endpoint.ts +1517 -0
  287. package/src/solita/executor.ts +577 -0
  288. package/src/solita/index.ts +100 -0
  289. package/src/solita/pricefeed.ts +208 -0
  290. package/src/{recevie.ts → solita/recevie.ts} +2 -3
  291. package/src/solita/send-helper.ts +503 -0
  292. package/src/solita/simple-message-lib.ts +302 -0
  293. package/src/solita/types.ts +222 -0
  294. package/src/solita/uln.ts +1045 -0
  295. package/src/solita/utility.ts +589 -0
  296. package/src/types.ts +59 -65
  297. package/src/uln.ts +495 -466
  298. package/src/utility.ts +226 -180
  299. /package/src/generated/{blocked_messagelib → solita/blocked_messagelib}/index.ts +0 -0
  300. /package/src/generated/{blocked_messagelib → solita/blocked_messagelib}/instructions/index.ts +0 -0
  301. /package/src/generated/{blocked_messagelib → solita/blocked_messagelib}/instructions/version.ts +0 -0
  302. /package/src/generated/{dvn → solita/dvn}/accounts/DvnConfig.ts +0 -0
  303. /package/src/generated/{dvn → solita/dvn}/accounts/ExecuteHash.ts +0 -0
  304. /package/src/generated/{dvn → solita/dvn}/accounts/ReceiveConfig.ts +0 -0
  305. /package/src/generated/{dvn → solita/dvn}/accounts/index.ts +0 -0
  306. /package/src/generated/{dvn → solita/dvn}/errors/index.ts +0 -0
  307. /package/src/generated/{dvn → solita/dvn}/events/AdminConfigSetEvent.ts +0 -0
  308. /package/src/generated/{dvn → solita/dvn}/events/FeeWithdrawnEvent.ts +0 -0
  309. /package/src/generated/{dvn → solita/dvn}/events/MultisigConfigSetEvent.ts +0 -0
  310. /package/src/generated/{dvn → solita/dvn}/events/index.ts +0 -0
  311. /package/src/generated/{dvn → solita/dvn}/index.ts +0 -0
  312. /package/src/generated/{dvn → solita/dvn}/instructions/closeExecute.ts +0 -0
  313. /package/src/generated/{dvn → solita/dvn}/instructions/index.ts +0 -0
  314. /package/src/generated/{dvn → solita/dvn}/instructions/initDvn.ts +0 -0
  315. /package/src/generated/{dvn → solita/dvn}/instructions/invoke.ts +0 -0
  316. /package/src/generated/{dvn → solita/dvn}/instructions/quoteDvn.ts +0 -0
  317. /package/src/generated/{dvn → solita/dvn}/instructions/setConfig.ts +0 -0
  318. /package/src/generated/{dvn → solita/dvn}/instructions/verifiable.ts +0 -0
  319. /package/src/generated/{dvn → solita/dvn}/instructions/withdrawFee.ts +0 -0
  320. /package/src/generated/{dvn → solita/dvn}/types/Acl.ts +0 -0
  321. /package/src/generated/{dvn → solita/dvn}/types/AdminConfig.ts +0 -0
  322. /package/src/generated/{dvn → solita/dvn}/types/CloseExecuteParams.ts +0 -0
  323. /package/src/generated/{dvn → solita/dvn}/types/DstConfig.ts +0 -0
  324. /package/src/generated/{dvn → solita/dvn}/types/ExecuteTransactionDigest.ts +0 -0
  325. /package/src/generated/{dvn → solita/dvn}/types/InitDvnParams.ts +0 -0
  326. /package/src/generated/{dvn → solita/dvn}/types/InvokeParams.ts +0 -0
  327. /package/src/generated/{dvn → solita/dvn}/types/LzOption.ts +0 -0
  328. /package/src/generated/{dvn → solita/dvn}/types/Multisig.ts +0 -0
  329. /package/src/generated/{dvn → solita/dvn}/types/MultisigConfig.ts +0 -0
  330. /package/src/generated/{dvn → solita/dvn}/types/QuoteDvnParams.ts +0 -0
  331. /package/src/generated/{dvn → solita/dvn}/types/SetConfigParams.ts +0 -0
  332. /package/src/generated/{dvn → solita/dvn}/types/TransactionAccount.ts +0 -0
  333. /package/src/generated/{dvn → solita/dvn}/types/UlnConfig.ts +0 -0
  334. /package/src/generated/{dvn → solita/dvn}/types/VerifiableParams.ts +0 -0
  335. /package/src/generated/{dvn → solita/dvn}/types/VerificationState.ts +0 -0
  336. /package/src/generated/{dvn → solita/dvn}/types/WithdrawFeeParams.ts +0 -0
  337. /package/src/generated/{dvn → solita/dvn}/types/index.ts +0 -0
  338. /package/src/generated/{endpoint → solita/endpoint}/accounts/ComposeMessageState.ts +0 -0
  339. /package/src/generated/{endpoint → solita/endpoint}/accounts/EndpointSettings.ts +0 -0
  340. /package/src/generated/{endpoint → solita/endpoint}/accounts/MessageLibInfo.ts +0 -0
  341. /package/src/generated/{endpoint → solita/endpoint}/accounts/Nonce.ts +0 -0
  342. /package/src/generated/{endpoint → solita/endpoint}/accounts/OAppRegistry.ts +0 -0
  343. /package/src/generated/{endpoint → solita/endpoint}/accounts/PayloadHash.ts +0 -0
  344. /package/src/generated/{endpoint → solita/endpoint}/accounts/PendingInboundNonce.ts +0 -0
  345. /package/src/generated/{endpoint → solita/endpoint}/accounts/ReceiveLibraryConfig.ts +0 -0
  346. /package/src/generated/{endpoint → solita/endpoint}/accounts/SendLibraryConfig.ts +0 -0
  347. /package/src/generated/{endpoint → solita/endpoint}/accounts/index.ts +0 -0
  348. /package/src/generated/{endpoint → solita/endpoint}/errors/index.ts +0 -0
  349. /package/src/generated/{endpoint → solita/endpoint}/events/AdminTransferredEvent.ts +0 -0
  350. /package/src/generated/{endpoint → solita/endpoint}/events/ComposeDeliveredEvent.ts +0 -0
  351. /package/src/generated/{endpoint → solita/endpoint}/events/ComposeSentEvent.ts +0 -0
  352. /package/src/generated/{endpoint → solita/endpoint}/events/DefaultReceiveLibrarySetEvent.ts +0 -0
  353. /package/src/generated/{endpoint → solita/endpoint}/events/DefaultReceiveLibraryTimeoutSetEvent.ts +0 -0
  354. /package/src/generated/{endpoint → solita/endpoint}/events/DefaultSendLibrarySetEvent.ts +0 -0
  355. /package/src/generated/{endpoint → solita/endpoint}/events/DelegateSetEvent.ts +0 -0
  356. /package/src/generated/{endpoint → solita/endpoint}/events/InboundNonceSkippedEvent.ts +0 -0
  357. /package/src/generated/{endpoint → solita/endpoint}/events/LibraryRegisteredEvent.ts +0 -0
  358. /package/src/generated/{endpoint → solita/endpoint}/events/LzComposeAlertEvent.ts +0 -0
  359. /package/src/generated/{endpoint → solita/endpoint}/events/LzReceiveAlertEvent.ts +0 -0
  360. /package/src/generated/{endpoint → solita/endpoint}/events/LzTokenSetEvent.ts +0 -0
  361. /package/src/generated/{endpoint → solita/endpoint}/events/OAppRegisteredEvent.ts +0 -0
  362. /package/src/generated/{endpoint → solita/endpoint}/events/PacketBurntEvent.ts +0 -0
  363. /package/src/generated/{endpoint → solita/endpoint}/events/PacketDeliveredEvent.ts +0 -0
  364. /package/src/generated/{endpoint → solita/endpoint}/events/PacketNilifiedEvent.ts +0 -0
  365. /package/src/generated/{endpoint → solita/endpoint}/events/PacketSentEvent.ts +0 -0
  366. /package/src/generated/{endpoint → solita/endpoint}/events/PacketVerifiedEvent.ts +0 -0
  367. /package/src/generated/{endpoint → solita/endpoint}/events/ReceiveLibrarySetEvent.ts +0 -0
  368. /package/src/generated/{endpoint → solita/endpoint}/events/ReceiveLibraryTimeoutSetEvent.ts +0 -0
  369. /package/src/generated/{endpoint → solita/endpoint}/events/RentWithdrawnEvent.ts +0 -0
  370. /package/src/generated/{endpoint → solita/endpoint}/events/SendLibrarySetEvent.ts +0 -0
  371. /package/src/generated/{endpoint → solita/endpoint}/events/index.ts +0 -0
  372. /package/src/generated/{endpoint → solita/endpoint}/index.ts +0 -0
  373. /package/src/generated/{endpoint → solita/endpoint}/instructions/burn.ts +0 -0
  374. /package/src/generated/{endpoint → solita/endpoint}/instructions/clear.ts +0 -0
  375. /package/src/generated/{endpoint → solita/endpoint}/instructions/clearCompose.ts +0 -0
  376. /package/src/generated/{endpoint → solita/endpoint}/instructions/index.ts +0 -0
  377. /package/src/generated/{endpoint → solita/endpoint}/instructions/initConfig.ts +0 -0
  378. /package/src/generated/{endpoint → solita/endpoint}/instructions/initDefaultReceiveLibrary.ts +0 -0
  379. /package/src/generated/{endpoint → solita/endpoint}/instructions/initDefaultSendLibrary.ts +0 -0
  380. /package/src/generated/{endpoint → solita/endpoint}/instructions/initEndpoint.ts +0 -0
  381. /package/src/generated/{endpoint → solita/endpoint}/instructions/initNonce.ts +0 -0
  382. /package/src/generated/{endpoint → solita/endpoint}/instructions/initReceiveLibrary.ts +0 -0
  383. /package/src/generated/{endpoint → solita/endpoint}/instructions/initSendLibrary.ts +0 -0
  384. /package/src/generated/{endpoint → solita/endpoint}/instructions/initVerify.ts +0 -0
  385. /package/src/generated/{endpoint → solita/endpoint}/instructions/lzComposeAlert.ts +0 -0
  386. /package/src/generated/{endpoint → solita/endpoint}/instructions/lzReceiveAlert.ts +0 -0
  387. /package/src/generated/{endpoint → solita/endpoint}/instructions/nilify.ts +0 -0
  388. /package/src/generated/{endpoint → solita/endpoint}/instructions/quote.ts +0 -0
  389. /package/src/generated/{endpoint → solita/endpoint}/instructions/registerLibrary.ts +0 -0
  390. /package/src/generated/{endpoint → solita/endpoint}/instructions/registerOapp.ts +0 -0
  391. /package/src/generated/{endpoint → solita/endpoint}/instructions/send.ts +0 -0
  392. /package/src/generated/{endpoint → solita/endpoint}/instructions/sendCompose.ts +0 -0
  393. /package/src/generated/{endpoint → solita/endpoint}/instructions/setConfig.ts +0 -0
  394. /package/src/generated/{endpoint → solita/endpoint}/instructions/setDefaultReceiveLibrary.ts +0 -0
  395. /package/src/generated/{endpoint → solita/endpoint}/instructions/setDefaultReceiveLibraryTimeout.ts +0 -0
  396. /package/src/generated/{endpoint → solita/endpoint}/instructions/setDefaultSendLibrary.ts +0 -0
  397. /package/src/generated/{endpoint → solita/endpoint}/instructions/setDelegate.ts +0 -0
  398. /package/src/generated/{endpoint → solita/endpoint}/instructions/setLzToken.ts +0 -0
  399. /package/src/generated/{endpoint → solita/endpoint}/instructions/setReceiveLibrary.ts +0 -0
  400. /package/src/generated/{endpoint → solita/endpoint}/instructions/setReceiveLibraryTimeout.ts +0 -0
  401. /package/src/generated/{endpoint → solita/endpoint}/instructions/setSendLibrary.ts +0 -0
  402. /package/src/generated/{endpoint → solita/endpoint}/instructions/skip.ts +0 -0
  403. /package/src/generated/{endpoint → solita/endpoint}/instructions/transferAdmin.ts +0 -0
  404. /package/src/generated/{endpoint → solita/endpoint}/instructions/verify.ts +0 -0
  405. /package/src/generated/{endpoint → solita/endpoint}/instructions/withdrawRent.ts +0 -0
  406. /package/src/generated/{endpoint → solita/endpoint}/types/BurnParams.ts +0 -0
  407. /package/src/generated/{endpoint → solita/endpoint}/types/ClearComposeParams.ts +0 -0
  408. /package/src/generated/{endpoint → solita/endpoint}/types/ClearParams.ts +0 -0
  409. /package/src/generated/{endpoint → solita/endpoint}/types/InitConfigParams.ts +0 -0
  410. /package/src/generated/{endpoint → solita/endpoint}/types/InitDefaultReceiveLibraryParams.ts +0 -0
  411. /package/src/generated/{endpoint → solita/endpoint}/types/InitDefaultSendLibraryParams.ts +0 -0
  412. /package/src/generated/{endpoint → solita/endpoint}/types/InitEndpointParams.ts +0 -0
  413. /package/src/generated/{endpoint → solita/endpoint}/types/InitNonceParams.ts +0 -0
  414. /package/src/generated/{endpoint → solita/endpoint}/types/InitReceiveLibraryParams.ts +0 -0
  415. /package/src/generated/{endpoint → solita/endpoint}/types/InitSendLibraryParams.ts +0 -0
  416. /package/src/generated/{endpoint → solita/endpoint}/types/InitVerifyParams.ts +0 -0
  417. /package/src/generated/{endpoint → solita/endpoint}/types/LzComposeAlertParams.ts +0 -0
  418. /package/src/generated/{endpoint → solita/endpoint}/types/LzReceiveAlertParams.ts +0 -0
  419. /package/src/generated/{endpoint → solita/endpoint}/types/MessageLibType.ts +0 -0
  420. /package/src/generated/{endpoint → solita/endpoint}/types/MessagingFee.ts +0 -0
  421. /package/src/generated/{endpoint → solita/endpoint}/types/MessagingReceipt.ts +0 -0
  422. /package/src/generated/{endpoint → solita/endpoint}/types/NilifyParams.ts +0 -0
  423. /package/src/generated/{endpoint → solita/endpoint}/types/QuoteParams.ts +0 -0
  424. /package/src/generated/{endpoint → solita/endpoint}/types/ReceiveLibraryTimeout.ts +0 -0
  425. /package/src/generated/{endpoint → solita/endpoint}/types/RegisterLibraryParams.ts +0 -0
  426. /package/src/generated/{endpoint → solita/endpoint}/types/RegisterOAppParams.ts +0 -0
  427. /package/src/generated/{endpoint → solita/endpoint}/types/SendComposeParams.ts +0 -0
  428. /package/src/generated/{endpoint → solita/endpoint}/types/SendParams.ts +0 -0
  429. /package/src/generated/{endpoint → solita/endpoint}/types/SetConfigParams.ts +0 -0
  430. /package/src/generated/{endpoint → solita/endpoint}/types/SetDefaultReceiveLibraryParams.ts +0 -0
  431. /package/src/generated/{endpoint → solita/endpoint}/types/SetDefaultReceiveLibraryTimeoutParams.ts +0 -0
  432. /package/src/generated/{endpoint → solita/endpoint}/types/SetDefaultSendLibraryParams.ts +0 -0
  433. /package/src/generated/{endpoint → solita/endpoint}/types/SetDelegateParams.ts +0 -0
  434. /package/src/generated/{endpoint → solita/endpoint}/types/SetLzTokenParams.ts +0 -0
  435. /package/src/generated/{endpoint → solita/endpoint}/types/SetReceiveLibraryParams.ts +0 -0
  436. /package/src/generated/{endpoint → solita/endpoint}/types/SetReceiveLibraryTimeoutParams.ts +0 -0
  437. /package/src/generated/{endpoint → solita/endpoint}/types/SetSendLibraryParams.ts +0 -0
  438. /package/src/generated/{endpoint → solita/endpoint}/types/SkipParams.ts +0 -0
  439. /package/src/generated/{endpoint → solita/endpoint}/types/TransferAdminParams.ts +0 -0
  440. /package/src/generated/{endpoint → solita/endpoint}/types/VerifyParams.ts +0 -0
  441. /package/src/generated/{endpoint → solita/endpoint}/types/WithdrawRentParams.ts +0 -0
  442. /package/src/generated/{endpoint → solita/endpoint}/types/index.ts +0 -0
  443. /package/src/generated/{executor → solita/executor}/accounts/ExecutorConfig.ts +0 -0
  444. /package/src/generated/{executor → solita/executor}/accounts/Nonce.ts +0 -0
  445. /package/src/generated/{executor → solita/executor}/accounts/index.ts +0 -0
  446. /package/src/generated/{executor → solita/executor}/errors/index.ts +0 -0
  447. /package/src/generated/{executor → solita/executor}/events/NativeDropAppliedEvent.ts +0 -0
  448. /package/src/generated/{executor → solita/executor}/events/index.ts +0 -0
  449. /package/src/generated/{executor → solita/executor}/index.ts +0 -0
  450. /package/src/generated/{executor → solita/executor}/instructions/adminSetConfig.ts +0 -0
  451. /package/src/generated/{executor → solita/executor}/instructions/compose.ts +0 -0
  452. /package/src/generated/{executor → solita/executor}/instructions/executable.ts +0 -0
  453. /package/src/generated/{executor → solita/executor}/instructions/execute.ts +0 -0
  454. /package/src/generated/{executor → solita/executor}/instructions/index.ts +0 -0
  455. /package/src/generated/{executor → solita/executor}/instructions/initExecutor.ts +0 -0
  456. /package/src/generated/{executor → solita/executor}/instructions/nativeDrop.ts +0 -0
  457. /package/src/generated/{executor → solita/executor}/instructions/ownerSetConfig.ts +0 -0
  458. /package/src/generated/{executor → solita/executor}/instructions/quoteExecutor.ts +0 -0
  459. /package/src/generated/{executor → solita/executor}/types/Acl.ts +0 -0
  460. /package/src/generated/{executor → solita/executor}/types/AdminSetConfigParams.ts +0 -0
  461. /package/src/generated/{executor → solita/executor}/types/ComposeParams.ts +0 -0
  462. /package/src/generated/{executor → solita/executor}/types/DstConfig.ts +0 -0
  463. /package/src/generated/{executor → solita/executor}/types/ExecutableParams.ts +0 -0
  464. /package/src/generated/{executor → solita/executor}/types/ExecuteParams.ts +0 -0
  465. /package/src/generated/{executor → solita/executor}/types/ExecutionState.ts +0 -0
  466. /package/src/generated/{executor → solita/executor}/types/InitExecutorParams.ts +0 -0
  467. /package/src/generated/{executor → solita/executor}/types/LzComposeParams.ts +0 -0
  468. /package/src/generated/{executor → solita/executor}/types/LzOption.ts +0 -0
  469. /package/src/generated/{executor → solita/executor}/types/LzReceiveParams.ts +0 -0
  470. /package/src/generated/{executor → solita/executor}/types/NativeDropParams.ts +0 -0
  471. /package/src/generated/{executor → solita/executor}/types/NativeDropRequest.ts +0 -0
  472. /package/src/generated/{executor → solita/executor}/types/OwnerSetConfigParams.ts +0 -0
  473. /package/src/generated/{executor → solita/executor}/types/QuoteExecutorParams.ts +0 -0
  474. /package/src/generated/{executor → solita/executor}/types/index.ts +0 -0
  475. /package/src/generated/{pricefeed → solita/pricefeed}/accounts/PriceFeed.ts +0 -0
  476. /package/src/generated/{pricefeed → solita/pricefeed}/accounts/index.ts +0 -0
  477. /package/src/generated/{pricefeed → solita/pricefeed}/errors/index.ts +0 -0
  478. /package/src/generated/{pricefeed → solita/pricefeed}/index.ts +0 -0
  479. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/getFee.ts +0 -0
  480. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/index.ts +0 -0
  481. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/initPriceFeed.ts +0 -0
  482. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/setPrice.ts +0 -0
  483. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/setPriceFeed.ts +0 -0
  484. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/setSolPrice.ts +0 -0
  485. /package/src/generated/{pricefeed → solita/pricefeed}/instructions/transferAdmin.ts +0 -0
  486. /package/src/generated/{pricefeed → solita/pricefeed}/types/GetFeeParams.ts +0 -0
  487. /package/src/generated/{pricefeed → solita/pricefeed}/types/InitPriceFeedParams.ts +0 -0
  488. /package/src/generated/{pricefeed → solita/pricefeed}/types/ModelType.ts +0 -0
  489. /package/src/generated/{pricefeed → solita/pricefeed}/types/Price.ts +0 -0
  490. /package/src/generated/{pricefeed → solita/pricefeed}/types/PriceParams.ts +0 -0
  491. /package/src/generated/{pricefeed → solita/pricefeed}/types/SetPriceFeedParams.ts +0 -0
  492. /package/src/generated/{pricefeed → solita/pricefeed}/types/SetPriceParams.ts +0 -0
  493. /package/src/generated/{pricefeed → solita/pricefeed}/types/SetSolPriceParams.ts +0 -0
  494. /package/src/generated/{pricefeed → solita/pricefeed}/types/TransferAdminParams.ts +0 -0
  495. /package/src/generated/{pricefeed → solita/pricefeed}/types/index.ts +0 -0
  496. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/accounts/MessageLib.ts +0 -0
  497. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/accounts/ReceiveConfigStore.ts +0 -0
  498. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/accounts/SendConfigStore.ts +0 -0
  499. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/accounts/index.ts +0 -0
  500. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/errors/index.ts +0 -0
  501. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/index.ts +0 -0
  502. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/index.ts +0 -0
  503. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/initConfig.ts +0 -0
  504. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/initDefaultConfig.ts +0 -0
  505. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/initMessageLib.ts +0 -0
  506. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/quote.ts +0 -0
  507. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/revertCall.ts +0 -0
  508. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/send.ts +0 -0
  509. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/sendWithLzToken.ts +0 -0
  510. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/setConfig.ts +0 -0
  511. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/setDefaultConfig.ts +0 -0
  512. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/setFee.ts +0 -0
  513. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/setWlCaller.ts +0 -0
  514. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/transferAdmin.ts +0 -0
  515. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/validatePacket.ts +0 -0
  516. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/version.ts +0 -0
  517. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/instructions/withdrawFees.ts +0 -0
  518. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/InitConfigParams.ts +0 -0
  519. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/InitDefaultConfigParams.ts +0 -0
  520. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/InitMessageLibParams.ts +0 -0
  521. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/MessagingFee.ts +0 -0
  522. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/Packet.ts +0 -0
  523. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/QuoteParams.ts +0 -0
  524. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SendParams.ts +0 -0
  525. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SendWithLzTokenParams.ts +0 -0
  526. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SetConfigParams.ts +0 -0
  527. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SetDefaultConfigParams.ts +0 -0
  528. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SetFeeParams.ts +0 -0
  529. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/SetWlCallerParams.ts +0 -0
  530. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/TransferAdminParams.ts +0 -0
  531. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/ValidatePacketParams.ts +0 -0
  532. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/Version.ts +0 -0
  533. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/WithdrawFeesParams.ts +0 -0
  534. /package/src/generated/{simple_messagelib → solita/simple_messagelib}/types/index.ts +0 -0
  535. /package/src/generated/{uln → solita/uln}/accounts/Confirmations.ts +0 -0
  536. /package/src/generated/{uln → solita/uln}/accounts/ReceiveConfig.ts +0 -0
  537. /package/src/generated/{uln → solita/uln}/accounts/SendConfig.ts +0 -0
  538. /package/src/generated/{uln → solita/uln}/accounts/UlnSettings.ts +0 -0
  539. /package/src/generated/{uln → solita/uln}/accounts/index.ts +0 -0
  540. /package/src/generated/{uln → solita/uln}/errors/index.ts +0 -0
  541. /package/src/generated/{uln → solita/uln}/events/AdminTransferredEvent.ts +0 -0
  542. /package/src/generated/{uln → solita/uln}/events/ConfigSetEvent.ts +0 -0
  543. /package/src/generated/{uln → solita/uln}/events/DefaultConfigSetEvent.ts +0 -0
  544. /package/src/generated/{uln → solita/uln}/events/FeesPaidEvent.ts +0 -0
  545. /package/src/generated/{uln → solita/uln}/events/LzTokenSetEvent.ts +0 -0
  546. /package/src/generated/{uln → solita/uln}/events/PayloadVerifiedEvent.ts +0 -0
  547. /package/src/generated/{uln → solita/uln}/events/RentWithdrawnEvent.ts +0 -0
  548. /package/src/generated/{uln → solita/uln}/events/TreasuryFeeCapSetEvent.ts +0 -0
  549. /package/src/generated/{uln → solita/uln}/events/TreasurySetEvent.ts +0 -0
  550. /package/src/generated/{uln → solita/uln}/events/index.ts +0 -0
  551. /package/src/generated/{uln → solita/uln}/index.ts +0 -0
  552. /package/src/generated/{uln → solita/uln}/instructions/closeVerify.ts +0 -0
  553. /package/src/generated/{uln → solita/uln}/instructions/commitVerification.ts +0 -0
  554. /package/src/generated/{uln → solita/uln}/instructions/index.ts +0 -0
  555. /package/src/generated/{uln → solita/uln}/instructions/initConfig.ts +0 -0
  556. /package/src/generated/{uln → solita/uln}/instructions/initDefaultConfig.ts +0 -0
  557. /package/src/generated/{uln → solita/uln}/instructions/initUln.ts +0 -0
  558. /package/src/generated/{uln → solita/uln}/instructions/initVerify.ts +0 -0
  559. /package/src/generated/{uln → solita/uln}/instructions/quote.ts +0 -0
  560. /package/src/generated/{uln → solita/uln}/instructions/send.ts +0 -0
  561. /package/src/generated/{uln → solita/uln}/instructions/sendWithLzToken.ts +0 -0
  562. /package/src/generated/{uln → solita/uln}/instructions/setConfig.ts +0 -0
  563. /package/src/generated/{uln → solita/uln}/instructions/setDefaultConfig.ts +0 -0
  564. /package/src/generated/{uln → solita/uln}/instructions/setTreasury.ts +0 -0
  565. /package/src/generated/{uln → solita/uln}/instructions/transferAdmin.ts +0 -0
  566. /package/src/generated/{uln → solita/uln}/instructions/verify.ts +0 -0
  567. /package/src/generated/{uln → solita/uln}/instructions/version.ts +0 -0
  568. /package/src/generated/{uln → solita/uln}/instructions/withdrawRent.ts +0 -0
  569. /package/src/generated/{uln → solita/uln}/types/CloseVerifyParams.ts +0 -0
  570. /package/src/generated/{uln → solita/uln}/types/CommitVerificationParams.ts +0 -0
  571. /package/src/generated/{uln → solita/uln}/types/Config.ts +0 -0
  572. /package/src/generated/{uln → solita/uln}/types/ExecutorConfig.ts +0 -0
  573. /package/src/generated/{uln → solita/uln}/types/InitConfigParams.ts +0 -0
  574. /package/src/generated/{uln → solita/uln}/types/InitDefaultConfigParams.ts +0 -0
  575. /package/src/generated/{uln → solita/uln}/types/InitUlnParams.ts +0 -0
  576. /package/src/generated/{uln → solita/uln}/types/InitVerifyParams.ts +0 -0
  577. /package/src/generated/{uln → solita/uln}/types/LzTokenTreasury.ts +0 -0
  578. /package/src/generated/{uln → solita/uln}/types/MessagingFee.ts +0 -0
  579. /package/src/generated/{uln → solita/uln}/types/Packet.ts +0 -0
  580. /package/src/generated/{uln → solita/uln}/types/QuoteParams.ts +0 -0
  581. /package/src/generated/{uln → solita/uln}/types/SendParams.ts +0 -0
  582. /package/src/generated/{uln → solita/uln}/types/SendWithLzTokenParams.ts +0 -0
  583. /package/src/generated/{uln → solita/uln}/types/SetConfigParams.ts +0 -0
  584. /package/src/generated/{uln → solita/uln}/types/SetDefaultConfigParams.ts +0 -0
  585. /package/src/generated/{uln → solita/uln}/types/SetTreasuryParams.ts +0 -0
  586. /package/src/generated/{uln → solita/uln}/types/TransferAdminParams.ts +0 -0
  587. /package/src/generated/{uln → solita/uln}/types/Treasury.ts +0 -0
  588. /package/src/generated/{uln → solita/uln}/types/TreasuryFee.ts +0 -0
  589. /package/src/generated/{uln → solita/uln}/types/UlnConfig.ts +0 -0
  590. /package/src/generated/{uln → solita/uln}/types/VerifyParams.ts +0 -0
  591. /package/src/generated/{uln → solita/uln}/types/Version.ts +0 -0
  592. /package/src/generated/{uln → solita/uln}/types/WithdrawRentParams.ts +0 -0
  593. /package/src/generated/{uln → solita/uln}/types/WorkerFee.ts +0 -0
  594. /package/src/generated/{uln → solita/uln}/types/index.ts +0 -0
  595. /package/src/generated/{worker_interface → solita/worker_interface}/errors/index.ts +0 -0
  596. /package/src/generated/{worker_interface → solita/worker_interface}/index.ts +0 -0
  597. /package/src/generated/{worker_interface → solita/worker_interface}/instructions/index.ts +0 -0
  598. /package/src/generated/{worker_interface → solita/worker_interface}/instructions/quoteDvn.ts +0 -0
  599. /package/src/generated/{worker_interface → solita/worker_interface}/instructions/quoteExecutor.ts +0 -0
  600. /package/src/generated/{worker_interface → solita/worker_interface}/types/LzOption.ts +0 -0
  601. /package/src/generated/{worker_interface → solita/worker_interface}/types/QuoteDvnParams.ts +0 -0
  602. /package/src/generated/{worker_interface → solita/worker_interface}/types/QuoteExecutorParams.ts +0 -0
  603. /package/src/generated/{worker_interface → solita/worker_interface}/types/index.ts +0 -0
  604. /package/src/{pda-deriver.ts → solita/pda-deriver.ts} +0 -0
@@ -0,0 +1,503 @@
1
+ import { AccountInfo, AccountMeta, Commitment, Connection, GetAccountInfoConfig, PublicKey } from '@solana/web3.js'
2
+ import invariant from 'tiny-invariant'
3
+
4
+ import { addressToBytes32 } from '@layerzerolabs/lz-v2-utilities'
5
+
6
+ import { EndpointProgram, SimpleMessageLibProgram, UlnProgram } from '.'
7
+ import { DVN, accounts as DvnAccounts } from './dvn'
8
+ import { DefaultMessageLib } from './endpoint'
9
+ import { Executor, accounts as ExecutorAccounts } from './executor'
10
+
11
+ /**
12
+ * Interface representing keyed account information.
13
+ */
14
+ interface KeyedAccountInfo {
15
+ /**
16
+ * The account ID.
17
+ */
18
+ accountId: PublicKey
19
+
20
+ /**
21
+ * The account information.
22
+ */
23
+ accountInfo: AccountInfo<Buffer> | null
24
+ }
25
+
26
+ /**
27
+ * Enum representing quote or send actions.
28
+ */
29
+ enum QuoteOrSend {
30
+ /**
31
+ * Quote action.
32
+ */
33
+ Quote,
34
+
35
+ /**
36
+ * Send action.
37
+ */
38
+ Send,
39
+ }
40
+
41
+ /**
42
+ * Class representing a helper for sending transactions.
43
+ */
44
+ export class SendHelper {
45
+ private endpoint: EndpointProgram.Endpoint
46
+ private uln: UlnProgram.Uln
47
+ private simpleMsgLib: SimpleMessageLibProgram.SimpleMessageLib
48
+ private accounts = new Map<string, AccountInfo<Buffer> | null>()
49
+
50
+ /**
51
+ * Creates an instance of the SendHelper class.
52
+ *
53
+ * @param {PublicKey} [endpointProgram=EndpointProgram.PROGRAM_ID] - The endpoint program public key.
54
+ * @param {PublicKey} [ulnProgram=UlnProgram.PROGRAM_ID] - The ULN program public key.
55
+ * @param {PublicKey} [simpleMsgLibProgram=SimpleMessageLibProgram.PROGRAM_ID] - The simple message library program public key.
56
+ */
57
+ constructor(
58
+ public readonly endpointProgram: PublicKey = EndpointProgram.PROGRAM_ID,
59
+ public readonly ulnProgram: PublicKey = UlnProgram.PROGRAM_ID,
60
+ public readonly simpleMsgLibProgram: PublicKey = SimpleMessageLibProgram.PROGRAM_ID
61
+ ) {
62
+ this.endpoint = new EndpointProgram.Endpoint(endpointProgram)
63
+ this.uln = new UlnProgram.Uln(ulnProgram)
64
+ this.simpleMsgLib = new SimpleMessageLibProgram.SimpleMessageLib(simpleMsgLibProgram)
65
+ }
66
+
67
+ /**
68
+ * Fetches multiple account information.
69
+ *
70
+ * @param {Connection} connection - The connection to the Solana cluster.
71
+ * @param {PublicKey[]} keys - The public keys of the accounts.
72
+ * @param {Commitment | GetAccountInfoConfig} [commitment] - The commitment level or account info configuration.
73
+ * @returns {Promise<(AccountInfo<Buffer> | null)[]>} A promise that resolves to an array of account information.
74
+ */
75
+ private async getMultipleAccountsInfo(
76
+ connection: Connection,
77
+ keys: PublicKey[],
78
+ commitment?: Commitment | GetAccountInfoConfig
79
+ ): Promise<(AccountInfo<Buffer> | null)[]> {
80
+ // check if all accounts are already fetched
81
+ const missingKeys = keys.filter((key) => !this.accounts.has(key.toBase58()))
82
+
83
+ // fetch missing accounts
84
+ if (missingKeys.length > 0) {
85
+ const infos = await connection.getMultipleAccountsInfo(missingKeys, commitment)
86
+ infos.forEach((info, i) => {
87
+ this.accounts.set(missingKeys[i].toBase58(), info)
88
+ })
89
+ }
90
+
91
+ // return all accounts
92
+ return keys.map((key) => this.accounts.get(key.toBase58())!)
93
+ }
94
+
95
+ /**
96
+ * Gets the account metadata for the quote instruction.
97
+ *
98
+ * @param {Connection} connection - The connection to the Solana cluster.
99
+ * @param {PublicKey} payer - The payer public key.
100
+ * @param {PublicKey} sender - The sender public key.
101
+ * @param {number} dstEid - The destination endpoint ID.
102
+ * @param {string} receiver - The receiver address.
103
+ * @param {Commitment | GetAccountInfoConfig} [commitmentOrConfig='confirmed'] - The commitment level or account info configuration.
104
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account metadata.
105
+ */
106
+ async getQuoteAccounts(
107
+ connection: Connection,
108
+ payer: PublicKey,
109
+ sender: PublicKey,
110
+ dstEid: number,
111
+ receiver: string,
112
+ commitmentOrConfig: Commitment | GetAccountInfoConfig = 'confirmed'
113
+ ): Promise<AccountMeta[]> {
114
+ const [sendLibConfig] = this.endpoint.deriver.sendLibraryConfig(sender, dstEid)
115
+ const [defaultSendLibConfig] = this.endpoint.deriver.defaultSendLibraryConfig(dstEid)
116
+ const [simpleMsgLib] = this.simpleMsgLib.deriver.messageLib()
117
+ const [uln] = this.uln.deriver.messageLib()
118
+ const [ulnDefaultSendConfig] = this.uln.deriver.defaultSendConfig(dstEid)
119
+ const [ulnSendConfig] = this.uln.deriver.sendConfig(dstEid, sender)
120
+ const [
121
+ sendLibConfigBuf,
122
+ defaultSendLibConfigBuf,
123
+ _simpleMsgLibBuf,
124
+ ulnBuf,
125
+ ulnDefaultSendConfigBuf,
126
+ ulnSendConfigBuf,
127
+ ] = await this.getMultipleAccountsInfo(
128
+ connection,
129
+ [sendLibConfig, defaultSendLibConfig, simpleMsgLib, uln, ulnDefaultSendConfig, ulnSendConfig],
130
+ commitmentOrConfig
131
+ )
132
+ invariant(defaultSendLibConfigBuf && sendLibConfigBuf, 'endpoint send library not initialized')
133
+ const [sendLibConfigInfo] = EndpointProgram.accounts.SendLibraryConfig.fromAccountInfo(sendLibConfigBuf, 0)
134
+ const [defaultSendLibConfigInfo] = EndpointProgram.accounts.SendLibraryConfig.fromAccountInfo(
135
+ defaultSendLibConfigBuf,
136
+ 0
137
+ )
138
+ const msgLib =
139
+ sendLibConfigInfo.messageLib.toString() === DefaultMessageLib.toString()
140
+ ? defaultSendLibConfigInfo.messageLib
141
+ : sendLibConfigInfo.messageLib
142
+
143
+ let msgLibProgram = this.ulnProgram
144
+ if (msgLib.toBase58() === this.simpleMsgLib.deriver.messageLib()[0].toBase58()) {
145
+ msgLibProgram = this.simpleMsgLibProgram
146
+ return this.getEndpointAccounts(msgLibProgram, msgLib, sender, dstEid, receiver, QuoteOrSend.Quote).concat(
147
+ this.getSimpleMsgLibAccounts(payer, QuoteOrSend.Quote)
148
+ )
149
+ }
150
+ if (msgLib.toBase58() !== this.uln.deriver.messageLib()[0].toBase58()) {
151
+ throw new Error('Invalid message library')
152
+ }
153
+
154
+ return this.getEndpointAccounts(msgLibProgram, msgLib, sender, dstEid, receiver, QuoteOrSend.Quote).concat(
155
+ await this.getUlnAccounts(
156
+ connection,
157
+ payer,
158
+ {
159
+ accountId: uln,
160
+ accountInfo: ulnBuf,
161
+ },
162
+ {
163
+ accountId: ulnDefaultSendConfig,
164
+ accountInfo: ulnDefaultSendConfigBuf,
165
+ },
166
+ {
167
+ accountId: ulnSendConfig,
168
+ accountInfo: ulnSendConfigBuf,
169
+ },
170
+ QuoteOrSend.Quote,
171
+ commitmentOrConfig
172
+ )
173
+ )
174
+ }
175
+
176
+ /**
177
+ * Gets the account metadata for the send instruction.
178
+ *
179
+ * @param {Connection} connection - The connection to the Solana cluster.
180
+ * @param {PublicKey} payer - The payer public key.
181
+ * @param {PublicKey} sender - The sender public key.
182
+ * @param {number} dstEid - The destination endpoint ID.
183
+ * @param {string} receiver - The receiver address.
184
+ * @param {Commitment | GetAccountInfoConfig} [commitmentOrConfig='confirmed'] - The commitment level or account info configuration.
185
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account metadata.
186
+ */
187
+ async getSendAccounts(
188
+ connection: Connection,
189
+ payer: PublicKey,
190
+ sender: PublicKey,
191
+ dstEid: number,
192
+ receiver: string,
193
+ commitmentOrConfig: Commitment | GetAccountInfoConfig = 'confirmed'
194
+ ): Promise<AccountMeta[]> {
195
+ const [sendLibConfig] = this.endpoint.deriver.sendLibraryConfig(sender, dstEid)
196
+ const [defaultSendLibConfig] = this.endpoint.deriver.defaultSendLibraryConfig(dstEid)
197
+ const [simpleMsgLib] = this.simpleMsgLib.deriver.messageLib()
198
+ const [uln] = this.uln.deriver.messageLib()
199
+ const [ulnDefaultSendConfig] = this.uln.deriver.defaultSendConfig(dstEid)
200
+ const [ulnSendConfig] = this.uln.deriver.sendConfig(dstEid, sender)
201
+ const [
202
+ sendLibConfigBuf,
203
+ defaultSendLibConfigBuf,
204
+ _simpleMsgLibBuf,
205
+ ulnBuf,
206
+ ulnDefaultSendConfigBuf,
207
+ ulnSendConfigBuf,
208
+ ] = await this.getMultipleAccountsInfo(
209
+ connection,
210
+ [sendLibConfig, defaultSendLibConfig, simpleMsgLib, uln, ulnDefaultSendConfig, ulnSendConfig],
211
+ commitmentOrConfig
212
+ )
213
+ invariant(defaultSendLibConfigBuf && sendLibConfigBuf, 'endpoint send library not initialized')
214
+ const [sendLibConfigInfo] = EndpointProgram.accounts.SendLibraryConfig.fromAccountInfo(sendLibConfigBuf, 0)
215
+ const [defaultSendLibConfigInfo] = EndpointProgram.accounts.SendLibraryConfig.fromAccountInfo(
216
+ defaultSendLibConfigBuf,
217
+ 0
218
+ )
219
+ const msgLib =
220
+ sendLibConfigInfo.messageLib.toString() === DefaultMessageLib.toString()
221
+ ? defaultSendLibConfigInfo.messageLib
222
+ : sendLibConfigInfo.messageLib
223
+
224
+ let msgLibProgram = this.ulnProgram
225
+ if (msgLib.toBase58() === this.simpleMsgLib.deriver.messageLib()[0].toBase58()) {
226
+ msgLibProgram = this.simpleMsgLibProgram
227
+ return this.getEndpointAccounts(msgLibProgram, msgLib, sender, dstEid, receiver, QuoteOrSend.Send).concat(
228
+ this.getSimpleMsgLibAccounts(payer, QuoteOrSend.Send)
229
+ )
230
+ }
231
+ if (msgLib.toBase58() !== this.uln.deriver.messageLib()[0].toBase58()) {
232
+ throw new Error('Invalid message library')
233
+ }
234
+ return this.getEndpointAccounts(msgLibProgram, msgLib, sender, dstEid, receiver, QuoteOrSend.Send).concat(
235
+ await this.getUlnAccounts(
236
+ connection,
237
+ payer,
238
+ {
239
+ accountId: uln,
240
+ accountInfo: ulnBuf,
241
+ },
242
+ {
243
+ accountId: ulnDefaultSendConfig,
244
+ accountInfo: ulnDefaultSendConfigBuf,
245
+ },
246
+ {
247
+ accountId: ulnSendConfig,
248
+ accountInfo: ulnSendConfigBuf,
249
+ },
250
+ QuoteOrSend.Send,
251
+ commitmentOrConfig
252
+ )
253
+ )
254
+ }
255
+
256
+ /**
257
+ * Gets the account metadata for the endpoint.
258
+ *
259
+ * @param {PublicKey} msgLibProgram - The message library program public key.
260
+ * @param {PublicKey} msgLib - The message library public key.
261
+ * @param {PublicKey} sender - The sender public key.
262
+ * @param {number} dstEid - The destination endpoint ID.
263
+ * @param {string} receiver - The receiver address.
264
+ * @param {QuoteOrSend} quoteOrSend - The quote or send action.
265
+ * @returns {AccountMeta[]} An array of account metadata.
266
+ */
267
+ private getEndpointAccounts(
268
+ msgLibProgram: PublicKey,
269
+ msgLib: PublicKey,
270
+ sender: PublicKey,
271
+ dstEid: number,
272
+ receiver: string,
273
+ quoteOrSend: QuoteOrSend
274
+ ): AccountMeta[] {
275
+ const [sendLibraryConfig] = this.endpoint.deriver.sendLibraryConfig(sender, dstEid)
276
+ const [defaultSendLibraryConfig] = this.endpoint.deriver.defaultSendLibraryConfig(dstEid)
277
+ const [sendLibraryInfo] = this.endpoint.deriver.messageLibraryInfo(msgLib)
278
+ const [nonce] = this.endpoint.deriver.nonce(sender, dstEid, addressToBytes32(receiver))
279
+ let accounts: AccountMeta[]
280
+ if (quoteOrSend === QuoteOrSend.Quote) {
281
+ accounts = EndpointProgram.instructions.createQuoteInstructionAccounts(
282
+ {
283
+ sendLibraryProgram: msgLibProgram,
284
+ sendLibraryConfig,
285
+ defaultSendLibraryConfig,
286
+ sendLibraryInfo,
287
+ endpoint: this.endpoint.deriver.setting()[0],
288
+ nonce,
289
+ } satisfies EndpointProgram.instructions.QuoteInstructionAccounts,
290
+ this.endpointProgram
291
+ )
292
+ } else {
293
+ accounts = EndpointProgram.instructions.createSendInstructionAccounts(
294
+ {
295
+ sender, //signer
296
+ sendLibraryProgram: msgLibProgram,
297
+ sendLibraryConfig,
298
+ defaultSendLibraryConfig,
299
+ sendLibraryInfo,
300
+ endpoint: this.endpoint.deriver.setting()[0],
301
+ nonce,
302
+ program: this.endpointProgram,
303
+ eventAuthority: this.endpoint.eventAuthorityPDA,
304
+ } satisfies EndpointProgram.instructions.SendInstructionAccounts,
305
+ this.endpoint.program
306
+ )
307
+ }
308
+
309
+ accounts.forEach((item: AccountMeta) => {
310
+ item.isSigner = false
311
+ })
312
+ return [
313
+ {
314
+ pubkey: this.endpoint.program,
315
+ isSigner: false,
316
+ isWritable: false,
317
+ },
318
+ ].concat(accounts)
319
+ }
320
+
321
+ /**
322
+ * Gets the account metadata for the simple message library.
323
+ *
324
+ * @param {PublicKey} payer - The payer public key.
325
+ * @param {QuoteOrSend} quoteOrSend - The quote or send action.
326
+ * @returns {AccountMeta[]} An array of account metadata.
327
+ */
328
+ private getSimpleMsgLibAccounts(payer: PublicKey, quoteOrSend: QuoteOrSend): AccountMeta[] {
329
+ const [msgLib] = this.simpleMsgLib.deriver.messageLib()
330
+ let accounts: AccountMeta[]
331
+ if (quoteOrSend === QuoteOrSend.Quote) {
332
+ accounts = SimpleMessageLibProgram.instructions.createQuoteInstructionAccounts(
333
+ {
334
+ endpoint: PublicKey.default, // useless
335
+ messageLib: msgLib,
336
+ } satisfies SimpleMessageLibProgram.instructions.QuoteInstructionAccounts,
337
+ this.simpleMsgLibProgram
338
+ )
339
+ } else {
340
+ accounts = SimpleMessageLibProgram.instructions.createSendInstructionAccounts(
341
+ {
342
+ endpoint: PublicKey.default, // useless
343
+ messageLib: msgLib,
344
+ payer,
345
+ } satisfies SimpleMessageLibProgram.instructions.SendInstructionAccounts,
346
+ this.simpleMsgLibProgram
347
+ )
348
+ }
349
+ accounts.forEach((key) => {
350
+ if (!payer.equals(key.pubkey)) {
351
+ key.isSigner = false
352
+ }
353
+ })
354
+ return accounts.slice(1)
355
+ }
356
+
357
+ /**
358
+ * Gets the account metadata for the ULN.
359
+ *
360
+ * @param {Connection} connection - The connection to the Solana cluster.
361
+ * @param {PublicKey} payer - The payer public key.
362
+ * @param {KeyedAccountInfo} ulnInfo - The ULN account information.
363
+ * @param {KeyedAccountInfo} ulnDefaultSendConfigInfo - The ULN default send configuration account information.
364
+ * @param {KeyedAccountInfo} ulnSendConfigInfo - The ULN send configuration account information.
365
+ * @param {QuoteOrSend} quoteOrSend - The quote or send action.
366
+ * @param {Commitment | GetAccountInfoConfig} [commitment] - The commitment level or account info configuration.
367
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account metadata.
368
+ */
369
+ private async getUlnAccounts(
370
+ connection: Connection,
371
+ payer: PublicKey,
372
+ ulnInfo: KeyedAccountInfo,
373
+ ulnDefaultSendConfigInfo: KeyedAccountInfo,
374
+ ulnSendConfigInfo: KeyedAccountInfo,
375
+ quoteOrSend: QuoteOrSend,
376
+ commitment?: Commitment | GetAccountInfoConfig
377
+ ): Promise<AccountMeta[]> {
378
+ invariant(ulnInfo.accountInfo && ulnDefaultSendConfigInfo.accountInfo, 'uln send library not initialized')
379
+ const [ulnState] = UlnProgram.accounts.UlnSettings.fromAccountInfo(ulnInfo.accountInfo, 0)
380
+ const [defaultSendConfigState] = UlnProgram.accounts.SendConfig.fromAccountInfo(
381
+ ulnDefaultSendConfigInfo.accountInfo,
382
+ 0
383
+ )
384
+ const sendConfigState = ulnSendConfigInfo.accountInfo
385
+ ? UlnProgram.accounts.SendConfig.fromAccountInfo(ulnSendConfigInfo.accountInfo)[0]
386
+ : null
387
+
388
+ let {
389
+ executor,
390
+ uln: { requiredDvns, optionalDvns },
391
+ } = defaultSendConfigState
392
+
393
+ // if the executor is set in the send config, use it
394
+ if (sendConfigState?.executor && !sendConfigState.executor.executor.equals(PublicKey.default)) {
395
+ ;({ executor } = sendConfigState)
396
+ }
397
+
398
+ // if the requiredDvns is set in the send config, use it
399
+ if (sendConfigState && sendConfigState.uln.requiredDvns.length > 0) {
400
+ requiredDvns = sendConfigState.uln.requiredDvns.filter((p) => {
401
+ return !p.equals(PublicKey.default)
402
+ })
403
+ }
404
+
405
+ // if the optionalDvns is set in the send config, use it
406
+ if (sendConfigState && sendConfigState.uln.optionalDvns.length > 0) {
407
+ optionalDvns = sendConfigState.uln.optionalDvns.filter((p) => {
408
+ return !p.equals(PublicKey.default)
409
+ })
410
+ }
411
+
412
+ const dvnsKey = requiredDvns.concat(optionalDvns)
413
+ const [executorBuf, ...dvnBuf] = await this.getMultipleAccountsInfo(
414
+ connection,
415
+ [executor.executor, ...dvnsKey],
416
+ commitment
417
+ )
418
+ invariant(executorBuf, `executor:${executor.executor.toBase58()} not initialized`)
419
+
420
+ let executorAccounts: AccountMeta[], dvnAccounts: AccountMeta[]
421
+ {
422
+ const executor = {
423
+ config: ExecutorAccounts.ExecutorConfig.fromAccountInfo(executorBuf)[0],
424
+ owner: executorBuf.owner,
425
+ }
426
+ const dvns = dvnBuf.map((dvn, i) => {
427
+ invariant(dvn, `dvn:${dvnsKey[i].toBase58()} not initialized`)
428
+ return {
429
+ config: DvnAccounts.DvnConfig.fromAccountInfo(dvn)[0],
430
+ owner: dvn.owner,
431
+ }
432
+ })
433
+
434
+ const priceFeeds = new Array<PublicKey>()
435
+ ;[executor.config, ...dvns.map((dvn) => dvn.config)].forEach((config) => {
436
+ priceFeeds.push(config.priceFeed)
437
+ })
438
+ const priceFeedInfos = await this.getMultipleAccountsInfo(connection, priceFeeds, commitment)
439
+ priceFeedInfos.forEach((info, i) => {
440
+ invariant(info, `priceFeed:${priceFeeds[i].toBase58()} not initialized`)
441
+ })
442
+ executorAccounts = new Executor(executor.owner).getQuoteIXAccountMetaForCPI(
443
+ executor.config.priceFeed,
444
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
445
+ (await this.getMultipleAccountsInfo(connection, [executor.config.priceFeed], commitment))[0]!.owner,
446
+ quoteOrSend === QuoteOrSend.Send
447
+ )
448
+ dvnAccounts = (
449
+ await Promise.all(
450
+ dvns.map(async (p, i) => {
451
+ return new DVN(p.owner).getQuoteIXAccountMetaForCPI(
452
+ p.config.priceFeed,
453
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
454
+ (await this.getMultipleAccountsInfo(connection, [p.config.priceFeed], commitment))[0]!
455
+ .owner,
456
+ quoteOrSend === QuoteOrSend.Send
457
+ )
458
+ })
459
+ )
460
+ ).flat()
461
+ }
462
+
463
+ const treasury = ulnState.treasury?.nativeReceiver
464
+ let accounts: AccountMeta[]
465
+ if (quoteOrSend === QuoteOrSend.Quote) {
466
+ accounts = UlnProgram.instructions.createQuoteInstructionAccounts(
467
+ {
468
+ endpoint: PublicKey.default, // useless
469
+ uln: this.uln.deriver.setting()[0],
470
+ sendConfig: ulnSendConfigInfo.accountId,
471
+ defaultSendConfig: ulnDefaultSendConfigInfo.accountId,
472
+ anchorRemainingAccounts: executorAccounts.concat(dvnAccounts),
473
+ } satisfies UlnProgram.instructions.QuoteInstructionAccounts,
474
+ this.ulnProgram
475
+ )
476
+ } else {
477
+ accounts = UlnProgram.instructions.createSendInstructionAccounts(
478
+ {
479
+ endpoint: PublicKey.default, // useless
480
+ uln: this.uln.deriver.setting()[0],
481
+ sendConfig: ulnSendConfigInfo.accountId,
482
+ defaultSendConfig: ulnDefaultSendConfigInfo.accountId,
483
+ payer,
484
+ treasury,
485
+ eventAuthority: this.uln.eventAuthorityPDA,
486
+ program: this.uln.program,
487
+ anchorRemainingAccounts: executorAccounts.concat(dvnAccounts),
488
+ } satisfies UlnProgram.instructions.SendInstructionAccounts,
489
+ this.ulnProgram
490
+ )
491
+ if (treasury) {
492
+ const treasuryIndex = accounts.findIndex((k) => k.pubkey.toBase58() == treasury.toBase58())
493
+ accounts[treasuryIndex].isWritable = true // treasury account
494
+ }
495
+ }
496
+ accounts.forEach((key) => {
497
+ if (!payer.equals(key.pubkey)) {
498
+ key.isSigner = false
499
+ }
500
+ })
501
+ return accounts.slice(1)
502
+ }
503
+ }