@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,658 @@
1
+ import { PublicKey } from '@solana/web3.js'
2
+ import BN from 'bn.js'
3
+
4
+ /**
5
+ * Seed for the endpoint.
6
+ */
7
+ export const ENDPOINT_SEED = 'Endpoint'
8
+
9
+ /**
10
+ * Seed for the message library.
11
+ */
12
+ export const MESSAGE_LIB_SEED = 'MessageLib'
13
+
14
+ /**
15
+ * Seed for the send library configuration.
16
+ */
17
+ export const SEND_LIBRARY_CONFIG_SEED = 'SendLibraryConfig'
18
+
19
+ /**
20
+ * Seed for the receive library configuration.
21
+ */
22
+ export const RECEIVE_LIBRARY_CONFIG_SEED = 'ReceiveLibraryConfig'
23
+
24
+ /**
25
+ * Seed for the nonce.
26
+ */
27
+ export const NONCE_SEED = 'Nonce'
28
+
29
+ /**
30
+ * Seed for the pending nonce.
31
+ */
32
+ export const PENDING_NONCE_SEED = 'PendingNonce'
33
+
34
+ /**
35
+ * Seed for the payload hash.
36
+ */
37
+ export const PAYLOAD_HASH_SEED = 'PayloadHash'
38
+
39
+ /**
40
+ * Seed for the composed message hash.
41
+ */
42
+ export const COMPOSED_MESSAGE_HASH_SEED = 'ComposedMessageHash'
43
+
44
+ /**
45
+ * Seed for the OApp.
46
+ */
47
+ export const OAPP_SEED = 'OApp'
48
+
49
+ /**
50
+ * Seed for the count.
51
+ */
52
+ export const COUNT_SEED = 'Count'
53
+
54
+ /**
55
+ * Seed for the remote.
56
+ */
57
+ export const REMOTE_SEED = 'Remote'
58
+
59
+ /**
60
+ * Seed for the LzReceive types.
61
+ */
62
+ export const LZ_RECEIVE_TYPES_SEED = 'LzReceiveTypes'
63
+
64
+ /**
65
+ * Seed for the LzCompose types.
66
+ */
67
+ export const LZ_COMPOSE_TYPES_SEED = 'LzComposeTypes'
68
+
69
+ /**
70
+ * Seed for the ULN.
71
+ */
72
+ export const ULN_SEED = MESSAGE_LIB_SEED
73
+
74
+ /**
75
+ * Seed for the ULN configuration.
76
+ */
77
+ export const ULN_CONFIG_SEED = 'UlnConfig'
78
+
79
+ /**
80
+ * Seed for the send configuration.
81
+ */
82
+ export const SEND_CONFIG_SEED = 'SendConfig'
83
+
84
+ /**
85
+ * Seed for the receive configuration.
86
+ */
87
+ export const RECEIVE_CONFIG_SEED = 'ReceiveConfig'
88
+
89
+ /**
90
+ * Seed for the options.
91
+ */
92
+ export const OPTIONS_SEED = 'Options'
93
+
94
+ /**
95
+ * Seed for the confirmations.
96
+ */
97
+ export const CONFIRMATIONS_SEED = 'Confirmations'
98
+
99
+ /**
100
+ * Seed for the worker.
101
+ */
102
+ export const WORKER_SEED = 'Worker'
103
+
104
+ /**
105
+ * Seed for the DVN configuration.
106
+ */
107
+ export const DVN_CONFIG_SEED = 'DvnConfig'
108
+
109
+ /**
110
+ * Seed for the event authority.
111
+ */
112
+ export const EVENT_SEED = '__event_authority'
113
+
114
+ /**
115
+ * Seed for the executor configuration.
116
+ */
117
+ export const EXECUTOR_CONFIG_SEED = 'ExecutorConfig'
118
+
119
+ /**
120
+ * Seed for the price feed.
121
+ */
122
+ export const PRICE_FEED_SEED = 'PriceFeed'
123
+
124
+ /**
125
+ * Seed for the peer.
126
+ */
127
+ export const PEER_SEED = 'Peer'
128
+
129
+ /**
130
+ * Seed for the mint.
131
+ */
132
+ export const MINT_SEED = 'Mint'
133
+
134
+ /**
135
+ * Seed for the enforced options.
136
+ */
137
+ export const ENFORCED_OPTIONS_SEED = 'EnforcedOptions'
138
+
139
+ /**
140
+ * Class to derive addresses for the endpoint program.
141
+ */
142
+ export class EndpointPDADeriver {
143
+ program: PublicKey
144
+
145
+ /**
146
+ * Creates an instance of the EndpointPDADeriver class.
147
+ *
148
+ * @param {PublicKey} program - The program public key.
149
+ */
150
+ constructor(program: PublicKey) {
151
+ this.program = program
152
+ }
153
+
154
+ /**
155
+ * Derives the setting address.
156
+ *
157
+ * @returns {[PublicKey, number]} The derived address and bump seed.
158
+ */
159
+ setting(): [PublicKey, number] {
160
+ return PublicKey.findProgramAddressSync([Buffer.from(ENDPOINT_SEED, 'utf8')], this.program)
161
+ }
162
+
163
+ /**
164
+ * Derives the default send library configuration address.
165
+ *
166
+ * @param {number} dstEndpointId - The destination endpoint ID.
167
+ * @returns {[PublicKey, number]} The derived address and bump seed.
168
+ */
169
+ defaultSendLibraryConfig(dstEndpointId: number): [PublicKey, number] {
170
+ return PublicKey.findProgramAddressSync(
171
+ [
172
+ Buffer.from(SEND_LIBRARY_CONFIG_SEED, 'utf8'),
173
+ // U32 to Uint8Array([0,0,0,0])
174
+ new BN(dstEndpointId).toArrayLike(Buffer, 'be', 4),
175
+ ],
176
+ this.program
177
+ )
178
+ }
179
+
180
+ /**
181
+ * Derives the send library configuration address.
182
+ *
183
+ * @param {PublicKey} sender - The sender public key.
184
+ * @param {number} dstEndpointId - The destination endpoint ID.
185
+ * @returns {[PublicKey, number]} The derived address and bump seed.
186
+ */
187
+ sendLibraryConfig(sender: PublicKey, dstEndpointId: number): [PublicKey, number] {
188
+ return PublicKey.findProgramAddressSync(
189
+ [
190
+ Buffer.from(SEND_LIBRARY_CONFIG_SEED, 'utf8'),
191
+ sender.toBytes(),
192
+ // U32 to Uint8Array([0,0,0,0])
193
+ new BN(dstEndpointId).toArrayLike(Buffer, 'be', 4),
194
+ ],
195
+ this.program
196
+ )
197
+ }
198
+
199
+ /**
200
+ * Derives the message library information address.
201
+ *
202
+ * @param {PublicKey} messageLibrary - The message library public key, PDA(derive by message lib program)
203
+ * @returns {[PublicKey, number]} The derived address and bump seed.
204
+ */
205
+ messageLibraryInfo(messageLibrary: PublicKey): [PublicKey, number] {
206
+ return PublicKey.findProgramAddressSync(
207
+ [Buffer.from(MESSAGE_LIB_SEED, 'utf8'), messageLibrary.toBytes()],
208
+ this.program
209
+ )
210
+ }
211
+
212
+ /**
213
+ * Derives the default receive library configuration address.
214
+ *
215
+ * @param {number} srcEndpointId - The source endpoint ID.
216
+ * @returns {[PublicKey, number]} The derived address and bump seed.
217
+ */
218
+ defaultReceiveLibraryConfig(srcEndpointId: number): [PublicKey, number] {
219
+ return PublicKey.findProgramAddressSync(
220
+ [
221
+ Buffer.from(RECEIVE_LIBRARY_CONFIG_SEED, 'utf8'),
222
+ // U32 to Uint8Array([0,0,0,0])
223
+ new BN(srcEndpointId).toArrayLike(Buffer, 'be', 4),
224
+ ],
225
+ this.program
226
+ )
227
+ }
228
+
229
+ /**
230
+ * Derives the receive library configuration address.
231
+ *
232
+ * @param {PublicKey} receiver - The receiver public key.
233
+ * @param {number} srcEndpointId - The source endpoint ID.
234
+ * @returns {[PublicKey, number]} The derived address and bump seed.
235
+ */
236
+ receiveLibraryConfig(receiver: PublicKey, srcEndpointId: number): [PublicKey, number] {
237
+ return PublicKey.findProgramAddressSync(
238
+ [
239
+ Buffer.from(RECEIVE_LIBRARY_CONFIG_SEED, 'utf8'),
240
+ receiver.toBytes(),
241
+ // U32 to Uint8Array([0,0,0,0])
242
+ new BN(srcEndpointId).toArrayLike(Buffer, 'be', 4),
243
+ ],
244
+ this.program
245
+ )
246
+ }
247
+
248
+ receiveLibraryTimeout(_dstEndpointId: number): [PublicKey, number] {
249
+ // todo: @zzz find the address of receive library timeout config
250
+ // if it is default config, then get the address of default timeout config
251
+ // otherwise, get the address of the custom one
252
+ return [this.program, 0]
253
+ }
254
+
255
+ defaultMessageLib(): [PublicKey, number] {
256
+ return this.messageLibraryInfo(PublicKey.default)
257
+ }
258
+
259
+ blockMessageLib(blockMsgLib: PublicKey): [PublicKey, number] {
260
+ return PublicKey.findProgramAddressSync(
261
+ [Buffer.from(MESSAGE_LIB_SEED, 'utf8'), blockMsgLib.toBytes()],
262
+ this.program
263
+ )
264
+ }
265
+
266
+ /**
267
+ * Derives the nonce address.
268
+ *
269
+ * @param {PublicKey} localOapp - The local OApp public key.
270
+ * @param {number} remoteChainId - The remote chain ID.
271
+ * @param {Uint8Array} remoteOapp - The remote OApp address.
272
+ * @returns {[PublicKey, number]} The derived address and bump seed.
273
+ */
274
+ nonce(localOapp: PublicKey, remoteChainId: number, remoteOapp: Uint8Array): [PublicKey, number] {
275
+ return PublicKey.findProgramAddressSync(
276
+ [
277
+ Buffer.from(NONCE_SEED, 'utf8'),
278
+ localOapp.toBytes(),
279
+ // U32 to Uint8Array([0,0,0,0])
280
+ new BN(remoteChainId).toArrayLike(Buffer, 'be', 4),
281
+ remoteOapp,
282
+ ],
283
+ this.program
284
+ )
285
+ }
286
+
287
+ /**
288
+ * Derives the pending nonce address.
289
+ *
290
+ * @param {PublicKey} localOapp - The local OApp public key.
291
+ * @param {number} remoteChainId - The remote chain ID.
292
+ * @param {Uint8Array} remoteOapp - The remote OApp address.
293
+ * @returns {[PublicKey, number]} The derived address and bump seed.
294
+ */
295
+ pendingNonce(localOapp: PublicKey, remoteChainId: number, remoteOapp: Uint8Array): [PublicKey, number] {
296
+ return PublicKey.findProgramAddressSync(
297
+ [
298
+ Buffer.from(PENDING_NONCE_SEED, 'utf8'),
299
+ localOapp.toBytes(),
300
+ new BN(remoteChainId).toArrayLike(Buffer, 'be', 4),
301
+ remoteOapp,
302
+ ],
303
+ this.program
304
+ )
305
+ }
306
+
307
+ /**
308
+ * Derives the OApp registry address.
309
+ *
310
+ * @param {PublicKey} localOapp - The local OApp public key.
311
+ * @returns {[PublicKey, number]} The derived address and bump seed.
312
+ */
313
+ oappRegistry(localOapp: PublicKey): [PublicKey, number] {
314
+ return PublicKey.findProgramAddressSync([Buffer.from(OAPP_SEED, 'utf8'), localOapp.toBytes()], this.program)
315
+ }
316
+
317
+ /**
318
+ * Derives the payload hash address.
319
+ *
320
+ * @param {PublicKey} receiver - The receiver public key.
321
+ * @param {number} srcEid - The source endpoint ID.
322
+ * @param {Uint8Array} sender - The sender address.
323
+ * @param {number} nonce - The nonce.
324
+ * @returns {[PublicKey, number]} The derived address and bump seed.
325
+ */
326
+ payloadHash(receiver: PublicKey, srcEid: number, sender: Uint8Array, nonce: number): [PublicKey, number] {
327
+ return PublicKey.findProgramAddressSync(
328
+ [
329
+ Buffer.from(PAYLOAD_HASH_SEED, 'utf8'),
330
+ receiver.toBytes(),
331
+ new BN(srcEid).toArrayLike(Buffer, 'be', 4),
332
+ sender,
333
+ new BN(nonce).toArrayLike(Buffer, 'be', 8),
334
+ ],
335
+ this.program
336
+ )
337
+ }
338
+
339
+ /**
340
+ * Derives the composed message address.
341
+ *
342
+ * @param {PublicKey} from - The sender public key.
343
+ * @param {Uint8Array} guid - The GUID.
344
+ * @param {number} index - The index.
345
+ * @param {PublicKey} to - The receiver public key.
346
+ * @param {Uint8Array} messageHash - The message hash.
347
+ * @returns {[PublicKey, number]} The derived address and bump seed.
348
+ */
349
+ composedMessage(
350
+ from: PublicKey,
351
+ guid: Uint8Array,
352
+ index: number,
353
+ to: PublicKey,
354
+ messageHash: Uint8Array
355
+ ): [PublicKey, number] {
356
+ return PublicKey.findProgramAddressSync(
357
+ [
358
+ Buffer.from(COMPOSED_MESSAGE_HASH_SEED, 'utf8'),
359
+ from.toBytes(),
360
+ to.toBytes(),
361
+ guid,
362
+ new BN(index).toArrayLike(Buffer, 'be', 2),
363
+ messageHash,
364
+ ],
365
+ this.program
366
+ )
367
+ }
368
+ }
369
+
370
+ /**
371
+ * Class to derive addresses by message library program.
372
+ */
373
+ export class MessageLibPDADeriver {
374
+ program: PublicKey
375
+
376
+ /**
377
+ * Creates an instance of the MessageLibPDADeriver class.
378
+ *
379
+ * @param {PublicKey} program - The program public key.
380
+ */
381
+ constructor(program: PublicKey) {
382
+ this.program = program
383
+ }
384
+
385
+ /**
386
+ * Derives the message library address.
387
+ *
388
+ * @returns {[PublicKey, number]} The derived address and bump seed.
389
+ */
390
+ messageLib(): [PublicKey, number] {
391
+ return PublicKey.findProgramAddressSync([Buffer.from(MESSAGE_LIB_SEED, 'utf8')], this.program)
392
+ }
393
+
394
+ /**
395
+ * Derives the send configuration address.
396
+ *
397
+ * @param {number} eid - The endpoint ID.
398
+ * @param {PublicKey} oapp - The OApp public key.
399
+ * @returns {[PublicKey, number]} The derived address and bump seed.
400
+ */
401
+ sendConfig(eid: number, oapp: PublicKey): [PublicKey, number] {
402
+ return PublicKey.findProgramAddressSync(
403
+ [Buffer.from(SEND_CONFIG_SEED, 'utf8'), new BN(eid).toArrayLike(Buffer, 'be', 4), oapp.toBuffer()],
404
+ this.program
405
+ )
406
+ }
407
+
408
+ /**
409
+ * Derives the receive configuration address.
410
+ *
411
+ * @param {number} eid - The endpoint ID.
412
+ * @param {PublicKey} oapp - The OApp public key.
413
+ * @returns {[PublicKey, number]} The derived address and bump seed.
414
+ */
415
+ receiveConfig(eid: number, oapp: PublicKey): [PublicKey, number] {
416
+ return PublicKey.findProgramAddressSync(
417
+ [Buffer.from(RECEIVE_CONFIG_SEED, 'utf8'), new BN(eid).toArrayLike(Buffer, 'be', 4), oapp.toBuffer()],
418
+ this.program
419
+ )
420
+ }
421
+ }
422
+
423
+ /**
424
+ * Class to derive addresses for the ULN program.
425
+ * @see {@link MessageLibPDADeriver}
426
+ */
427
+ export class UlnPDADeriver extends MessageLibPDADeriver {
428
+ /**
429
+ * Derives the setting address.
430
+ *
431
+ * @returns {[PublicKey, number]} The derived address and bump seed.
432
+ */
433
+ setting(): [PublicKey, number] {
434
+ return PublicKey.findProgramAddressSync([Buffer.from(ULN_SEED, 'utf8')], this.program)
435
+ }
436
+
437
+ /**
438
+ * Derives the configuration address.
439
+ *
440
+ * @param {number} eid - The endpoint ID.
441
+ * @returns {[PublicKey, number]} The derived address and bump seed.
442
+ */
443
+ config(eid: number): [PublicKey, number] {
444
+ return PublicKey.findProgramAddressSync(
445
+ [Buffer.from(ULN_CONFIG_SEED, 'utf8'), new BN(eid).toArrayLike(Buffer, 'be', 4)],
446
+ this.program
447
+ )
448
+ }
449
+
450
+ /**
451
+ * Derives the default send configuration address.
452
+ *
453
+ * @param {number} eid - The endpoint ID.
454
+ * @returns {[PublicKey, number]} The derived address and bump seed.
455
+ */
456
+ defaultSendConfig(eid: number): [PublicKey, number] {
457
+ return PublicKey.findProgramAddressSync(
458
+ [Buffer.from(SEND_CONFIG_SEED, 'utf8'), new BN(eid).toArrayLike(Buffer, 'be', 4)],
459
+ this.program
460
+ )
461
+ }
462
+
463
+ /**
464
+ * Derives the default receive configuration address.
465
+ *
466
+ * @param {number} eid - The endpoint ID.
467
+ * @returns {[PublicKey, number]} The derived address and bump seed.
468
+ */
469
+ defaultReceiveConfig(eid: number): [PublicKey, number] {
470
+ return PublicKey.findProgramAddressSync(
471
+ [Buffer.from(RECEIVE_CONFIG_SEED, 'utf8'), new BN(eid).toArrayLike(Buffer, 'be', 4)],
472
+ this.program
473
+ )
474
+ }
475
+
476
+ /**
477
+ * Derives the options address.
478
+ *
479
+ * @param {number} eit - The endpoint ID.
480
+ * @returns {[PublicKey, number]} The derived address and bump seed.
481
+ */
482
+ options(eit: number): [PublicKey, number] {
483
+ return PublicKey.findProgramAddressSync(
484
+ [Buffer.from(OPTIONS_SEED, 'utf8'), new BN(eit).toArrayLike(Buffer, 'be', 4)],
485
+ this.program
486
+ )
487
+ }
488
+
489
+ /**
490
+ * Derives the worker configuration address.
491
+ *
492
+ * @param {PublicKey} worker - The worker public key.
493
+ * @returns {[PublicKey, number]} The derived address and bump seed.
494
+ */
495
+ workerConfig(worker: PublicKey): [PublicKey, number] {
496
+ return PublicKey.findProgramAddressSync([Buffer.from(WORKER_SEED, 'utf8'), worker.toBuffer()], this.program)
497
+ }
498
+
499
+ /**
500
+ * Derives the confirmations address.
501
+ *
502
+ * @param {Uint8Array} headerHash - The header hash.
503
+ * @param {Uint8Array} payloadHash - The payload hash.
504
+ * @param {PublicKey} dvn - The DVN public key.
505
+ * @returns {[PublicKey, number]} The derived address and bump seed.
506
+ */
507
+ confirmations(headerHash: Uint8Array, payloadHash: Uint8Array, dvn: PublicKey): [PublicKey, number] {
508
+ return PublicKey.findProgramAddressSync(
509
+ [Buffer.from(CONFIRMATIONS_SEED, 'utf8'), headerHash, payloadHash, dvn.toBytes()],
510
+ this.program
511
+ )
512
+ }
513
+ }
514
+
515
+ /**
516
+ * Class to derive addresses by base OApp program.
517
+ */
518
+ export class OAppBasePDADeriver {
519
+ program: PublicKey
520
+
521
+ /**
522
+ * Creates an instance of the OAppBasePDADeriver class.
523
+ *
524
+ * @param {PublicKey} program - The program public key.
525
+ */
526
+ constructor(program: PublicKey) {
527
+ this.program = program
528
+ }
529
+
530
+ /**
531
+ * Derives the remote address.
532
+ *
533
+ * @param {number} dstChainId - The destination chain ID.
534
+ * @returns {[PublicKey, number]} The derived address and bump seed.
535
+ */
536
+ remote(dstChainId: number): [PublicKey, number] {
537
+ return PublicKey.findProgramAddressSync(
538
+ [Buffer.from(REMOTE_SEED), new BN(dstChainId).toArrayLike(Buffer, 'be', 4)],
539
+ this.program
540
+ )
541
+ }
542
+
543
+ /**
544
+ * Derives the LzReceive types accounts address.
545
+ *
546
+ * @returns {[PublicKey, number]} The derived address and bump seed.
547
+ */
548
+ lzReceiveTypesAccounts(): [PublicKey, number] {
549
+ return PublicKey.findProgramAddressSync([Buffer.from(LZ_RECEIVE_TYPES_SEED, 'utf8')], this.program)
550
+ }
551
+
552
+ /**
553
+ * Derives the LzCompose types accounts address.
554
+ *
555
+ * @returns {[PublicKey, number]} The derived address and bump seed.
556
+ */
557
+ lzComposeTypesAccounts(): [PublicKey, number] {
558
+ return PublicKey.findProgramAddressSync([Buffer.from(LZ_COMPOSE_TYPES_SEED, 'utf8')], this.program)
559
+ }
560
+ }
561
+
562
+ /**
563
+ * Class to derive addresses for the DVN program.
564
+ */
565
+ export class DVNDeriver {
566
+ constructor(public program: PublicKey) {}
567
+
568
+ /**
569
+ * Derives the authority address.
570
+ *
571
+ * @returns {[PublicKey, number]} The derived address and bump seed.
572
+ */
573
+ authority(): [PublicKey, number] {
574
+ return PublicKey.findProgramAddressSync([Buffer.from('dvn', 'utf8')], this.program)
575
+ }
576
+
577
+ /**
578
+ * Derives the configuration address.
579
+ *
580
+ * @returns {[PublicKey, number]} The derived address and bump seed.
581
+ */
582
+ config(): [PublicKey, number] {
583
+ return PublicKey.findProgramAddressSync([Buffer.from(DVN_CONFIG_SEED, 'utf8')], this.program)
584
+ }
585
+
586
+ /**
587
+ * Derives the execute hash address.
588
+ *
589
+ * @param {Buffer} digestHash - The digest hash.
590
+ * @returns {[PublicKey, number]} The derived address and bump seed.
591
+ */
592
+ executeHash(digestHash: Buffer): [PublicKey, number] {
593
+ return PublicKey.findProgramAddressSync([Buffer.from('ExecuteHash', 'utf8'), digestHash], this.program)
594
+ }
595
+ }
596
+
597
+ /**
598
+ * Class for deriving PDA (Program Derived Address) for events.
599
+ */
600
+ export class EventPDADeriver {
601
+ /**
602
+ * Creates an instance of the EventPDADeriver class.
603
+ *
604
+ * @param {PublicKey} program - The program public key.
605
+ */
606
+ constructor(public program: PublicKey) {}
607
+
608
+ /**
609
+ * Derives the event authority PDA.
610
+ *
611
+ * @returns {[PublicKey, number]} The event authority PDA and bump seed.
612
+ */
613
+ eventAuthority(): [PublicKey, number] {
614
+ return PublicKey.findProgramAddressSync([Buffer.from(EVENT_SEED, 'utf8')], this.program)
615
+ }
616
+ }
617
+
618
+ /**
619
+ * Class for deriving PDA (Program Derived Address) for executors.
620
+ */
621
+ export class ExecutorPDADeriver {
622
+ /**
623
+ * Creates an instance of the ExecutorPDADeriver class.
624
+ *
625
+ * @param {PublicKey} program - The program public key.
626
+ */
627
+ constructor(public program: PublicKey) {}
628
+
629
+ /**
630
+ * Derives the executor configuration PDA.
631
+ *
632
+ * @returns {[PublicKey, number]} The executor configuration PDA and bump seed.
633
+ */
634
+ config(): [PublicKey, number] {
635
+ return PublicKey.findProgramAddressSync([Buffer.from(EXECUTOR_CONFIG_SEED, 'utf8')], this.program)
636
+ }
637
+ }
638
+
639
+ /**
640
+ * Class for deriving PDA (Program Derived Address) for price feeds.
641
+ */
642
+ export class PriceFeedPDADeriver {
643
+ /**
644
+ * Creates an instance of the PriceFeedPDADeriver class.
645
+ *
646
+ * @param {PublicKey} program - The program public key.
647
+ */
648
+ constructor(public program: PublicKey) {}
649
+
650
+ /**
651
+ * Derives the price feed PDA.
652
+ *
653
+ * @returns {[PublicKey, number]} The price feed PDA and bump seed.
654
+ */
655
+ priceFeed(): [PublicKey, number] {
656
+ return PublicKey.findProgramAddressSync([Buffer.from(PRICE_FEED_SEED, 'utf8')], this.program)
657
+ }
658
+ }