@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.
- package/CHANGELOG.md +13 -0
- package/package.json +11 -10
- package/src/base-oapp.ts +159 -0
- package/src/config.ts +32 -0
- package/src/deployment.test.ts +11 -0
- package/src/deployment.ts +128 -0
- package/src/dvn.ts +606 -0
- package/src/endpoint.ts +1518 -0
- package/src/executor.ts +577 -0
- package/src/generated/blocked_messagelib/index.ts +18 -0
- package/src/generated/blocked_messagelib/instructions/index.ts +1 -0
- package/src/generated/blocked_messagelib/instructions/version.ts +59 -0
- package/src/generated/dvn/accounts/DvnConfig.ts +217 -0
- package/src/generated/dvn/accounts/ExecuteHash.ts +179 -0
- package/src/generated/dvn/accounts/ReceiveConfig.ts +169 -0
- package/src/generated/dvn/accounts/index.ts +9 -0
- package/src/generated/dvn/errors/index.ts +396 -0
- package/src/generated/dvn/events/AdminConfigSetEvent.ts +22 -0
- package/src/generated/dvn/events/FeeWithdrawnEvent.ts +26 -0
- package/src/generated/dvn/events/MultisigConfigSetEvent.ts +22 -0
- package/src/generated/dvn/events/index.ts +3 -0
- package/src/generated/dvn/index.ts +21 -0
- package/src/generated/dvn/instructions/closeExecute.ts +148 -0
- package/src/generated/dvn/instructions/index.ts +7 -0
- package/src/generated/dvn/instructions/initDvn.ts +144 -0
- package/src/generated/dvn/instructions/invoke.ts +178 -0
- package/src/generated/dvn/instructions/quoteDvn.ts +145 -0
- package/src/generated/dvn/instructions/setConfig.ts +157 -0
- package/src/generated/dvn/instructions/verifiable.ts +160 -0
- package/src/generated/dvn/instructions/withdrawFee.ts +172 -0
- package/src/generated/dvn/types/Acl.ts +26 -0
- package/src/generated/dvn/types/AdminConfig.ts +100 -0
- package/src/generated/dvn/types/CloseExecuteParams.ts +21 -0
- package/src/generated/dvn/types/DstConfig.ts +28 -0
- package/src/generated/dvn/types/ExecuteTransactionDigest.ts +37 -0
- package/src/generated/dvn/types/InitDvnParams.ts +34 -0
- package/src/generated/dvn/types/InvokeParams.ts +28 -0
- package/src/generated/dvn/types/LzOption.ts +24 -0
- package/src/generated/dvn/types/Multisig.ts +24 -0
- package/src/generated/dvn/types/MultisigConfig.ts +124 -0
- package/src/generated/dvn/types/QuoteDvnParams.ts +38 -0
- package/src/generated/dvn/types/SetConfigParams.ts +22 -0
- package/src/generated/dvn/types/TransactionAccount.ts +29 -0
- package/src/generated/dvn/types/UlnConfig.ts +34 -0
- package/src/generated/dvn/types/VerifiableParams.ts +24 -0
- package/src/generated/dvn/types/VerificationState.ts +27 -0
- package/src/generated/dvn/types/WithdrawFeeParams.ts +20 -0
- package/src/generated/dvn/types/index.ts +17 -0
- package/src/generated/endpoint/accounts/ComposeMessageState.ts +170 -0
- package/src/generated/endpoint/accounts/EndpointSettings.ts +184 -0
- package/src/generated/endpoint/accounts/MessageLibInfo.ts +178 -0
- package/src/generated/endpoint/accounts/Nonce.ts +193 -0
- package/src/generated/endpoint/accounts/OAppRegistry.ts +169 -0
- package/src/generated/endpoint/accounts/PayloadHash.ts +169 -0
- package/src/generated/endpoint/accounts/PendingInboundNonce.ts +172 -0
- package/src/generated/endpoint/accounts/ReceiveLibraryConfig.ts +183 -0
- package/src/generated/endpoint/accounts/SendLibraryConfig.ts +171 -0
- package/src/generated/endpoint/accounts/index.ts +31 -0
- package/src/generated/endpoint/errors/index.ts +428 -0
- package/src/generated/endpoint/events/AdminTransferredEvent.ts +23 -0
- package/src/generated/endpoint/events/ComposeDeliveredEvent.ts +31 -0
- package/src/generated/endpoint/events/ComposeSentEvent.ts +33 -0
- package/src/generated/endpoint/events/DefaultReceiveLibrarySetEvent.ts +27 -0
- package/src/generated/endpoint/events/DefaultReceiveLibraryTimeoutSetEvent.ts +29 -0
- package/src/generated/endpoint/events/DefaultSendLibrarySetEvent.ts +27 -0
- package/src/generated/endpoint/events/DelegateSetEvent.ts +22 -0
- package/src/generated/endpoint/events/InboundNonceSkippedEvent.ts +31 -0
- package/src/generated/endpoint/events/LibraryRegisteredEvent.ts +27 -0
- package/src/generated/endpoint/events/LzComposeAlertEvent.ts +43 -0
- package/src/generated/endpoint/events/LzReceiveAlertEvent.ts +45 -0
- package/src/generated/endpoint/events/LzTokenSetEvent.ts +23 -0
- package/src/generated/endpoint/events/OAppRegisteredEvent.ts +27 -0
- package/src/generated/endpoint/events/PacketBurntEvent.ts +32 -0
- package/src/generated/endpoint/events/PacketDeliveredEvent.ts +31 -0
- package/src/generated/endpoint/events/PacketNilifiedEvent.ts +33 -0
- package/src/generated/endpoint/events/PacketSentEvent.ts +29 -0
- package/src/generated/endpoint/events/PacketVerifiedEvent.ts +33 -0
- package/src/generated/endpoint/events/ReceiveLibrarySetEvent.ts +29 -0
- package/src/generated/endpoint/events/ReceiveLibraryTimeoutSetEvent.ts +33 -0
- package/src/generated/endpoint/events/RentWithdrawnEvent.ts +27 -0
- package/src/generated/endpoint/events/SendLibrarySetEvent.ts +29 -0
- package/src/generated/endpoint/events/index.ts +22 -0
- package/src/generated/endpoint/index.ts +21 -0
- package/src/generated/endpoint/instructions/burn.ts +191 -0
- package/src/generated/endpoint/instructions/clear.ts +193 -0
- package/src/generated/endpoint/instructions/clearCompose.ts +160 -0
- package/src/generated/endpoint/instructions/index.ts +32 -0
- package/src/generated/endpoint/instructions/initConfig.ts +172 -0
- package/src/generated/endpoint/instructions/initDefaultReceiveLibrary.ts +195 -0
- package/src/generated/endpoint/instructions/initDefaultSendLibrary.ts +195 -0
- package/src/generated/endpoint/instructions/initEndpoint.ts +147 -0
- package/src/generated/endpoint/instructions/initNonce.ts +168 -0
- package/src/generated/endpoint/instructions/initReceiveLibrary.ts +159 -0
- package/src/generated/endpoint/instructions/initSendLibrary.ts +159 -0
- package/src/generated/endpoint/instructions/initVerify.ts +159 -0
- package/src/generated/endpoint/instructions/lzComposeAlert.ts +148 -0
- package/src/generated/endpoint/instructions/lzReceiveAlert.ts +148 -0
- package/src/generated/endpoint/instructions/nilify.ts +193 -0
- package/src/generated/endpoint/instructions/quote.ts +181 -0
- package/src/generated/endpoint/instructions/registerLibrary.ts +183 -0
- package/src/generated/endpoint/instructions/registerOapp.ts +183 -0
- package/src/generated/endpoint/instructions/send.ts +215 -0
- package/src/generated/endpoint/instructions/sendCompose.ts +183 -0
- package/src/generated/endpoint/instructions/setConfig.ts +169 -0
- package/src/generated/endpoint/instructions/setDefaultReceiveLibrary.ts +184 -0
- package/src/generated/endpoint/instructions/setDefaultReceiveLibraryTimeout.ts +185 -0
- package/src/generated/endpoint/instructions/setDefaultSendLibrary.ts +184 -0
- package/src/generated/endpoint/instructions/setDelegate.ts +160 -0
- package/src/generated/endpoint/instructions/setLzToken.ts +160 -0
- package/src/generated/endpoint/instructions/setReceiveLibrary.ts +190 -0
- package/src/generated/endpoint/instructions/setReceiveLibraryTimeout.ts +184 -0
- package/src/generated/endpoint/instructions/setSendLibrary.ts +190 -0
- package/src/generated/endpoint/instructions/skip.ts +203 -0
- package/src/generated/endpoint/instructions/transferAdmin.ts +160 -0
- package/src/generated/endpoint/instructions/verify.ts +205 -0
- package/src/generated/endpoint/instructions/withdrawRent.ts +172 -0
- package/src/generated/endpoint/types/BurnParams.ts +32 -0
- package/src/generated/endpoint/types/ClearComposeParams.ts +31 -0
- package/src/generated/endpoint/types/ClearParams.ts +34 -0
- package/src/generated/endpoint/types/InitConfigParams.ts +26 -0
- package/src/generated/endpoint/types/InitDefaultReceiveLibraryParams.ts +27 -0
- package/src/generated/endpoint/types/InitDefaultSendLibraryParams.ts +27 -0
- package/src/generated/endpoint/types/InitEndpointParams.ts +27 -0
- package/src/generated/endpoint/types/InitNonceParams.ts +28 -0
- package/src/generated/endpoint/types/InitReceiveLibraryParams.ts +27 -0
- package/src/generated/endpoint/types/InitSendLibraryParams.ts +27 -0
- package/src/generated/endpoint/types/InitVerifyParams.ts +30 -0
- package/src/generated/endpoint/types/LzComposeAlertParams.ts +41 -0
- package/src/generated/endpoint/types/LzReceiveAlertParams.ts +43 -0
- package/src/generated/endpoint/types/MessageLibType.ts +25 -0
- package/src/generated/endpoint/types/MessagingFee.ts +24 -0
- package/src/generated/endpoint/types/MessagingReceipt.ts +27 -0
- package/src/generated/endpoint/types/NilifyParams.ts +32 -0
- package/src/generated/endpoint/types/QuoteParams.ts +34 -0
- package/src/generated/endpoint/types/ReceiveLibraryTimeout.ts +27 -0
- package/src/generated/endpoint/types/RegisterLibraryParams.ts +28 -0
- package/src/generated/endpoint/types/RegisterOAppParams.ts +23 -0
- package/src/generated/endpoint/types/SendComposeParams.ts +31 -0
- package/src/generated/endpoint/types/SendParams.ts +32 -0
- package/src/generated/endpoint/types/SetConfigParams.ts +31 -0
- package/src/generated/endpoint/types/SetDefaultReceiveLibraryParams.ts +29 -0
- package/src/generated/endpoint/types/SetDefaultReceiveLibraryTimeoutParams.ts +29 -0
- package/src/generated/endpoint/types/SetDefaultSendLibraryParams.ts +27 -0
- package/src/generated/endpoint/types/SetDelegateParams.ts +22 -0
- package/src/generated/endpoint/types/SetLzTokenParams.ts +23 -0
- package/src/generated/endpoint/types/SetReceiveLibraryParams.ts +31 -0
- package/src/generated/endpoint/types/SetReceiveLibraryTimeoutParams.ts +31 -0
- package/src/generated/endpoint/types/SetSendLibraryParams.ts +29 -0
- package/src/generated/endpoint/types/SkipParams.ts +30 -0
- package/src/generated/endpoint/types/TransferAdminParams.ts +23 -0
- package/src/generated/endpoint/types/VerifyParams.ts +32 -0
- package/src/generated/endpoint/types/WithdrawRentParams.ts +21 -0
- package/src/generated/endpoint/types/index.ts +36 -0
- package/src/generated/executor/accounts/ExecutorConfig.ts +216 -0
- package/src/generated/executor/accounts/Nonce.ts +193 -0
- package/src/generated/executor/accounts/index.ts +7 -0
- package/src/generated/executor/errors/index.ts +434 -0
- package/src/generated/executor/events/NativeDropAppliedEvent.ts +38 -0
- package/src/generated/executor/events/index.ts +1 -0
- package/src/generated/executor/index.ts +21 -0
- package/src/generated/executor/instructions/adminSetConfig.ts +136 -0
- package/src/generated/executor/instructions/compose.ts +181 -0
- package/src/generated/executor/instructions/executable.ts +136 -0
- package/src/generated/executor/instructions/execute.ts +181 -0
- package/src/generated/executor/instructions/index.ts +8 -0
- package/src/generated/executor/instructions/initExecutor.ts +147 -0
- package/src/generated/executor/instructions/nativeDrop.ts +171 -0
- package/src/generated/executor/instructions/ownerSetConfig.ts +136 -0
- package/src/generated/executor/instructions/quoteExecutor.ts +148 -0
- package/src/generated/executor/types/Acl.ts +26 -0
- package/src/generated/executor/types/AdminSetConfigParams.ts +83 -0
- package/src/generated/executor/types/ComposeParams.ts +27 -0
- package/src/generated/executor/types/DstConfig.ts +32 -0
- package/src/generated/executor/types/ExecutableParams.ts +30 -0
- package/src/generated/executor/types/ExecuteParams.ts +31 -0
- package/src/generated/executor/types/ExecutionState.ts +26 -0
- package/src/generated/executor/types/InitExecutorParams.ts +33 -0
- package/src/generated/executor/types/LzComposeParams.ts +35 -0
- package/src/generated/executor/types/LzOption.ts +24 -0
- package/src/generated/executor/types/LzReceiveParams.ts +33 -0
- package/src/generated/executor/types/NativeDropParams.ts +36 -0
- package/src/generated/executor/types/NativeDropRequest.ts +26 -0
- package/src/generated/executor/types/OwnerSetConfigParams.ts +123 -0
- package/src/generated/executor/types/QuoteExecutorParams.ts +34 -0
- package/src/generated/executor/types/index.ts +15 -0
- package/src/generated/pricefeed/accounts/PriceFeed.ts +220 -0
- package/src/generated/pricefeed/accounts/index.ts +5 -0
- package/src/generated/pricefeed/errors/index.ts +115 -0
- package/src/generated/pricefeed/index.ts +21 -0
- package/src/generated/pricefeed/instructions/getFee.ts +121 -0
- package/src/generated/pricefeed/instructions/index.ts +6 -0
- package/src/generated/pricefeed/instructions/initPriceFeed.ts +147 -0
- package/src/generated/pricefeed/instructions/setPrice.ts +133 -0
- package/src/generated/pricefeed/instructions/setPriceFeed.ts +136 -0
- package/src/generated/pricefeed/instructions/setSolPrice.ts +136 -0
- package/src/generated/pricefeed/instructions/transferAdmin.ts +136 -0
- package/src/generated/pricefeed/types/GetFeeParams.ts +26 -0
- package/src/generated/pricefeed/types/InitPriceFeedParams.ts +27 -0
- package/src/generated/pricefeed/types/ModelType.ts +66 -0
- package/src/generated/pricefeed/types/Price.ts +31 -0
- package/src/generated/pricefeed/types/PriceParams.ts +29 -0
- package/src/generated/pricefeed/types/SetPriceFeedParams.ts +29 -0
- package/src/generated/pricefeed/types/SetPriceParams.ts +26 -0
- package/src/generated/pricefeed/types/SetSolPriceParams.ts +21 -0
- package/src/generated/pricefeed/types/TransferAdminParams.ts +23 -0
- package/src/generated/pricefeed/types/index.ts +9 -0
- package/src/generated/simple_messagelib/accounts/MessageLib.ts +222 -0
- package/src/generated/simple_messagelib/accounts/ReceiveConfigStore.ts +168 -0
- package/src/generated/simple_messagelib/accounts/SendConfigStore.ts +170 -0
- package/src/generated/simple_messagelib/accounts/index.ts +13 -0
- package/src/generated/simple_messagelib/errors/index.ts +207 -0
- package/src/generated/simple_messagelib/index.ts +21 -0
- package/src/generated/simple_messagelib/instructions/index.ts +15 -0
- package/src/generated/simple_messagelib/instructions/initConfig.ts +183 -0
- package/src/generated/simple_messagelib/instructions/initDefaultConfig.ts +171 -0
- package/src/generated/simple_messagelib/instructions/initMessageLib.ts +147 -0
- package/src/generated/simple_messagelib/instructions/quote.ts +133 -0
- package/src/generated/simple_messagelib/instructions/revertCall.ts +59 -0
- package/src/generated/simple_messagelib/instructions/send.ts +154 -0
- package/src/generated/simple_messagelib/instructions/sendWithLzToken.ts +207 -0
- package/src/generated/simple_messagelib/instructions/setConfig.ts +157 -0
- package/src/generated/simple_messagelib/instructions/setDefaultConfig.ts +171 -0
- package/src/generated/simple_messagelib/instructions/setFee.ts +133 -0
- package/src/generated/simple_messagelib/instructions/setWlCaller.ts +136 -0
- package/src/generated/simple_messagelib/instructions/transferAdmin.ts +136 -0
- package/src/generated/simple_messagelib/instructions/validatePacket.ts +136 -0
- package/src/generated/simple_messagelib/instructions/version.ts +59 -0
- package/src/generated/simple_messagelib/instructions/withdrawFees.ts +148 -0
- package/src/generated/simple_messagelib/types/InitConfigParams.ts +26 -0
- package/src/generated/simple_messagelib/types/InitDefaultConfigParams.ts +27 -0
- package/src/generated/simple_messagelib/types/InitMessageLibParams.ts +35 -0
- package/src/generated/simple_messagelib/types/MessagingFee.ts +24 -0
- package/src/generated/simple_messagelib/types/Packet.ts +36 -0
- package/src/generated/simple_messagelib/types/QuoteParams.ts +27 -0
- package/src/generated/simple_messagelib/types/SendParams.ts +27 -0
- package/src/generated/simple_messagelib/types/SendWithLzTokenParams.ts +34 -0
- package/src/generated/simple_messagelib/types/SetConfigParams.ts +31 -0
- package/src/generated/simple_messagelib/types/SetDefaultConfigParams.ts +27 -0
- package/src/generated/simple_messagelib/types/SetFeeParams.ts +24 -0
- package/src/generated/simple_messagelib/types/SetWlCallerParams.ts +22 -0
- package/src/generated/simple_messagelib/types/TransferAdminParams.ts +23 -0
- package/src/generated/simple_messagelib/types/ValidatePacketParams.ts +21 -0
- package/src/generated/simple_messagelib/types/Version.ts +26 -0
- package/src/generated/simple_messagelib/types/WithdrawFeesParams.ts +21 -0
- package/src/generated/simple_messagelib/types/index.ts +16 -0
- package/src/generated/uln/accounts/Confirmations.ts +171 -0
- package/src/generated/uln/accounts/ReceiveConfig.ts +169 -0
- package/src/generated/uln/accounts/SendConfig.ts +177 -0
- package/src/generated/uln/accounts/UlnSettings.ts +195 -0
- package/src/generated/uln/accounts/index.ts +16 -0
- package/src/generated/uln/errors/index.ts +761 -0
- package/src/generated/uln/events/AdminTransferredEvent.ts +23 -0
- package/src/generated/uln/events/ConfigSetEvent.ts +30 -0
- package/src/generated/uln/events/DefaultConfigSetEvent.ts +31 -0
- package/src/generated/uln/events/FeesPaidEvent.ts +28 -0
- package/src/generated/uln/events/LzTokenSetEvent.ts +23 -0
- package/src/generated/uln/events/PayloadVerifiedEvent.ts +31 -0
- package/src/generated/uln/events/RentWithdrawnEvent.ts +27 -0
- package/src/generated/uln/events/TreasuryFeeCapSetEvent.ts +21 -0
- package/src/generated/uln/events/TreasurySetEvent.ts +22 -0
- package/src/generated/uln/events/index.ts +7 -0
- package/src/generated/uln/index.ts +21 -0
- package/src/generated/uln/instructions/closeVerify.ts +148 -0
- package/src/generated/uln/instructions/commitVerification.ts +148 -0
- package/src/generated/uln/instructions/index.ts +16 -0
- package/src/generated/uln/instructions/initConfig.ts +183 -0
- package/src/generated/uln/instructions/initDefaultConfig.ts +195 -0
- package/src/generated/uln/instructions/initUln.ts +144 -0
- package/src/generated/uln/instructions/initVerify.ts +147 -0
- package/src/generated/uln/instructions/quote.ts +157 -0
- package/src/generated/uln/instructions/send.ts +220 -0
- package/src/generated/uln/instructions/sendWithLzToken.ts +255 -0
- package/src/generated/uln/instructions/setConfig.ts +205 -0
- package/src/generated/uln/instructions/setDefaultConfig.ts +184 -0
- package/src/generated/uln/instructions/setTreasury.ts +160 -0
- package/src/generated/uln/instructions/transferAdmin.ts +160 -0
- package/src/generated/uln/instructions/verify.ts +157 -0
- package/src/generated/uln/instructions/version.ts +59 -0
- package/src/generated/uln/instructions/withdrawRent.ts +172 -0
- package/src/generated/uln/types/CloseVerifyParams.ts +24 -0
- package/src/generated/uln/types/CommitVerificationParams.ts +25 -0
- package/src/generated/uln/types/Config.ts +75 -0
- package/src/generated/uln/types/ExecutorConfig.ts +26 -0
- package/src/generated/uln/types/InitConfigParams.ts +26 -0
- package/src/generated/uln/types/InitDefaultConfigParams.ts +31 -0
- package/src/generated/uln/types/InitUlnParams.ts +30 -0
- package/src/generated/uln/types/InitVerifyParams.ts +28 -0
- package/src/generated/uln/types/LzTokenTreasury.ts +26 -0
- package/src/generated/uln/types/MessagingFee.ts +24 -0
- package/src/generated/uln/types/Packet.ts +36 -0
- package/src/generated/uln/types/QuoteParams.ts +27 -0
- package/src/generated/uln/types/SendParams.ts +27 -0
- package/src/generated/uln/types/SendWithLzTokenParams.ts +34 -0
- package/src/generated/uln/types/SetConfigParams.ts +31 -0
- package/src/generated/uln/types/SetDefaultConfigParams.ts +31 -0
- package/src/generated/uln/types/SetTreasuryParams.ts +22 -0
- package/src/generated/uln/types/TransferAdminParams.ts +23 -0
- package/src/generated/uln/types/Treasury.ts +31 -0
- package/src/generated/uln/types/TreasuryFee.ts +28 -0
- package/src/generated/uln/types/UlnConfig.ts +34 -0
- package/src/generated/uln/types/VerifyParams.ts +26 -0
- package/src/generated/uln/types/Version.ts +26 -0
- package/src/generated/uln/types/WithdrawRentParams.ts +21 -0
- package/src/generated/uln/types/WorkerFee.ts +26 -0
- package/src/generated/uln/types/index.ts +25 -0
- package/src/generated/worker_interface/errors/index.ts +75 -0
- package/src/generated/worker_interface/index.ts +20 -0
- package/src/generated/worker_interface/instructions/index.ts +2 -0
- package/src/generated/worker_interface/instructions/quoteDvn.ts +145 -0
- package/src/generated/worker_interface/instructions/quoteExecutor.ts +148 -0
- package/src/generated/worker_interface/types/LzOption.ts +24 -0
- package/src/generated/worker_interface/types/QuoteDvnParams.ts +38 -0
- package/src/generated/worker_interface/types/QuoteExecutorParams.ts +34 -0
- package/src/generated/worker_interface/types/index.ts +3 -0
- package/src/index.ts +120 -0
- package/src/pda-deriver.ts +658 -0
- package/src/pricefeed.ts +208 -0
- package/src/recevie.ts +269 -0
- package/src/send-helper.ts +504 -0
- package/src/simple-message-lib.ts +303 -0
- package/src/types.ts +222 -0
- package/src/uln.ts +1045 -0
- 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
|
+
}
|