@layerzerolabs/lz-solana-sdk-v2 3.0.47 → 3.0.48

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 (323) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +11 -10
  3. package/src/base-oapp.ts +159 -0
  4. package/src/config.ts +32 -0
  5. package/src/deployment.test.ts +11 -0
  6. package/src/deployment.ts +128 -0
  7. package/src/dvn.ts +606 -0
  8. package/src/endpoint.ts +1518 -0
  9. package/src/executor.ts +577 -0
  10. package/src/generated/blocked_messagelib/index.ts +18 -0
  11. package/src/generated/blocked_messagelib/instructions/index.ts +1 -0
  12. package/src/generated/blocked_messagelib/instructions/version.ts +59 -0
  13. package/src/generated/dvn/accounts/DvnConfig.ts +217 -0
  14. package/src/generated/dvn/accounts/ExecuteHash.ts +179 -0
  15. package/src/generated/dvn/accounts/ReceiveConfig.ts +169 -0
  16. package/src/generated/dvn/accounts/index.ts +9 -0
  17. package/src/generated/dvn/errors/index.ts +396 -0
  18. package/src/generated/dvn/events/AdminConfigSetEvent.ts +22 -0
  19. package/src/generated/dvn/events/FeeWithdrawnEvent.ts +26 -0
  20. package/src/generated/dvn/events/MultisigConfigSetEvent.ts +22 -0
  21. package/src/generated/dvn/events/index.ts +3 -0
  22. package/src/generated/dvn/index.ts +21 -0
  23. package/src/generated/dvn/instructions/closeExecute.ts +148 -0
  24. package/src/generated/dvn/instructions/index.ts +7 -0
  25. package/src/generated/dvn/instructions/initDvn.ts +144 -0
  26. package/src/generated/dvn/instructions/invoke.ts +178 -0
  27. package/src/generated/dvn/instructions/quoteDvn.ts +145 -0
  28. package/src/generated/dvn/instructions/setConfig.ts +157 -0
  29. package/src/generated/dvn/instructions/verifiable.ts +160 -0
  30. package/src/generated/dvn/instructions/withdrawFee.ts +172 -0
  31. package/src/generated/dvn/types/Acl.ts +26 -0
  32. package/src/generated/dvn/types/AdminConfig.ts +100 -0
  33. package/src/generated/dvn/types/CloseExecuteParams.ts +21 -0
  34. package/src/generated/dvn/types/DstConfig.ts +28 -0
  35. package/src/generated/dvn/types/ExecuteTransactionDigest.ts +37 -0
  36. package/src/generated/dvn/types/InitDvnParams.ts +34 -0
  37. package/src/generated/dvn/types/InvokeParams.ts +28 -0
  38. package/src/generated/dvn/types/LzOption.ts +24 -0
  39. package/src/generated/dvn/types/Multisig.ts +24 -0
  40. package/src/generated/dvn/types/MultisigConfig.ts +124 -0
  41. package/src/generated/dvn/types/QuoteDvnParams.ts +38 -0
  42. package/src/generated/dvn/types/SetConfigParams.ts +22 -0
  43. package/src/generated/dvn/types/TransactionAccount.ts +29 -0
  44. package/src/generated/dvn/types/UlnConfig.ts +34 -0
  45. package/src/generated/dvn/types/VerifiableParams.ts +24 -0
  46. package/src/generated/dvn/types/VerificationState.ts +27 -0
  47. package/src/generated/dvn/types/WithdrawFeeParams.ts +20 -0
  48. package/src/generated/dvn/types/index.ts +17 -0
  49. package/src/generated/endpoint/accounts/ComposeMessageState.ts +170 -0
  50. package/src/generated/endpoint/accounts/EndpointSettings.ts +184 -0
  51. package/src/generated/endpoint/accounts/MessageLibInfo.ts +178 -0
  52. package/src/generated/endpoint/accounts/Nonce.ts +193 -0
  53. package/src/generated/endpoint/accounts/OAppRegistry.ts +169 -0
  54. package/src/generated/endpoint/accounts/PayloadHash.ts +169 -0
  55. package/src/generated/endpoint/accounts/PendingInboundNonce.ts +172 -0
  56. package/src/generated/endpoint/accounts/ReceiveLibraryConfig.ts +183 -0
  57. package/src/generated/endpoint/accounts/SendLibraryConfig.ts +171 -0
  58. package/src/generated/endpoint/accounts/index.ts +31 -0
  59. package/src/generated/endpoint/errors/index.ts +428 -0
  60. package/src/generated/endpoint/events/AdminTransferredEvent.ts +23 -0
  61. package/src/generated/endpoint/events/ComposeDeliveredEvent.ts +31 -0
  62. package/src/generated/endpoint/events/ComposeSentEvent.ts +33 -0
  63. package/src/generated/endpoint/events/DefaultReceiveLibrarySetEvent.ts +27 -0
  64. package/src/generated/endpoint/events/DefaultReceiveLibraryTimeoutSetEvent.ts +29 -0
  65. package/src/generated/endpoint/events/DefaultSendLibrarySetEvent.ts +27 -0
  66. package/src/generated/endpoint/events/DelegateSetEvent.ts +22 -0
  67. package/src/generated/endpoint/events/InboundNonceSkippedEvent.ts +31 -0
  68. package/src/generated/endpoint/events/LibraryRegisteredEvent.ts +27 -0
  69. package/src/generated/endpoint/events/LzComposeAlertEvent.ts +43 -0
  70. package/src/generated/endpoint/events/LzReceiveAlertEvent.ts +45 -0
  71. package/src/generated/endpoint/events/LzTokenSetEvent.ts +23 -0
  72. package/src/generated/endpoint/events/OAppRegisteredEvent.ts +27 -0
  73. package/src/generated/endpoint/events/PacketBurntEvent.ts +32 -0
  74. package/src/generated/endpoint/events/PacketDeliveredEvent.ts +31 -0
  75. package/src/generated/endpoint/events/PacketNilifiedEvent.ts +33 -0
  76. package/src/generated/endpoint/events/PacketSentEvent.ts +29 -0
  77. package/src/generated/endpoint/events/PacketVerifiedEvent.ts +33 -0
  78. package/src/generated/endpoint/events/ReceiveLibrarySetEvent.ts +29 -0
  79. package/src/generated/endpoint/events/ReceiveLibraryTimeoutSetEvent.ts +33 -0
  80. package/src/generated/endpoint/events/RentWithdrawnEvent.ts +27 -0
  81. package/src/generated/endpoint/events/SendLibrarySetEvent.ts +29 -0
  82. package/src/generated/endpoint/events/index.ts +22 -0
  83. package/src/generated/endpoint/index.ts +21 -0
  84. package/src/generated/endpoint/instructions/burn.ts +191 -0
  85. package/src/generated/endpoint/instructions/clear.ts +193 -0
  86. package/src/generated/endpoint/instructions/clearCompose.ts +160 -0
  87. package/src/generated/endpoint/instructions/index.ts +32 -0
  88. package/src/generated/endpoint/instructions/initConfig.ts +172 -0
  89. package/src/generated/endpoint/instructions/initDefaultReceiveLibrary.ts +195 -0
  90. package/src/generated/endpoint/instructions/initDefaultSendLibrary.ts +195 -0
  91. package/src/generated/endpoint/instructions/initEndpoint.ts +147 -0
  92. package/src/generated/endpoint/instructions/initNonce.ts +168 -0
  93. package/src/generated/endpoint/instructions/initReceiveLibrary.ts +159 -0
  94. package/src/generated/endpoint/instructions/initSendLibrary.ts +159 -0
  95. package/src/generated/endpoint/instructions/initVerify.ts +159 -0
  96. package/src/generated/endpoint/instructions/lzComposeAlert.ts +148 -0
  97. package/src/generated/endpoint/instructions/lzReceiveAlert.ts +148 -0
  98. package/src/generated/endpoint/instructions/nilify.ts +193 -0
  99. package/src/generated/endpoint/instructions/quote.ts +181 -0
  100. package/src/generated/endpoint/instructions/registerLibrary.ts +183 -0
  101. package/src/generated/endpoint/instructions/registerOapp.ts +183 -0
  102. package/src/generated/endpoint/instructions/send.ts +215 -0
  103. package/src/generated/endpoint/instructions/sendCompose.ts +183 -0
  104. package/src/generated/endpoint/instructions/setConfig.ts +169 -0
  105. package/src/generated/endpoint/instructions/setDefaultReceiveLibrary.ts +184 -0
  106. package/src/generated/endpoint/instructions/setDefaultReceiveLibraryTimeout.ts +185 -0
  107. package/src/generated/endpoint/instructions/setDefaultSendLibrary.ts +184 -0
  108. package/src/generated/endpoint/instructions/setDelegate.ts +160 -0
  109. package/src/generated/endpoint/instructions/setLzToken.ts +160 -0
  110. package/src/generated/endpoint/instructions/setReceiveLibrary.ts +190 -0
  111. package/src/generated/endpoint/instructions/setReceiveLibraryTimeout.ts +184 -0
  112. package/src/generated/endpoint/instructions/setSendLibrary.ts +190 -0
  113. package/src/generated/endpoint/instructions/skip.ts +203 -0
  114. package/src/generated/endpoint/instructions/transferAdmin.ts +160 -0
  115. package/src/generated/endpoint/instructions/verify.ts +205 -0
  116. package/src/generated/endpoint/instructions/withdrawRent.ts +172 -0
  117. package/src/generated/endpoint/types/BurnParams.ts +32 -0
  118. package/src/generated/endpoint/types/ClearComposeParams.ts +31 -0
  119. package/src/generated/endpoint/types/ClearParams.ts +34 -0
  120. package/src/generated/endpoint/types/InitConfigParams.ts +26 -0
  121. package/src/generated/endpoint/types/InitDefaultReceiveLibraryParams.ts +27 -0
  122. package/src/generated/endpoint/types/InitDefaultSendLibraryParams.ts +27 -0
  123. package/src/generated/endpoint/types/InitEndpointParams.ts +27 -0
  124. package/src/generated/endpoint/types/InitNonceParams.ts +28 -0
  125. package/src/generated/endpoint/types/InitReceiveLibraryParams.ts +27 -0
  126. package/src/generated/endpoint/types/InitSendLibraryParams.ts +27 -0
  127. package/src/generated/endpoint/types/InitVerifyParams.ts +30 -0
  128. package/src/generated/endpoint/types/LzComposeAlertParams.ts +41 -0
  129. package/src/generated/endpoint/types/LzReceiveAlertParams.ts +43 -0
  130. package/src/generated/endpoint/types/MessageLibType.ts +25 -0
  131. package/src/generated/endpoint/types/MessagingFee.ts +24 -0
  132. package/src/generated/endpoint/types/MessagingReceipt.ts +27 -0
  133. package/src/generated/endpoint/types/NilifyParams.ts +32 -0
  134. package/src/generated/endpoint/types/QuoteParams.ts +34 -0
  135. package/src/generated/endpoint/types/ReceiveLibraryTimeout.ts +27 -0
  136. package/src/generated/endpoint/types/RegisterLibraryParams.ts +28 -0
  137. package/src/generated/endpoint/types/RegisterOAppParams.ts +23 -0
  138. package/src/generated/endpoint/types/SendComposeParams.ts +31 -0
  139. package/src/generated/endpoint/types/SendParams.ts +32 -0
  140. package/src/generated/endpoint/types/SetConfigParams.ts +31 -0
  141. package/src/generated/endpoint/types/SetDefaultReceiveLibraryParams.ts +29 -0
  142. package/src/generated/endpoint/types/SetDefaultReceiveLibraryTimeoutParams.ts +29 -0
  143. package/src/generated/endpoint/types/SetDefaultSendLibraryParams.ts +27 -0
  144. package/src/generated/endpoint/types/SetDelegateParams.ts +22 -0
  145. package/src/generated/endpoint/types/SetLzTokenParams.ts +23 -0
  146. package/src/generated/endpoint/types/SetReceiveLibraryParams.ts +31 -0
  147. package/src/generated/endpoint/types/SetReceiveLibraryTimeoutParams.ts +31 -0
  148. package/src/generated/endpoint/types/SetSendLibraryParams.ts +29 -0
  149. package/src/generated/endpoint/types/SkipParams.ts +30 -0
  150. package/src/generated/endpoint/types/TransferAdminParams.ts +23 -0
  151. package/src/generated/endpoint/types/VerifyParams.ts +32 -0
  152. package/src/generated/endpoint/types/WithdrawRentParams.ts +21 -0
  153. package/src/generated/endpoint/types/index.ts +36 -0
  154. package/src/generated/executor/accounts/ExecutorConfig.ts +216 -0
  155. package/src/generated/executor/accounts/Nonce.ts +193 -0
  156. package/src/generated/executor/accounts/index.ts +7 -0
  157. package/src/generated/executor/errors/index.ts +434 -0
  158. package/src/generated/executor/events/NativeDropAppliedEvent.ts +38 -0
  159. package/src/generated/executor/events/index.ts +1 -0
  160. package/src/generated/executor/index.ts +21 -0
  161. package/src/generated/executor/instructions/adminSetConfig.ts +136 -0
  162. package/src/generated/executor/instructions/compose.ts +181 -0
  163. package/src/generated/executor/instructions/executable.ts +136 -0
  164. package/src/generated/executor/instructions/execute.ts +181 -0
  165. package/src/generated/executor/instructions/index.ts +8 -0
  166. package/src/generated/executor/instructions/initExecutor.ts +147 -0
  167. package/src/generated/executor/instructions/nativeDrop.ts +171 -0
  168. package/src/generated/executor/instructions/ownerSetConfig.ts +136 -0
  169. package/src/generated/executor/instructions/quoteExecutor.ts +148 -0
  170. package/src/generated/executor/types/Acl.ts +26 -0
  171. package/src/generated/executor/types/AdminSetConfigParams.ts +83 -0
  172. package/src/generated/executor/types/ComposeParams.ts +27 -0
  173. package/src/generated/executor/types/DstConfig.ts +32 -0
  174. package/src/generated/executor/types/ExecutableParams.ts +30 -0
  175. package/src/generated/executor/types/ExecuteParams.ts +31 -0
  176. package/src/generated/executor/types/ExecutionState.ts +26 -0
  177. package/src/generated/executor/types/InitExecutorParams.ts +33 -0
  178. package/src/generated/executor/types/LzComposeParams.ts +35 -0
  179. package/src/generated/executor/types/LzOption.ts +24 -0
  180. package/src/generated/executor/types/LzReceiveParams.ts +33 -0
  181. package/src/generated/executor/types/NativeDropParams.ts +36 -0
  182. package/src/generated/executor/types/NativeDropRequest.ts +26 -0
  183. package/src/generated/executor/types/OwnerSetConfigParams.ts +123 -0
  184. package/src/generated/executor/types/QuoteExecutorParams.ts +34 -0
  185. package/src/generated/executor/types/index.ts +15 -0
  186. package/src/generated/pricefeed/accounts/PriceFeed.ts +220 -0
  187. package/src/generated/pricefeed/accounts/index.ts +5 -0
  188. package/src/generated/pricefeed/errors/index.ts +115 -0
  189. package/src/generated/pricefeed/index.ts +21 -0
  190. package/src/generated/pricefeed/instructions/getFee.ts +121 -0
  191. package/src/generated/pricefeed/instructions/index.ts +6 -0
  192. package/src/generated/pricefeed/instructions/initPriceFeed.ts +147 -0
  193. package/src/generated/pricefeed/instructions/setPrice.ts +133 -0
  194. package/src/generated/pricefeed/instructions/setPriceFeed.ts +136 -0
  195. package/src/generated/pricefeed/instructions/setSolPrice.ts +136 -0
  196. package/src/generated/pricefeed/instructions/transferAdmin.ts +136 -0
  197. package/src/generated/pricefeed/types/GetFeeParams.ts +26 -0
  198. package/src/generated/pricefeed/types/InitPriceFeedParams.ts +27 -0
  199. package/src/generated/pricefeed/types/ModelType.ts +66 -0
  200. package/src/generated/pricefeed/types/Price.ts +31 -0
  201. package/src/generated/pricefeed/types/PriceParams.ts +29 -0
  202. package/src/generated/pricefeed/types/SetPriceFeedParams.ts +29 -0
  203. package/src/generated/pricefeed/types/SetPriceParams.ts +26 -0
  204. package/src/generated/pricefeed/types/SetSolPriceParams.ts +21 -0
  205. package/src/generated/pricefeed/types/TransferAdminParams.ts +23 -0
  206. package/src/generated/pricefeed/types/index.ts +9 -0
  207. package/src/generated/simple_messagelib/accounts/MessageLib.ts +222 -0
  208. package/src/generated/simple_messagelib/accounts/ReceiveConfigStore.ts +168 -0
  209. package/src/generated/simple_messagelib/accounts/SendConfigStore.ts +170 -0
  210. package/src/generated/simple_messagelib/accounts/index.ts +13 -0
  211. package/src/generated/simple_messagelib/errors/index.ts +207 -0
  212. package/src/generated/simple_messagelib/index.ts +21 -0
  213. package/src/generated/simple_messagelib/instructions/index.ts +15 -0
  214. package/src/generated/simple_messagelib/instructions/initConfig.ts +183 -0
  215. package/src/generated/simple_messagelib/instructions/initDefaultConfig.ts +171 -0
  216. package/src/generated/simple_messagelib/instructions/initMessageLib.ts +147 -0
  217. package/src/generated/simple_messagelib/instructions/quote.ts +133 -0
  218. package/src/generated/simple_messagelib/instructions/revertCall.ts +59 -0
  219. package/src/generated/simple_messagelib/instructions/send.ts +154 -0
  220. package/src/generated/simple_messagelib/instructions/sendWithLzToken.ts +207 -0
  221. package/src/generated/simple_messagelib/instructions/setConfig.ts +157 -0
  222. package/src/generated/simple_messagelib/instructions/setDefaultConfig.ts +171 -0
  223. package/src/generated/simple_messagelib/instructions/setFee.ts +133 -0
  224. package/src/generated/simple_messagelib/instructions/setWlCaller.ts +136 -0
  225. package/src/generated/simple_messagelib/instructions/transferAdmin.ts +136 -0
  226. package/src/generated/simple_messagelib/instructions/validatePacket.ts +136 -0
  227. package/src/generated/simple_messagelib/instructions/version.ts +59 -0
  228. package/src/generated/simple_messagelib/instructions/withdrawFees.ts +148 -0
  229. package/src/generated/simple_messagelib/types/InitConfigParams.ts +26 -0
  230. package/src/generated/simple_messagelib/types/InitDefaultConfigParams.ts +27 -0
  231. package/src/generated/simple_messagelib/types/InitMessageLibParams.ts +35 -0
  232. package/src/generated/simple_messagelib/types/MessagingFee.ts +24 -0
  233. package/src/generated/simple_messagelib/types/Packet.ts +36 -0
  234. package/src/generated/simple_messagelib/types/QuoteParams.ts +27 -0
  235. package/src/generated/simple_messagelib/types/SendParams.ts +27 -0
  236. package/src/generated/simple_messagelib/types/SendWithLzTokenParams.ts +34 -0
  237. package/src/generated/simple_messagelib/types/SetConfigParams.ts +31 -0
  238. package/src/generated/simple_messagelib/types/SetDefaultConfigParams.ts +27 -0
  239. package/src/generated/simple_messagelib/types/SetFeeParams.ts +24 -0
  240. package/src/generated/simple_messagelib/types/SetWlCallerParams.ts +22 -0
  241. package/src/generated/simple_messagelib/types/TransferAdminParams.ts +23 -0
  242. package/src/generated/simple_messagelib/types/ValidatePacketParams.ts +21 -0
  243. package/src/generated/simple_messagelib/types/Version.ts +26 -0
  244. package/src/generated/simple_messagelib/types/WithdrawFeesParams.ts +21 -0
  245. package/src/generated/simple_messagelib/types/index.ts +16 -0
  246. package/src/generated/uln/accounts/Confirmations.ts +171 -0
  247. package/src/generated/uln/accounts/ReceiveConfig.ts +169 -0
  248. package/src/generated/uln/accounts/SendConfig.ts +177 -0
  249. package/src/generated/uln/accounts/UlnSettings.ts +195 -0
  250. package/src/generated/uln/accounts/index.ts +16 -0
  251. package/src/generated/uln/errors/index.ts +761 -0
  252. package/src/generated/uln/events/AdminTransferredEvent.ts +23 -0
  253. package/src/generated/uln/events/ConfigSetEvent.ts +30 -0
  254. package/src/generated/uln/events/DefaultConfigSetEvent.ts +31 -0
  255. package/src/generated/uln/events/FeesPaidEvent.ts +28 -0
  256. package/src/generated/uln/events/LzTokenSetEvent.ts +23 -0
  257. package/src/generated/uln/events/PayloadVerifiedEvent.ts +31 -0
  258. package/src/generated/uln/events/RentWithdrawnEvent.ts +27 -0
  259. package/src/generated/uln/events/TreasuryFeeCapSetEvent.ts +21 -0
  260. package/src/generated/uln/events/TreasurySetEvent.ts +22 -0
  261. package/src/generated/uln/events/index.ts +7 -0
  262. package/src/generated/uln/index.ts +21 -0
  263. package/src/generated/uln/instructions/closeVerify.ts +148 -0
  264. package/src/generated/uln/instructions/commitVerification.ts +148 -0
  265. package/src/generated/uln/instructions/index.ts +16 -0
  266. package/src/generated/uln/instructions/initConfig.ts +183 -0
  267. package/src/generated/uln/instructions/initDefaultConfig.ts +195 -0
  268. package/src/generated/uln/instructions/initUln.ts +144 -0
  269. package/src/generated/uln/instructions/initVerify.ts +147 -0
  270. package/src/generated/uln/instructions/quote.ts +157 -0
  271. package/src/generated/uln/instructions/send.ts +220 -0
  272. package/src/generated/uln/instructions/sendWithLzToken.ts +255 -0
  273. package/src/generated/uln/instructions/setConfig.ts +205 -0
  274. package/src/generated/uln/instructions/setDefaultConfig.ts +184 -0
  275. package/src/generated/uln/instructions/setTreasury.ts +160 -0
  276. package/src/generated/uln/instructions/transferAdmin.ts +160 -0
  277. package/src/generated/uln/instructions/verify.ts +157 -0
  278. package/src/generated/uln/instructions/version.ts +59 -0
  279. package/src/generated/uln/instructions/withdrawRent.ts +172 -0
  280. package/src/generated/uln/types/CloseVerifyParams.ts +24 -0
  281. package/src/generated/uln/types/CommitVerificationParams.ts +25 -0
  282. package/src/generated/uln/types/Config.ts +75 -0
  283. package/src/generated/uln/types/ExecutorConfig.ts +26 -0
  284. package/src/generated/uln/types/InitConfigParams.ts +26 -0
  285. package/src/generated/uln/types/InitDefaultConfigParams.ts +31 -0
  286. package/src/generated/uln/types/InitUlnParams.ts +30 -0
  287. package/src/generated/uln/types/InitVerifyParams.ts +28 -0
  288. package/src/generated/uln/types/LzTokenTreasury.ts +26 -0
  289. package/src/generated/uln/types/MessagingFee.ts +24 -0
  290. package/src/generated/uln/types/Packet.ts +36 -0
  291. package/src/generated/uln/types/QuoteParams.ts +27 -0
  292. package/src/generated/uln/types/SendParams.ts +27 -0
  293. package/src/generated/uln/types/SendWithLzTokenParams.ts +34 -0
  294. package/src/generated/uln/types/SetConfigParams.ts +31 -0
  295. package/src/generated/uln/types/SetDefaultConfigParams.ts +31 -0
  296. package/src/generated/uln/types/SetTreasuryParams.ts +22 -0
  297. package/src/generated/uln/types/TransferAdminParams.ts +23 -0
  298. package/src/generated/uln/types/Treasury.ts +31 -0
  299. package/src/generated/uln/types/TreasuryFee.ts +28 -0
  300. package/src/generated/uln/types/UlnConfig.ts +34 -0
  301. package/src/generated/uln/types/VerifyParams.ts +26 -0
  302. package/src/generated/uln/types/Version.ts +26 -0
  303. package/src/generated/uln/types/WithdrawRentParams.ts +21 -0
  304. package/src/generated/uln/types/WorkerFee.ts +26 -0
  305. package/src/generated/uln/types/index.ts +25 -0
  306. package/src/generated/worker_interface/errors/index.ts +75 -0
  307. package/src/generated/worker_interface/index.ts +20 -0
  308. package/src/generated/worker_interface/instructions/index.ts +2 -0
  309. package/src/generated/worker_interface/instructions/quoteDvn.ts +145 -0
  310. package/src/generated/worker_interface/instructions/quoteExecutor.ts +148 -0
  311. package/src/generated/worker_interface/types/LzOption.ts +24 -0
  312. package/src/generated/worker_interface/types/QuoteDvnParams.ts +38 -0
  313. package/src/generated/worker_interface/types/QuoteExecutorParams.ts +34 -0
  314. package/src/generated/worker_interface/types/index.ts +3 -0
  315. package/src/index.ts +120 -0
  316. package/src/pda-deriver.ts +658 -0
  317. package/src/pricefeed.ts +208 -0
  318. package/src/recevie.ts +269 -0
  319. package/src/send-helper.ts +504 -0
  320. package/src/simple-message-lib.ts +303 -0
  321. package/src/types.ts +222 -0
  322. package/src/uln.ts +1045 -0
  323. package/src/utility.ts +592 -0
