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

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 +26 -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,124 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as web3 from '@solana/web3.js'
9
+ import * as beet from '@metaplex-foundation/beet'
10
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
11
+ /**
12
+ * This type is used to derive the {@link MultisigConfig} type as well as the de/serializer.
13
+ * However don't refer to it in your code but use the {@link MultisigConfig} type instead.
14
+ *
15
+ * @category userTypes
16
+ * @category enums
17
+ * @category generated
18
+ * @private
19
+ */
20
+ export type MultisigConfigRecord = {
21
+ Admins: { fields: [web3.PublicKey[]] }
22
+ Allowlist: { fields: [web3.PublicKey[]] }
23
+ Denylist: { fields: [web3.PublicKey[]] }
24
+ Msglibs: { fields: [web3.PublicKey[]] }
25
+ Paused: { fields: [boolean] }
26
+ Quorum: { fields: [number] }
27
+ Signers: { fields: [number[] /* size: 64 */[]] }
28
+ }
29
+
30
+ /**
31
+ * Union type respresenting the MultisigConfig data enum defined in Rust.
32
+ *
33
+ * NOTE: that it includes a `__kind` property which allows to narrow types in
34
+ * switch/if statements.
35
+ * Additionally `isMultisigConfig*` type guards are exposed below to narrow to a specific variant.
36
+ *
37
+ * @category userTypes
38
+ * @category enums
39
+ * @category generated
40
+ */
41
+ export type MultisigConfig = beet.DataEnumKeyAsKind<MultisigConfigRecord>
42
+
43
+ export const isMultisigConfigAdmins = (
44
+ x: MultisigConfig
45
+ ): x is MultisigConfig & { __kind: 'Admins' } => x.__kind === 'Admins'
46
+ export const isMultisigConfigAllowlist = (
47
+ x: MultisigConfig
48
+ ): x is MultisigConfig & { __kind: 'Allowlist' } => x.__kind === 'Allowlist'
49
+ export const isMultisigConfigDenylist = (
50
+ x: MultisigConfig
51
+ ): x is MultisigConfig & { __kind: 'Denylist' } => x.__kind === 'Denylist'
52
+ export const isMultisigConfigMsglibs = (
53
+ x: MultisigConfig
54
+ ): x is MultisigConfig & { __kind: 'Msglibs' } => x.__kind === 'Msglibs'
55
+ export const isMultisigConfigPaused = (
56
+ x: MultisigConfig
57
+ ): x is MultisigConfig & { __kind: 'Paused' } => x.__kind === 'Paused'
58
+ export const isMultisigConfigQuorum = (
59
+ x: MultisigConfig
60
+ ): x is MultisigConfig & { __kind: 'Quorum' } => x.__kind === 'Quorum'
61
+ export const isMultisigConfigSigners = (
62
+ x: MultisigConfig
63
+ ): x is MultisigConfig & { __kind: 'Signers' } => x.__kind === 'Signers'
64
+
65
+ /**
66
+ * @category userTypes
67
+ * @category generated
68
+ */
69
+ export const multisigConfigBeet = beet.dataEnum<MultisigConfigRecord>([
70
+ [
71
+ 'Admins',
72
+ new beet.FixableBeetArgsStruct<MultisigConfigRecord['Admins']>(
73
+ [['fields', beet.tuple([beet.array(beetSolana.publicKey)])]],
74
+ 'MultisigConfigRecord["Admins"]'
75
+ ),
76
+ ],
77
+ [
78
+ 'Allowlist',
79
+ new beet.FixableBeetArgsStruct<MultisigConfigRecord['Allowlist']>(
80
+ [['fields', beet.tuple([beet.array(beetSolana.publicKey)])]],
81
+ 'MultisigConfigRecord["Allowlist"]'
82
+ ),
83
+ ],
84
+ [
85
+ 'Denylist',
86
+ new beet.FixableBeetArgsStruct<MultisigConfigRecord['Denylist']>(
87
+ [['fields', beet.tuple([beet.array(beetSolana.publicKey)])]],
88
+ 'MultisigConfigRecord["Denylist"]'
89
+ ),
90
+ ],
91
+ [
92
+ 'Msglibs',
93
+ new beet.FixableBeetArgsStruct<MultisigConfigRecord['Msglibs']>(
94
+ [['fields', beet.tuple([beet.array(beetSolana.publicKey)])]],
95
+ 'MultisigConfigRecord["Msglibs"]'
96
+ ),
97
+ ],
98
+ [
99
+ 'Paused',
100
+ new beet.BeetArgsStruct<MultisigConfigRecord['Paused']>(
101
+ [['fields', beet.fixedSizeTuple([beet.bool])]],
102
+ 'MultisigConfigRecord["Paused"]'
103
+ ),
104
+ ],
105
+ [
106
+ 'Quorum',
107
+ new beet.BeetArgsStruct<MultisigConfigRecord['Quorum']>(
108
+ [['fields', beet.fixedSizeTuple([beet.u8])]],
109
+ 'MultisigConfigRecord["Quorum"]'
110
+ ),
111
+ ],
112
+ [
113
+ 'Signers',
114
+ new beet.FixableBeetArgsStruct<MultisigConfigRecord['Signers']>(
115
+ [
116
+ [
117
+ 'fields',
118
+ beet.tuple([beet.array(beet.uniformFixedSizeArray(beet.u8, 64))]),
119
+ ],
120
+ ],
121
+ 'MultisigConfigRecord["Signers"]'
122
+ ),
123
+ ],
124
+ ]) as beet.FixableBeet<MultisigConfig, MultisigConfig>
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as web3 from '@solana/web3.js'
9
+ import * as beet from '@metaplex-foundation/beet'
10
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
11
+ import { LzOption, lzOptionBeet } from './LzOption'
12
+ export type QuoteDvnParams = {
13
+ msglib: web3.PublicKey
14
+ dstEid: number
15
+ sender: web3.PublicKey
16
+ packetHeader: Uint8Array
17
+ payloadHash: number[] /* size: 32 */
18
+ confirmations: beet.bignum
19
+ options: LzOption[]
20
+ }
21
+
22
+ /**
23
+ * @category userTypes
24
+ * @category generated
25
+ */
26
+ export const quoteDvnParamsBeet =
27
+ new beet.FixableBeetArgsStruct<QuoteDvnParams>(
28
+ [
29
+ ['msglib', beetSolana.publicKey],
30
+ ['dstEid', beet.u32],
31
+ ['sender', beetSolana.publicKey],
32
+ ['packetHeader', beet.bytes],
33
+ ['payloadHash', beet.uniformFixedSizeArray(beet.u8, 32)],
34
+ ['confirmations', beet.u64],
35
+ ['options', beet.array(lzOptionBeet)],
36
+ ],
37
+ 'QuoteDvnParams'
38
+ )
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ import { AdminConfig, adminConfigBeet } from './AdminConfig'
10
+ export type SetConfigParams = {
11
+ config: AdminConfig
12
+ }
13
+
14
+ /**
15
+ * @category userTypes
16
+ * @category generated
17
+ */
18
+ export const setConfigParamsBeet =
19
+ new beet.FixableBeetArgsStruct<SetConfigParams>(
20
+ [['config', adminConfigBeet]],
21
+ 'SetConfigParams'
22
+ )
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as web3 from '@solana/web3.js'
9
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
10
+ import * as beet from '@metaplex-foundation/beet'
11
+ export type TransactionAccount = {
12
+ pubkey: web3.PublicKey
13
+ isSigner: boolean
14
+ isWritable: boolean
15
+ }
16
+
17
+ /**
18
+ * @category userTypes
19
+ * @category generated
20
+ */
21
+ export const transactionAccountBeet =
22
+ new beet.BeetArgsStruct<TransactionAccount>(
23
+ [
24
+ ['pubkey', beetSolana.publicKey],
25
+ ['isSigner', beet.bool],
26
+ ['isWritable', beet.bool],
27
+ ],
28
+ 'TransactionAccount'
29
+ )
@@ -0,0 +1,34 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ import * as web3 from '@solana/web3.js'
10
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
11
+ export type UlnConfig = {
12
+ confirmations: beet.bignum
13
+ requiredDvnCount: number
14
+ optionalDvnCount: number
15
+ optionalDvnThreshold: number
16
+ requiredDvns: web3.PublicKey[]
17
+ optionalDvns: web3.PublicKey[]
18
+ }
19
+
20
+ /**
21
+ * @category userTypes
22
+ * @category generated
23
+ */
24
+ export const ulnConfigBeet = new beet.FixableBeetArgsStruct<UlnConfig>(
25
+ [
26
+ ['confirmations', beet.u64],
27
+ ['requiredDvnCount', beet.u8],
28
+ ['optionalDvnCount', beet.u8],
29
+ ['optionalDvnThreshold', beet.u8],
30
+ ['requiredDvns', beet.array(beetSolana.publicKey)],
31
+ ['optionalDvns', beet.array(beetSolana.publicKey)],
32
+ ],
33
+ 'UlnConfig'
34
+ )
@@ -0,0 +1,24 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ export type VerifiableParams = {
10
+ packetHeader: number[] /* size: 81 */
11
+ payloadHash: number[] /* size: 32 */
12
+ }
13
+
14
+ /**
15
+ * @category userTypes
16
+ * @category generated
17
+ */
18
+ export const verifiableParamsBeet = new beet.BeetArgsStruct<VerifiableParams>(
19
+ [
20
+ ['packetHeader', beet.uniformFixedSizeArray(beet.u8, 81)],
21
+ ['payloadHash', beet.uniformFixedSizeArray(beet.u8, 32)],
22
+ ],
23
+ 'VerifiableParams'
24
+ )
@@ -0,0 +1,27 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ /**
10
+ * @category enums
11
+ * @category generated
12
+ */
13
+ export enum VerificationState {
14
+ Verifying,
15
+ Verifiable,
16
+ Verified,
17
+ NotInitializable,
18
+ VerifiableButCapExceeded,
19
+ }
20
+
21
+ /**
22
+ * @category userTypes
23
+ * @category generated
24
+ */
25
+ export const verificationStateBeet = beet.fixedScalarEnum(
26
+ VerificationState
27
+ ) as beet.FixedSizeBeet<VerificationState, VerificationState>
@@ -0,0 +1,20 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ export type WithdrawFeeParams = {
10
+ amount: beet.bignum
11
+ }
12
+
13
+ /**
14
+ * @category userTypes
15
+ * @category generated
16
+ */
17
+ export const withdrawFeeParamsBeet = new beet.BeetArgsStruct<WithdrawFeeParams>(
18
+ [['amount', beet.u64]],
19
+ 'WithdrawFeeParams'
20
+ )
@@ -0,0 +1,17 @@
1
+ export * from './Acl'
2
+ export * from './AdminConfig'
3
+ export * from './CloseExecuteParams'
4
+ export * from './DstConfig'
5
+ export * from './ExecuteTransactionDigest'
6
+ export * from './InitDvnParams'
7
+ export * from './InvokeParams'
8
+ export * from './LzOption'
9
+ export * from './Multisig'
10
+ export * from './MultisigConfig'
11
+ export * from './QuoteDvnParams'
12
+ export * from './SetConfigParams'
13
+ export * from './TransactionAccount'
14
+ export * from './UlnConfig'
15
+ export * from './VerifiableParams'
16
+ export * from './VerificationState'
17
+ export * from './WithdrawFeeParams'
@@ -0,0 +1,170 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as beet from '@metaplex-foundation/beet'
9
+ import * as web3 from '@solana/web3.js'
10
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
11
+
12
+ /**
13
+ * Arguments used to create {@link ComposeMessageState}
14
+ * @category Accounts
15
+ * @category generated
16
+ */
17
+ export type ComposeMessageStateArgs = {
18
+ received: boolean
19
+ bump: number
20
+ }
21
+
22
+ export const composeMessageStateDiscriminator = [
23
+ 55, 107, 79, 254, 243, 22, 172, 240,
24
+ ]
25
+ /**
26
+ * Holds the data for the {@link ComposeMessageState} Account and provides de/serialization
27
+ * functionality for that data
28
+ *
29
+ * @category Accounts
30
+ * @category generated
31
+ */
32
+ export class ComposeMessageState implements ComposeMessageStateArgs {
33
+ private constructor(readonly received: boolean, readonly bump: number) {}
34
+
35
+ /**
36
+ * Creates a {@link ComposeMessageState} instance from the provided args.
37
+ */
38
+ static fromArgs(args: ComposeMessageStateArgs) {
39
+ return new ComposeMessageState(args.received, args.bump)
40
+ }
41
+
42
+ /**
43
+ * Deserializes the {@link ComposeMessageState} from the data of the provided {@link web3.AccountInfo}.
44
+ * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
45
+ */
46
+ static fromAccountInfo(
47
+ accountInfo: web3.AccountInfo<Buffer>,
48
+ offset = 0
49
+ ): [ComposeMessageState, number] {
50
+ return ComposeMessageState.deserialize(accountInfo.data, offset)
51
+ }
52
+
53
+ /**
54
+ * Retrieves the account info from the provided address and deserializes
55
+ * the {@link ComposeMessageState} from its data.
56
+ *
57
+ * @throws Error if no account info is found at the address or if deserialization fails
58
+ */
59
+ static async fromAccountAddress(
60
+ connection: web3.Connection,
61
+ address: web3.PublicKey,
62
+ commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig
63
+ ): Promise<ComposeMessageState> {
64
+ const accountInfo = await connection.getAccountInfo(
65
+ address,
66
+ commitmentOrConfig
67
+ )
68
+ if (accountInfo == null) {
69
+ throw new Error(
70
+ `Unable to find ComposeMessageState account at ${address}`
71
+ )
72
+ }
73
+ return ComposeMessageState.fromAccountInfo(accountInfo, 0)[0]
74
+ }
75
+
76
+ /**
77
+ * Provides a {@link web3.Connection.getProgramAccounts} config builder,
78
+ * to fetch accounts matching filters that can be specified via that builder.
79
+ *
80
+ * @param programId - the program that owns the accounts we are filtering
81
+ */
82
+ static gpaBuilder(
83
+ programId: web3.PublicKey = new web3.PublicKey(
84
+ '76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6'
85
+ )
86
+ ) {
87
+ return beetSolana.GpaBuilder.fromStruct(programId, composeMessageStateBeet)
88
+ }
89
+
90
+ /**
91
+ * Deserializes the {@link ComposeMessageState} from the provided data Buffer.
92
+ * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
93
+ */
94
+ static deserialize(buf: Buffer, offset = 0): [ComposeMessageState, number] {
95
+ return composeMessageStateBeet.deserialize(buf, offset)
96
+ }
97
+
98
+ /**
99
+ * Serializes the {@link ComposeMessageState} into a Buffer.
100
+ * @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
101
+ */
102
+ serialize(): [Buffer, number] {
103
+ return composeMessageStateBeet.serialize({
104
+ accountDiscriminator: composeMessageStateDiscriminator,
105
+ ...this,
106
+ })
107
+ }
108
+
109
+ /**
110
+ * Returns the byteSize of a {@link Buffer} holding the serialized data of
111
+ * {@link ComposeMessageState}
112
+ */
113
+ static get byteSize() {
114
+ return composeMessageStateBeet.byteSize
115
+ }
116
+
117
+ /**
118
+ * Fetches the minimum balance needed to exempt an account holding
119
+ * {@link ComposeMessageState} data from rent
120
+ *
121
+ * @param connection used to retrieve the rent exemption information
122
+ */
123
+ static async getMinimumBalanceForRentExemption(
124
+ connection: web3.Connection,
125
+ commitment?: web3.Commitment
126
+ ): Promise<number> {
127
+ return connection.getMinimumBalanceForRentExemption(
128
+ ComposeMessageState.byteSize,
129
+ commitment
130
+ )
131
+ }
132
+
133
+ /**
134
+ * Determines if the provided {@link Buffer} has the correct byte size to
135
+ * hold {@link ComposeMessageState} data.
136
+ */
137
+ static hasCorrectByteSize(buf: Buffer, offset = 0) {
138
+ return buf.byteLength - offset === ComposeMessageState.byteSize
139
+ }
140
+
141
+ /**
142
+ * Returns a readable version of {@link ComposeMessageState} properties
143
+ * and can be used to convert to JSON and/or logging
144
+ */
145
+ pretty() {
146
+ return {
147
+ received: this.received,
148
+ bump: this.bump,
149
+ }
150
+ }
151
+ }
152
+
153
+ /**
154
+ * @category Accounts
155
+ * @category generated
156
+ */
157
+ export const composeMessageStateBeet = new beet.BeetStruct<
158
+ ComposeMessageState,
159
+ ComposeMessageStateArgs & {
160
+ accountDiscriminator: number[] /* size: 8 */
161
+ }
162
+ >(
163
+ [
164
+ ['accountDiscriminator', beet.uniformFixedSizeArray(beet.u8, 8)],
165
+ ['received', beet.bool],
166
+ ['bump', beet.u8],
167
+ ],
168
+ ComposeMessageState.fromArgs,
169
+ 'ComposeMessageState'
170
+ )
@@ -0,0 +1,184 @@
1
+ /**
2
+ * This code was GENERATED using the solita package.
3
+ * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
+ *
5
+ * See: https://github.com/metaplex-foundation/solita
6
+ */
7
+
8
+ import * as web3 from '@solana/web3.js'
9
+ import * as beet from '@metaplex-foundation/beet'
10
+ import * as beetSolana from '@metaplex-foundation/beet-solana'
11
+
12
+ /**
13
+ * Arguments used to create {@link EndpointSettings}
14
+ * @category Accounts
15
+ * @category generated
16
+ */
17
+ export type EndpointSettingsArgs = {
18
+ eid: number
19
+ bump: number
20
+ admin: web3.PublicKey
21
+ lzTokenMint: beet.COption<web3.PublicKey>
22
+ }
23
+
24
+ export const endpointSettingsDiscriminator = [221, 232, 73, 56, 10, 66, 72, 14]
25
+ /**
26
+ * Holds the data for the {@link EndpointSettings} Account and provides de/serialization
27
+ * functionality for that data
28
+ *
29
+ * @category Accounts
30
+ * @category generated
31
+ */
32
+ export class EndpointSettings implements EndpointSettingsArgs {
33
+ private constructor(
34
+ readonly eid: number,
35
+ readonly bump: number,
36
+ readonly admin: web3.PublicKey,
37
+ readonly lzTokenMint: beet.COption<web3.PublicKey>
38
+ ) {}
39
+
40
+ /**
41
+ * Creates a {@link EndpointSettings} instance from the provided args.
42
+ */
43
+ static fromArgs(args: EndpointSettingsArgs) {
44
+ return new EndpointSettings(
45
+ args.eid,
46
+ args.bump,
47
+ args.admin,
48
+ args.lzTokenMint
49
+ )
50
+ }
51
+
52
+ /**
53
+ * Deserializes the {@link EndpointSettings} from the data of the provided {@link web3.AccountInfo}.
54
+ * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
55
+ */
56
+ static fromAccountInfo(
57
+ accountInfo: web3.AccountInfo<Buffer>,
58
+ offset = 0
59
+ ): [EndpointSettings, number] {
60
+ return EndpointSettings.deserialize(accountInfo.data, offset)
61
+ }
62
+
63
+ /**
64
+ * Retrieves the account info from the provided address and deserializes
65
+ * the {@link EndpointSettings} from its data.
66
+ *
67
+ * @throws Error if no account info is found at the address or if deserialization fails
68
+ */
69
+ static async fromAccountAddress(
70
+ connection: web3.Connection,
71
+ address: web3.PublicKey,
72
+ commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig
73
+ ): Promise<EndpointSettings> {
74
+ const accountInfo = await connection.getAccountInfo(
75
+ address,
76
+ commitmentOrConfig
77
+ )
78
+ if (accountInfo == null) {
79
+ throw new Error(`Unable to find EndpointSettings account at ${address}`)
80
+ }
81
+ return EndpointSettings.fromAccountInfo(accountInfo, 0)[0]
82
+ }
83
+
84
+ /**
85
+ * Provides a {@link web3.Connection.getProgramAccounts} config builder,
86
+ * to fetch accounts matching filters that can be specified via that builder.
87
+ *
88
+ * @param programId - the program that owns the accounts we are filtering
89
+ */
90
+ static gpaBuilder(
91
+ programId: web3.PublicKey = new web3.PublicKey(
92
+ '76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6'
93
+ )
94
+ ) {
95
+ return beetSolana.GpaBuilder.fromStruct(programId, endpointSettingsBeet)
96
+ }
97
+
98
+ /**
99
+ * Deserializes the {@link EndpointSettings} from the provided data Buffer.
100
+ * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
101
+ */
102
+ static deserialize(buf: Buffer, offset = 0): [EndpointSettings, number] {
103
+ return endpointSettingsBeet.deserialize(buf, offset)
104
+ }
105
+
106
+ /**
107
+ * Serializes the {@link EndpointSettings} into a Buffer.
108
+ * @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
109
+ */
110
+ serialize(): [Buffer, number] {
111
+ return endpointSettingsBeet.serialize({
112
+ accountDiscriminator: endpointSettingsDiscriminator,
113
+ ...this,
114
+ })
115
+ }
116
+
117
+ /**
118
+ * Returns the byteSize of a {@link Buffer} holding the serialized data of
119
+ * {@link EndpointSettings} for the provided args.
120
+ *
121
+ * @param args need to be provided since the byte size for this account
122
+ * depends on them
123
+ */
124
+ static byteSize(args: EndpointSettingsArgs) {
125
+ const instance = EndpointSettings.fromArgs(args)
126
+ return endpointSettingsBeet.toFixedFromValue({
127
+ accountDiscriminator: endpointSettingsDiscriminator,
128
+ ...instance,
129
+ }).byteSize
130
+ }
131
+
132
+ /**
133
+ * Fetches the minimum balance needed to exempt an account holding
134
+ * {@link EndpointSettings} data from rent
135
+ *
136
+ * @param args need to be provided since the byte size for this account
137
+ * depends on them
138
+ * @param connection used to retrieve the rent exemption information
139
+ */
140
+ static async getMinimumBalanceForRentExemption(
141
+ args: EndpointSettingsArgs,
142
+ connection: web3.Connection,
143
+ commitment?: web3.Commitment
144
+ ): Promise<number> {
145
+ return connection.getMinimumBalanceForRentExemption(
146
+ EndpointSettings.byteSize(args),
147
+ commitment
148
+ )
149
+ }
150
+
151
+ /**
152
+ * Returns a readable version of {@link EndpointSettings} properties
153
+ * and can be used to convert to JSON and/or logging
154
+ */
155
+ pretty() {
156
+ return {
157
+ eid: this.eid,
158
+ bump: this.bump,
159
+ admin: this.admin.toBase58(),
160
+ lzTokenMint: this.lzTokenMint,
161
+ }
162
+ }
163
+ }
164
+
165
+ /**
166
+ * @category Accounts
167
+ * @category generated
168
+ */
169
+ export const endpointSettingsBeet = new beet.FixableBeetStruct<
170
+ EndpointSettings,
171
+ EndpointSettingsArgs & {
172
+ accountDiscriminator: number[] /* size: 8 */
173
+ }
174
+ >(
175
+ [
176
+ ['accountDiscriminator', beet.uniformFixedSizeArray(beet.u8, 8)],
177
+ ['eid', beet.u32],
178
+ ['bump', beet.u8],
179
+ ['admin', beetSolana.publicKey],
180
+ ['lzTokenMint', beet.coption(beetSolana.publicKey)],
181
+ ],
182
+ EndpointSettings.fromArgs,
183
+ 'EndpointSettings'
184
+ )