@@ -0,0 +1,303 @@
1
+ import {
2
+ AccountMeta,
3
+ Commitment,
4
+ Connection,
5
+ GetAccountInfoConfig,
6
+ PublicKey,
7
+ TransactionInstruction,
8
+ } from '@solana/web3.js'
9
+
10
+ import { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities'
11
+
12
+ import * as accounts from './generated/simple_messagelib/accounts'
13
+ import * as errors from './generated/simple_messagelib/errors'
14
+ import * as instructions from './generated/simple_messagelib/instructions'
15
+ import * as types from './generated/simple_messagelib/types'
16
+ import { EndpointPDADeriver, MessageLibPDADeriver } from './pda-deriver'
17
+
18
+ import { EndpointProgram, MessageLibInterface, SolanaPacketPath } from '.'
19
+
20
+ export { PROGRAM_ID } from './generated/simple_messagelib'
21
+
22
+ export { accounts, instructions, types, errors }
23
+
24
+ /**
25
+ * Class representing the SimpleMessageLib.
26
+ * @see {@link MessageLibInterface}
27
+ */
28
+ export class SimpleMessageLib implements MessageLibInterface {
29
+ /**
30
+ * The PDA deriver for the message library.
31
+ */
32
+ deriver: MessageLibPDADeriver
33
+
34
+ /**
35
+ * Creates an instance of the SimpleMessageLib class.
36
+ *
37
+ * @param {PublicKey} program - The program public key.
38
+ */
39
+ constructor(public program: PublicKey) {
40
+ this.deriver = new MessageLibPDADeriver(program)
41
+ }
42
+
43
+ /**
44
+ * Initializes the SimpleMessageLib.
45
+ *
46
+ * @param {PublicKey} endpointProgram - The endpoint program public key.
47
+ * @param {PublicKey} payer - The payer public key.
48
+ * @param {PublicKey} admin - The admin public key.
49
+ * @param {number} eid - The endpoint ID.
50
+ * @param {number} nativeFee - The native fee.
51
+ * @param {number} [lzTokenFee=0] - The LayerZero token fee.
52
+ *
53
+ * @returns {TransactionInstruction} The transaction instruction.
54
+ */
55
+ initSimpleMessageLib(
56
+ endpointProgram: PublicKey,
57
+ payer: PublicKey,
58
+ admin: PublicKey,
59
+ eid: number,
60
+ nativeFee: number,
61
+ lzTokenFee = 0
62
+ ): TransactionInstruction {
63
+ const [messageLibPda] = this.deriver.messageLib()
64
+ const [endpointAuth] = new EndpointPDADeriver(endpointProgram).messageLibraryInfo(messageLibPda)
65
+ return instructions.createInitMessageLibInstruction(
66
+ {
67
+ payer,
68
+ messageLib: messageLibPda,
69
+ } satisfies instructions.InitMessageLibInstructionAccounts,
70
+ {
71
+ params: {
72
+ endpointProgram: endpointProgram,
73
+ endpoint: endpointAuth,
74
+ eid,
75
+ admin,
76
+ fee: nativeFee,
77
+ lzTokenFee,
78
+ } satisfies types.InitMessageLibParams,
79
+ },
80
+ this.program
81
+ )
82
+ }
83
+
84
+ /**
85
+ * Sets the whitelist caller.
86
+ *
87
+ * @param {PublicKey} admin - The admin public key.
88
+ * @param {PublicKey} newCaller - The new caller public key.
89
+ *
90
+ * @returns {TransactionInstruction} The transaction instruction.
91
+ */
92
+ setWhitelistCaller(admin: PublicKey, newCaller: PublicKey): TransactionInstruction {
93
+ const [messageLibPDA] = this.deriver.messageLib()
94
+ return instructions.createSetWlCallerInstruction(
95
+ {
96
+ admin,
97
+ messageLib: messageLibPDA,
98
+ } satisfies instructions.SetWlCallerInstructionAccounts,
99
+ {
100
+ params: {
101
+ newCaller,
102
+ } satisfies types.SetWlCallerParams,
103
+ } satisfies instructions.SetWlCallerInstructionArgs,
104
+ this.program
105
+ )
106
+ }
107
+
108
+ /**
109
+ * Checks if a caller is whitelisted.
110
+ *
111
+ * @param {Connection} connection - The connection object.
112
+ * @param {PublicKey} caller - The caller public key.
113
+ * @param {Commitment | GetAccountInfoConfig} [commitmentOrConfig] - The commitment or config.
114
+ *
115
+ * @returns {Promise<boolean>} A promise that resolves to true if the caller is whitelisted, false otherwise.
116
+ */
117
+ async isWhiteListed(
118
+ connection: Connection,
119
+ caller: PublicKey,
120
+ commitmentOrConfig?: Commitment | GetAccountInfoConfig
121
+ ): Promise<boolean> {
122
+ try {
123
+ const exceptedCaller = await this.getWhiteListCaller(connection, commitmentOrConfig)
124
+ return exceptedCaller.equals(caller)
125
+ } catch (e) {
126
+ return false
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Gets the whitelisted caller.
132
+ *
133
+ * @param {Connection} connection - The connection object.
134
+ * @param {Commitment | GetAccountInfoConfig} [commitmentOrConfig] - The commitment or config.
135
+ *
136
+ * @returns {Promise<PublicKey>} A promise that resolves to the whitelisted caller public key.
137
+ */
138
+ async getWhiteListCaller(
139
+ connection: Connection,
140
+ commitmentOrConfig?: Commitment | GetAccountInfoConfig
141
+ ): Promise<PublicKey> {
142
+ const [messageLibPDA] = this.deriver.messageLib()
143
+ const messageLibInfo = await accounts.MessageLib.fromAccountAddress(
144
+ connection,
145
+ messageLibPDA,
146
+ commitmentOrConfig
147
+ )
148
+ return messageLibInfo.wlCaller
149
+ }
150
+
151
+ /**
152
+ * Validates a packet.
153
+ *
154
+ * @param {Connection} _connection - The connection object.
155
+ * @param {PublicKey} endpointProgram - The endpoint program public key.
156
+ * @param {PublicKey} payer - The payer public key.
157
+ * @param {Uint8Array} encodedPacket - The encoded packet.
158
+ *
159
+ * @returns {TransactionInstruction} The transaction instruction.
160
+ */
161
+ validatePacket(
162
+ _connection: Connection,
163
+ endpointProgram: PublicKey,
164
+ payer: PublicKey,
165
+ encodedPacket: Uint8Array
166
+ ): TransactionInstruction {
167
+ const packet = PacketV1Codec.fromBytes(encodedPacket)
168
+ const [receiveLibrary] = this.deriver.messageLib()
169
+ const endpoint = new EndpointProgram.Endpoint(endpointProgram)
170
+
171
+ return instructions.createValidatePacketInstruction(
172
+ {
173
+ payer: payer,
174
+ receiveLibrary,
175
+ anchorRemainingAccounts: endpoint.getVerifyIXAccountMetaForCPI(packet, receiveLibrary),
176
+ } satisfies instructions.ValidatePacketInstructionAccounts,
177
+ {
178
+ params: { packet: encodedPacket } satisfies types.ValidatePacketParams,
179
+ } satisfies instructions.ValidatePacketInstructionArgs,
180
+ this.program
181
+ )
182
+ }
183
+
184
+ /**
185
+ * Gets the account meta of the send instruction for CPI (Cross-Program Invocation).
186
+ *
187
+ * @param {Connection} _connection - The connection object.
188
+ * @param {PublicKey} payer - The payer public key.
189
+ * @param {PacketPath} _path - The packet path.
190
+ *
191
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account meta.
192
+ */
193
+ async getSendIXAccountMetaForCPI(
194
+ _connection: Connection,
195
+ payer: PublicKey,
196
+ _path: SolanaPacketPath
197
+ ): Promise<AccountMeta[]> {
198
+ const [msgLib] = this.deriver.messageLib()
199
+ const cpiAccounts = instructions.createSendInstructionAccounts(
200
+ {
201
+ endpoint: PublicKey.default, // useless
202
+ messageLib: msgLib,
203
+ payer,
204
+ } satisfies instructions.SendInstructionAccounts,
205
+ this.program
206
+ )
207
+ cpiAccounts.forEach((key) => {
208
+ if (!payer.equals(key.pubkey)) {
209
+ key.isSigner = false
210
+ }
211
+ })
212
+
213
+ return Promise.resolve(cpiAccounts.slice(1))
214
+ }
215
+
216
+ /**
217
+ * Gets the account meta of the quote instruction for CPI (Cross-Program Invocation).
218
+ *
219
+ * @param {Connection} _connection - The connection object.
220
+ * @param {PublicKey} _payer - The payer public key.
221
+ * @param {PacketPath} _path - The packet path.
222
+ * @param {Commitment} [commitment] - The commitment.
223
+ *
224
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account meta.
225
+ */
226
+ async getQuoteIXAccountMetaForCPI(
227
+ _connection: Connection,
228
+ _payer: PublicKey,
229
+ _path: SolanaPacketPath,
230
+ _commitment?: Commitment
231
+ ): Promise<AccountMeta[]> {
232
+ const [msgLib] = this.deriver.messageLib()
233
+ const keys = instructions.createQuoteInstructionAccounts(
234
+ {
235
+ endpoint: PublicKey.default, // useless
236
+ messageLib: msgLib,
237
+ } satisfies instructions.QuoteInstructionAccounts,
238
+ this.program
239
+ )
240
+ return Promise.resolve(keys.slice(1))
241
+ }
242
+
243
+ /**
244
+ * Gets the account meta of the init config instruction for CPI (Cross-Program Invocation).
245
+ *
246
+ * @param {PublicKey} payer - The payer public key.
247
+ * @param {PublicKey} oappID - The oapp ID public key.
248
+ * @param {number} eid - The endpoint ID.
249
+ *
250
+ * @returns {AccountMeta[]} An array of account meta.
251
+ */
252
+ getInitConfigIXAccountMetaForCPI(payer: PublicKey, oappID: PublicKey, eid: number): AccountMeta[] {
253
+ const [sendConfig] = this.deriver.sendConfig(eid, oappID)
254
+ const [receiveConfig] = this.deriver.receiveConfig(eid, oappID)
255
+ const [messageLib] = this.deriver.messageLib()
256
+
257
+ const keys = instructions.createInitConfigInstructionAccounts(
258
+ {
259
+ endpoint: PublicKey.default, // useless
260
+ payer,
261
+ messageLib,
262
+ sendConfig,
263
+ receiveConfig,
264
+ } satisfies instructions.InitConfigInstructionAccounts,
265
+ this.program
266
+ )
267
+ keys.forEach((key) => {
268
+ if (!payer.equals(key.pubkey)) {
269
+ key.isSigner = false
270
+ }
271
+ })
272
+ return keys.slice(1)
273
+ }
274
+
275
+ /**
276
+ * Gets the account meta of the set config instruction for CPI (Cross-Program Invocation).
277
+ *
278
+ * @param {PublicKey} endpointProgram - The endpoint program public key.
279
+ * @param {PublicKey} oappID - The oapp ID public key.
280
+ * @param {number} eid - The endpoint ID.
281
+ *
282
+ * @returns {Promise<AccountMeta[]>} A promise that resolves to an array of account meta.
283
+ */
284
+ async getSetConfigIXAccountMetaForCPI(
285
+ endpointProgram: PublicKey,
286
+ oappID: PublicKey,
287
+ eid: number
288
+ ): Promise<AccountMeta[]> {
289
+ const [sendConfig] = this.deriver.sendConfig(eid, oappID)
290
+ const [receiveConfig] = this.deriver.receiveConfig(eid, oappID)
291
+ const [msgLib] = this.deriver.messageLib()
292
+ const accounts = instructions.createSetConfigInstructionAccounts(
293
+ {
294
+ endpoint: PublicKey.default, // useless
295
+ sendConfig,
296
+ receiveConfig,
297
+ messageLib: msgLib,
298
+ } satisfies instructions.SetConfigInstructionAccounts,
299
+ this.program
300
+ )
301
+ return Promise.resolve(accounts.slice(1))
302
+ }
303
+ }
package/src/types.ts ADDED
@@ -0,0 +1,222 @@
1
+ import {
2
+ BeetArgsStruct,
3
+ FixableBeetArgsStruct,
4
+ bignum,
5
+ bool,
6
+ bytes,
7
+ u16,
8
+ u32,
9
+ u64,
10
+ u8,
11
+ uniformFixedSizeArray,
12
+ } from '@metaplex-foundation/beet'
13
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
14
+ import { PublicKey } from '@solana/web3.js'
15
+
16
+ /**
17
+ * Represents the address type as a fixed-size array of 32 bytes.
18
+ */
19
+ export const AddressType = uniformFixedSizeArray(u8, 32)
20
+
21
+ /**
22
+ * Offset for message type.
23
+ */
24
+ export const MSG_TYPE_OFFSET = 0
25
+
26
+ /**
27
+ * Enum representing different message types.
28
+ */
29
+ export enum MessageType {
30
+ /**
31
+ * Vanilla message type.
32
+ */
33
+ VANILLA = 1,
34
+
35
+ /**
36
+ * Composed message type.
37
+ */
38
+ COMPOSED_TYPE = 2,
39
+ }
40
+
41
+ /**
42
+ * Interface representing the parameters for LzReceive.
43
+ */
44
+ export interface LzReceiveParams {
45
+ /**
46
+ * Source EID.
47
+ */
48
+ srcEid: number
49
+
50
+ /**
51
+ * Sender address (size: 32).
52
+ */
53
+ sender: number[] /* size: 32 */
54
+
55
+ /**
56
+ * Nonce value.
57
+ */
58
+ nonce: bignum
59
+
60
+ /**
61
+ * GUID (size: 32).
62
+ */
63
+ guid: number[] /* size: 32 */
64
+
65
+ /**
66
+ * Message content.
67
+ */
68
+ message: Uint8Array
69
+
70
+ /**
71
+ * Caller parameters.
72
+ */
73
+ callerParams: Uint8Array
74
+ }
75
+
76
+ /**
77
+ * Struct for serializing and deserializing LzReceiveParams.
78
+ */
79
+ export const LzReceiveParamsBeet = new FixableBeetArgsStruct<LzReceiveParams>(
80
+ [
81
+ ['srcEid', u32],
82
+ ['sender', uniformFixedSizeArray(u8, 32)],
83
+ ['nonce', u64],
84
+ ['guid', uniformFixedSizeArray(u8, 32)],
85
+ ['message', bytes],
86
+ ['callerParams', bytes],
87
+ ],
88
+ 'LzReceiveParams'
89
+ )
90
+
91
+ /**
92
+ *
93
+ pub from: Pubkey,
94
+ pub to: Pubkey,
95
+ pub guid: [u8; 32],
96
+ pub index: u16,
97
+ pub message: Vec<u8>,
98
+ pub extra_data: Vec<u8>,
99
+ **/
100
+
101
+ /**
102
+ * Interface representing the parameters for LzCompose.
103
+ */
104
+ export interface LzComposeParams {
105
+ /**
106
+ * Sender public key.
107
+ */
108
+ from: PublicKey
109
+
110
+ /**
111
+ * Recipient public key.
112
+ */
113
+ to: PublicKey
114
+
115
+ /**
116
+ * GUID (size: 32).
117
+ */
118
+ guid: number[] /* size: 32 */
119
+
120
+ /**
121
+ * Index value.
122
+ */
123
+ index: number
124
+
125
+ /**
126
+ * Message content.
127
+ */
128
+ message: Uint8Array
129
+
130
+ /**
131
+ * Extra data.
132
+ */
133
+ extraData: Uint8Array
134
+ }
135
+
136
+ /**
137
+ * Struct for serializing and deserializing LzComposeParams.
138
+ *
139
+ * @category userTypes
140
+ * @category generated
141
+ */
142
+ export const LzComposeParamsBeet = new FixableBeetArgsStruct<LzComposeParams>(
143
+ [
144
+ ['from', beetSolana.publicKey],
145
+ ['to', beetSolana.publicKey],
146
+ ['guid', uniformFixedSizeArray(u8, 32)],
147
+ ['index', u16],
148
+ ['message', bytes],
149
+ ['extraData', bytes],
150
+ ],
151
+ 'LzComposeParams'
152
+ )
153
+
154
+ /**
155
+ * Interface representing an LzReceive account.
156
+ */
157
+ export interface LzReceiveAccount {
158
+ /**
159
+ * Public key of the account.
160
+ */
161
+ pubkey: PublicKey
162
+
163
+ /**
164
+ * Indicates if the account is a signer.
165
+ */
166
+ isSigner: boolean
167
+
168
+ /**
169
+ * Indicates if the account is writable.
170
+ */
171
+ isWritable: boolean
172
+ }
173
+
174
+ /**
175
+ * Struct for serializing and deserializing LzReceiveAccount.
176
+ *
177
+ * @category userTypes
178
+ * @category generated
179
+ */
180
+ export const LzReceiveAccountBeet = new BeetArgsStruct<LzReceiveAccount>(
181
+ [
182
+ ['pubkey', beetSolana.publicKey],
183
+ ['isSigner', bool],
184
+ ['isWritable', bool],
185
+ ],
186
+ 'LzReceiveAccount'
187
+ )
188
+
189
+ /**
190
+ * Enum representing different executor option types.
191
+ */
192
+ export enum ExecutorOptionType {
193
+ /**
194
+ * Placeholder option type.
195
+ */
196
+ PlaceHolder = 0,
197
+
198
+ /**
199
+ * LzReceive option type.
200
+ */
201
+ LzReceive = 1,
202
+
203
+ /**
204
+ * NativeDrop option type.
205
+ */
206
+ NativeDrop = 2,
207
+
208
+ /**
209
+ * LzCompose option type.
210
+ */
211
+ LzCompose = 3,
212
+
213
+ /**
214
+ * OrderExecution option type.
215
+ */
216
+ OrderExecution = 4,
217
+ }
218
+
219
+ /**
220
+ * Maximum length for executor option types.
221
+ */
222
+ export const MaxExecutorOptionTypeLength = 10