@across-protocol/contracts 4.0.11 → 4.0.13
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/README.md +182 -3
- package/dist/deployments/deployments.json +4 -2
- package/dist/scripts/svm/buildHelpers/generateSvmClients.js +4 -8
- package/dist/scripts/svm/{enableRoute.js → createVault.js} +15 -37
- package/dist/scripts/svm/fakeFillWithRandomDistribution.js +9 -8
- package/dist/scripts/svm/initialize.js +19 -5
- package/dist/scripts/svm/nativeDeposit.js +159 -0
- package/dist/scripts/svm/queryEventsV2.js +3 -3
- package/dist/scripts/svm/{queryRoute.js → queryVault.js} +10 -25
- package/dist/scripts/svm/remoteHubPoolPauseDeposits.js +2 -2
- package/dist/scripts/svm/simpleDeposit.js +30 -18
- package/dist/scripts/svm/simpleFakeRelayerRepayment.js +2 -9
- package/dist/scripts/svm/simpleFill.js +7 -5
- package/dist/scripts/svm/squadsIdlUpgrade.d.ts +1 -0
- package/dist/scripts/svm/squadsIdlUpgrade.js +76 -0
- package/dist/src/svm/assets/idl/svm_spoke.json +68 -409
- package/dist/src/svm/assets/svm_spoke.d.ts +65 -406
- package/dist/src/svm/clients/MessageTransmitter/accounts/index.d.ts +10 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/index.js +26 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.d.ts +28 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.js +64 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.d.ts +46 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.js +82 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.d.ts +31 -0
- package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.js +70 -0
- package/dist/src/svm/clients/MessageTransmitter/errors/index.d.ts +8 -0
- package/dist/src/svm/clients/MessageTransmitter/errors/index.js +24 -0
- package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.d.ts +83 -0
- package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.js +124 -0
- package/dist/src/svm/clients/MessageTransmitter/index.d.ts +12 -0
- package/dist/src/svm/clients/MessageTransmitter/index.js +28 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.d.ts +45 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.js +85 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.d.ts +55 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.js +105 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.d.ts +55 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.js +105 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.d.ts +43 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.js +82 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/index.d.ts +25 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/index.js +41 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.d.ts +70 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.js +123 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.d.ts +42 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.js +77 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/pause.d.ts +45 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/pause.js +85 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.d.ts +67 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.js +113 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.d.ts +48 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.js +94 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.d.ts +64 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.js +132 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.d.ts +61 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.js +112 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.d.ts +64 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.js +117 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.js +94 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.js +97 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.js +91 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.d.ts +45 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.js +85 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.js +94 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.js +91 -0
- package/dist/src/svm/clients/MessageTransmitter/programs/index.d.ts +8 -0
- package/dist/src/svm/clients/MessageTransmitter/programs/index.js +24 -0
- package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.d.ts +78 -0
- package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.js +112 -0
- package/dist/src/svm/clients/MessageTransmitter/shared/index.d.ts +49 -0
- package/dist/src/svm/clients/MessageTransmitter/shared/index.js +94 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.d.ts +15 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.js +22 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.d.ts +15 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.js +22 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.d.ts +16 -0
- package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.js +28 -0
- package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.d.ts +18 -0
- package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.js +32 -0
- package/dist/src/svm/clients/MessageTransmitter/types/index.d.ts +20 -0
- package/dist/src/svm/clients/MessageTransmitter/types/index.js +36 -0
- package/dist/src/svm/clients/MessageTransmitter/types/mathError.d.ts +17 -0
- package/dist/src/svm/clients/MessageTransmitter/types/mathError.js +29 -0
- package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.d.ts +17 -0
- package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.js +22 -0
- package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.d.ts +25 -0
- package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.js +34 -0
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.d.ts +16 -0
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.js +28 -0
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.d.ts +16 -0
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.js +28 -0
- package/dist/src/svm/clients/MessageTransmitter/types/pause.d.ts +13 -0
- package/dist/src/svm/clients/MessageTransmitter/types/pause.js +22 -0
- package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.d.ts +15 -0
- package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.js +22 -0
- package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.d.ts +16 -0
- package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.js +28 -0
- package/dist/src/svm/clients/MessageTransmitter/types/unpause.d.ts +13 -0
- package/dist/src/svm/clients/MessageTransmitter/types/unpause.js +22 -0
- package/dist/src/svm/clients/SvmSpoke/accounts/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/accounts/index.js +0 -1
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.d.ts +31 -35
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.js +46 -52
- package/dist/src/svm/clients/SvmSpoke/instructions/bridgeTokensToHubPool.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/claimRelayerRefund.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/deposit.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/deposit.js +40 -8
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.js +40 -8
- package/dist/src/svm/clients/SvmSpoke/instructions/executeRelayerRefundLeaf.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/executeRelayerRefundLeafDeferred.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/executeSlowRelayLeaf.js +2 -2
- package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.d.ts +20 -16
- package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.js +7 -2
- package/dist/src/svm/clients/SvmSpoke/instructions/handleReceiveMessage.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/index.js +0 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.js +40 -8
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.d.ts +6 -10
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.js +5 -13
- package/dist/src/svm/clients/SvmSpoke/types/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/types/index.js +0 -1
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.d.ts +12 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.d.ts +43 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.js +82 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.d.ts +29 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.js +71 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.d.ts +35 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.js +74 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.d.ts +33 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.js +72 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.d.ts +33 -0
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.js +72 -0
- package/dist/src/svm/clients/TokenMessengerMinter/errors/index.d.ts +8 -0
- package/dist/src/svm/clients/TokenMessengerMinter/errors/index.js +24 -0
- package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.d.ts +45 -0
- package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.js +67 -0
- package/dist/src/svm/clients/TokenMessengerMinter/index.d.ts +12 -0
- package/dist/src/svm/clients/TokenMessengerMinter/index.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.d.ts +45 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.js +82 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.d.ts +63 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.js +115 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.d.ts +61 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.js +110 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.d.ts +64 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.js +117 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.d.ts +94 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.js +161 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.d.ts +97 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.js +166 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.d.ts +79 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.js +132 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.d.ts +26 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.js +42 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.d.ts +73 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.js +124 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.d.ts +64 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.js +109 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.d.ts +45 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.js +82 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.d.ts +57 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.js +105 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.d.ts +51 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.js +94 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.d.ts +79 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.js +150 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.d.ts +52 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.js +97 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.d.ts +52 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.js +91 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.d.ts +49 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.js +88 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.d.ts +51 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.js +91 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.d.ts +45 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.js +82 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.d.ts +52 -0
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.js +91 -0
- package/dist/src/svm/clients/TokenMessengerMinter/programs/index.d.ts +8 -0
- package/dist/src/svm/clients/TokenMessengerMinter/programs/index.js +24 -0
- package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.d.ts +83 -0
- package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.js +124 -0
- package/dist/src/svm/clients/TokenMessengerMinter/shared/index.d.ts +49 -0
- package/dist/src/svm/clients/TokenMessengerMinter/shared/index.js +94 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.d.ts +31 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.js +40 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/index.d.ts +24 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/index.js +40 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.d.ts +21 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.js +30 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/pause.d.ts +13 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/pause.js +22 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.d.ts +15 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.js +22 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.d.ts +16 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.d.ts +19 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.d.ts +15 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.js +22 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.d.ts +19 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.js +28 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.d.ts +23 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.js +35 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.d.ts +17 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.js +30 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.d.ts +17 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.js +30 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.d.ts +13 -0
- package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.js +22 -0
- package/dist/src/svm/clients/index.d.ts +3 -1
- package/dist/src/svm/clients/index.js +5 -1
- package/dist/src/svm/web3-v1/helpers.d.ts +114 -1
- package/dist/src/svm/web3-v1/helpers.js +179 -1
- package/dist/target/types/svm_spoke.d.ts +65 -406
- package/dist/tasks/enableL1TokenAcrossEcosystem.js +4 -4
- package/dist/test/svm/SvmSpoke.Deposit.js +143 -176
- package/dist/test/svm/SvmSpoke.Fill.AcrossPlus.js +20 -17
- package/dist/test/svm/SvmSpoke.Fill.js +52 -38
- package/dist/test/svm/SvmSpoke.HandleReceiveMessage.js +2 -114
- package/dist/test/svm/SvmSpoke.SlowFill.AcrossPlus.js +2 -2
- package/dist/test/svm/SvmSpoke.SlowFill.js +37 -34
- package/dist/test/svm/SvmSpoke.common.d.ts +2 -3
- package/dist/test/svm/SvmSpoke.common.js +3 -12
- package/package.json +5 -5
- package/dist/scripts/svm/remoteHubPoolSetDepositRoute.d.ts +0 -1
- package/dist/scripts/svm/remoteHubPoolSetDepositRoute.js +0 -252
- package/dist/src/svm/clients/SvmSpoke/accounts/route.d.ts +0 -27
- package/dist/src/svm/clients/SvmSpoke/accounts/route.js +0 -66
- package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.d.ts +0 -95
- package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.js +0 -213
- package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.d.ts +0 -21
- package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.js +0 -30
- package/dist/test/svm/SvmSpoke.Routes.js +0 -167
- /package/dist/scripts/svm/{enableRoute.d.ts → createVault.d.ts} +0 -0
- /package/dist/scripts/svm/{queryRoute.d.ts → nativeDeposit.d.ts} +0 -0
- /package/dist/{test/svm/SvmSpoke.Routes.d.ts → scripts/svm/queryVault.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// This script fetches
|
|
2
|
+
// This script fetches vault information for a given spoke pool and originToken.
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
5
5
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -43,51 +43,36 @@ console.log("SVM-Spoke Program ID:", programId.toString());
|
|
|
43
43
|
// Parse arguments
|
|
44
44
|
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
45
45
|
.option("seed", { type: "string", demandOption: true, describe: "Seed for the state account PDA" })
|
|
46
|
-
.option("originToken", { type: "string", demandOption: true, describe: "Origin token public key" })
|
|
47
|
-
|
|
48
|
-
async function queryRoute() {
|
|
46
|
+
.option("originToken", { type: "string", demandOption: true, describe: "Origin token public key" }).argv;
|
|
47
|
+
async function queryVault() {
|
|
49
48
|
const resolvedArgv = await argv;
|
|
50
49
|
const seed = new anchor_1.BN(resolvedArgv.seed);
|
|
51
50
|
const originToken = Array.from(new web3_js_1.PublicKey(resolvedArgv.originToken).toBytes());
|
|
52
|
-
const chainId = new anchor_1.BN(resolvedArgv.chainId);
|
|
53
51
|
// Define the state account PDA
|
|
54
52
|
const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
|
|
55
|
-
// Define the route account PDA
|
|
56
|
-
const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
57
|
-
Buffer.from("route"),
|
|
58
|
-
Buffer.from(originToken),
|
|
59
|
-
seed.toArrayLike(Buffer, "le", 8),
|
|
60
|
-
chainId.toArrayLike(Buffer, "le", 8),
|
|
61
|
-
], programId);
|
|
62
53
|
// Compute the vault address
|
|
63
54
|
const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(new web3_js_1.PublicKey(originToken), statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
64
|
-
console.log("Querying
|
|
55
|
+
console.log("Querying vault...");
|
|
65
56
|
console.table([
|
|
66
57
|
{ Property: "seed", Value: seed.toString() },
|
|
67
58
|
{ Property: "originToken", Value: new web3_js_1.PublicKey(originToken).toString() },
|
|
68
|
-
{ Property: "chainId", Value: chainId.toString() },
|
|
69
59
|
{ Property: "programId", Value: programId.toString() },
|
|
70
60
|
{ Property: "statePda", Value: statePda.toString() },
|
|
71
|
-
{ Property: "routePda", Value: routePda.toString() },
|
|
72
61
|
{ Property: "vault", Value: vault.toString() },
|
|
73
62
|
]);
|
|
74
63
|
try {
|
|
75
|
-
const route = await program.account.route.fetch(routePda);
|
|
76
64
|
const vaultAccount = await (0, spl_token_1.getAccount)(provider.connection, vault);
|
|
77
|
-
console.log("
|
|
78
|
-
console.table([
|
|
79
|
-
{ Property: "Enabled", Value: route.enabled },
|
|
80
|
-
{ Property: "vaultBalance", Value: vaultAccount.amount.toString() },
|
|
81
|
-
]);
|
|
65
|
+
console.log("Vault fetched successfully:");
|
|
66
|
+
console.table([{ Property: "vaultBalance", Value: vaultAccount.amount.toString() }]);
|
|
82
67
|
}
|
|
83
68
|
catch (error) {
|
|
84
69
|
if (error.message.includes("Account does not exist or has no data")) {
|
|
85
|
-
console.log("No
|
|
70
|
+
console.log("No vault has been created for the given origin token.");
|
|
86
71
|
}
|
|
87
72
|
else {
|
|
88
|
-
console.error("An error occurred while fetching the
|
|
73
|
+
console.error("An error occurred while fetching the vault:", error);
|
|
89
74
|
}
|
|
90
75
|
}
|
|
91
76
|
}
|
|
92
|
-
// Run the
|
|
93
|
-
|
|
77
|
+
// Run the queryVault function
|
|
78
|
+
queryVault();
|
|
@@ -74,7 +74,7 @@ async function remoteHubPoolPauseDeposit() {
|
|
|
74
74
|
const irisApiUrl = isDevnet ? web3_v1_1.CIRCLE_IRIS_API_URL_DEVNET : web3_v1_1.CIRCLE_IRIS_API_URL_MAINNET;
|
|
75
75
|
const hubPool = typechain_1.HubPool__factory.connect(hubPoolAddress, ethersProvider);
|
|
76
76
|
const spokePoolIface = new ethers_1.ethers.utils.Interface(["function pauseDeposits(bool pause)"]);
|
|
77
|
-
console.log("Remotely
|
|
77
|
+
console.log("Remotely pausing deposits...");
|
|
78
78
|
console.table([
|
|
79
79
|
{ Property: "seed", Value: seed.toString() },
|
|
80
80
|
{ Property: "chainId", Value: chainId.toString() },
|
|
@@ -176,7 +176,7 @@ async function remoteHubPoolPauseDeposit() {
|
|
|
176
176
|
console.log("\nReceived remote message");
|
|
177
177
|
console.log("Your transaction signature", receiveMessageTx);
|
|
178
178
|
let stateAccount = await svmSpokeProgram.account.state.fetch(statePda);
|
|
179
|
-
console.log("Updated deposit
|
|
179
|
+
console.log("Updated deposit state to: pausedDeposits =", stateAccount.pausedDeposits);
|
|
180
180
|
}
|
|
181
181
|
remoteHubPoolPauseDeposit()
|
|
182
182
|
.then(() => {
|
|
@@ -68,18 +68,11 @@ async function deposit() {
|
|
|
68
68
|
const integratorId = resolvedArgv.integratorId || "";
|
|
69
69
|
// Define the state account PDA
|
|
70
70
|
const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
|
|
71
|
-
// Define the route account PDA
|
|
72
|
-
const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
73
|
-
Buffer.from("route"),
|
|
74
|
-
inputToken.toBytes(),
|
|
75
|
-
seed.toArrayLike(Buffer, "le", 8),
|
|
76
|
-
destinationChainId.toArrayLike(Buffer, "le", 8),
|
|
77
|
-
], programId);
|
|
78
71
|
// Define the signer (replace with your actual signer)
|
|
79
72
|
const signer = provider.wallet.payer;
|
|
80
|
-
// Find ATA for the input token to be stored by state (vault). This
|
|
73
|
+
// Find ATA for the input token to be stored by state (vault). This should have been created before the deposit is attempted.
|
|
81
74
|
const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
82
|
-
console.log("Depositing
|
|
75
|
+
console.log("Depositing...");
|
|
83
76
|
console.table([
|
|
84
77
|
{ property: "seed", value: seed.toString() },
|
|
85
78
|
{ property: "recipient", value: recipient.toString() },
|
|
@@ -96,23 +89,42 @@ async function deposit() {
|
|
|
96
89
|
{ property: "programId", value: programId.toString() },
|
|
97
90
|
{ property: "providerPublicKey", value: provider.wallet.publicKey.toString() },
|
|
98
91
|
{ property: "statePda", value: statePda.toString() },
|
|
99
|
-
{ property: "routePda", value: routePda.toString() },
|
|
100
92
|
{ property: "vault", value: vault.toString() },
|
|
101
93
|
]);
|
|
102
94
|
const userTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey);
|
|
103
95
|
const tokenDecimals = (await (0, spl_token_1.getMint)(provider.connection, inputToken, undefined, spl_token_1.TOKEN_PROGRAM_ID)).decimals;
|
|
96
|
+
const depositData = {
|
|
97
|
+
depositor: signer.publicKey,
|
|
98
|
+
recipient,
|
|
99
|
+
inputToken,
|
|
100
|
+
outputToken,
|
|
101
|
+
inputAmount,
|
|
102
|
+
outputAmount,
|
|
103
|
+
destinationChainId,
|
|
104
|
+
exclusiveRelayer,
|
|
105
|
+
quoteTimestamp: new anchor_1.BN(quoteTimestamp),
|
|
106
|
+
fillDeadline: new anchor_1.BN(fillDeadline),
|
|
107
|
+
exclusivityParameter: new anchor_1.BN(exclusivityDeadline),
|
|
108
|
+
message,
|
|
109
|
+
};
|
|
110
|
+
const delegatePda = (0, web3_v1_1.getDepositPda)(depositData, program.programId);
|
|
104
111
|
// Delegate state PDA to pull depositor tokens.
|
|
105
|
-
const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken,
|
|
106
|
-
const
|
|
107
|
-
.accounts({
|
|
112
|
+
const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, delegatePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
|
|
113
|
+
const depositAccounts = {
|
|
108
114
|
state: statePda,
|
|
109
|
-
|
|
115
|
+
delegate: delegatePda,
|
|
110
116
|
signer: signer.publicKey,
|
|
111
|
-
userTokenAccount,
|
|
117
|
+
depositorTokenAccount: userTokenAccount,
|
|
112
118
|
vault: vault,
|
|
113
|
-
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
114
119
|
mint: inputToken,
|
|
115
|
-
|
|
120
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
121
|
+
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
122
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
123
|
+
program: programId,
|
|
124
|
+
};
|
|
125
|
+
const depositIx = await program.methods
|
|
126
|
+
.deposit(signer.publicKey, recipient, inputToken, outputToken, inputAmount, outputAmount, destinationChainId, exclusiveRelayer, quoteTimestamp, fillDeadline, exclusivityDeadline, message)
|
|
127
|
+
.accounts(depositAccounts)
|
|
116
128
|
.instruction();
|
|
117
129
|
// Create a custom instruction with arbitrary data
|
|
118
130
|
const depositTx = new web3_js_1.Transaction().add(approveIx, depositIx);
|
|
@@ -127,5 +139,5 @@ async function deposit() {
|
|
|
127
139
|
const tx = await (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, depositTx, [signer]);
|
|
128
140
|
console.log("Transaction signature:", tx);
|
|
129
141
|
}
|
|
130
|
-
// Run the
|
|
142
|
+
// Run the deposit function
|
|
131
143
|
deposit();
|
|
@@ -55,10 +55,6 @@ async function testBundleLogic() {
|
|
|
55
55
|
const signer = provider.wallet.payer;
|
|
56
56
|
console.log("Running from signer: ", signer.publicKey.toString());
|
|
57
57
|
const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
|
|
58
|
-
// This assumes that the destination chain Id 11155111 has been enabled. This is the sepolia chain ID.
|
|
59
|
-
// I.e this test assumes that enableRoute has been called with destinationChainId 11155111 and inputToken.
|
|
60
|
-
const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("route"), inputToken.toBytes(), statePda.toBytes(), new anchor_1.BN(11155111).toArrayLike(Buffer, "le", 8)], // Assuming destinationChainId is 1
|
|
61
|
-
programId);
|
|
62
58
|
const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
|
|
63
59
|
console.table([
|
|
64
60
|
{ property: "seed", value: seed.toString() },
|
|
@@ -66,19 +62,18 @@ async function testBundleLogic() {
|
|
|
66
62
|
{ property: "inputToken", value: inputToken.toString() },
|
|
67
63
|
{ property: "signer", value: signer.publicKey.toString() },
|
|
68
64
|
{ property: "statePda", value: statePda.toString() },
|
|
69
|
-
{ property: "routePda", value: routePda.toString() },
|
|
70
65
|
{ property: "vault", value: vault.toString() },
|
|
71
66
|
]);
|
|
72
67
|
const userTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey);
|
|
73
68
|
const tokenDecimals = (await (0, spl_token_1.getMint)(provider.connection, inputToken, undefined, spl_token_1.TOKEN_PROGRAM_ID)).decimals;
|
|
74
|
-
// Use program.methods.
|
|
69
|
+
// Use program.methods.deposit to send tokens to the spoke. note this is NOT a valid deposit, we just want to
|
|
75
70
|
// seed tokens into the spoke to test repayment.
|
|
76
71
|
// Delegate state PDA to pull depositor tokens.
|
|
77
72
|
const inputAmount = amounts.reduce((acc, amount) => acc.add(amount), new anchor_1.BN(0));
|
|
78
73
|
const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, statePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
|
|
79
74
|
const depositIx = await program.methods.deposit(signer.publicKey, signer.publicKey, // recipient is the signer for this example
|
|
80
75
|
inputToken, inputToken, // Re-use inputToken as outputToken. does not matter for this deposit.
|
|
81
|
-
inputAmount, new anchor_1.BN(0), new anchor_1.BN(11155111), // destinationChainId.
|
|
76
|
+
inputAmount, new anchor_1.BN(0), new anchor_1.BN(11155111), // destinationChainId.
|
|
82
77
|
web3_js_1.PublicKey.default, // exclusiveRelayer
|
|
83
78
|
Math.floor(Date.now() / 1000) - 1, // quoteTimestamp
|
|
84
79
|
Math.floor(Date.now() / 1000) + 3600, // fillDeadline
|
|
@@ -87,7 +82,6 @@ async function testBundleLogic() {
|
|
|
87
82
|
)
|
|
88
83
|
.accounts({
|
|
89
84
|
state: statePda,
|
|
90
|
-
route: routePda,
|
|
91
85
|
signer: signer.publicKey,
|
|
92
86
|
userTokenAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey),
|
|
93
87
|
vault: vault,
|
|
@@ -132,7 +126,6 @@ async function testBundleLogic() {
|
|
|
132
126
|
const [rootBundle] = web3_js_1.PublicKey.findProgramAddressSync(seeds, programId);
|
|
133
127
|
console.table([
|
|
134
128
|
{ property: "State PDA", value: statePda.toString() },
|
|
135
|
-
{ property: "Route PDA", value: routePda.toString() },
|
|
136
129
|
{ property: "Root Bundle PDA", value: rootBundle.toString() },
|
|
137
130
|
{ property: "Signer", value: signer.publicKey.toString() },
|
|
138
131
|
]);
|
|
@@ -66,7 +66,7 @@ async function fillRelay() {
|
|
|
66
66
|
const originChainId = new anchor_1.BN(resolvedArgv.originChainId);
|
|
67
67
|
const depositId = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.depositId));
|
|
68
68
|
const fillDeadline = resolvedArgv.fillDeadline || Math.floor(Date.now() / 1000) + 60; // Current time + 1 minute
|
|
69
|
-
const exclusivityDeadline = resolvedArgv.exclusivityDeadline
|
|
69
|
+
const exclusivityDeadline = resolvedArgv.exclusivityDeadline ?? 0; // default to 0
|
|
70
70
|
const message = Buffer.from("");
|
|
71
71
|
const seed = new anchor_1.BN(resolvedArgv.seed);
|
|
72
72
|
const relayData = {
|
|
@@ -85,7 +85,7 @@ async function fillRelay() {
|
|
|
85
85
|
};
|
|
86
86
|
// Define the signer (replace with your actual signer)
|
|
87
87
|
const signer = provider.wallet.payer;
|
|
88
|
-
console.log("Filling
|
|
88
|
+
console.log("Filling Relay...");
|
|
89
89
|
// Define the state account PDA
|
|
90
90
|
const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
|
|
91
91
|
// Fetch the state from the on-chain program to get chainId
|
|
@@ -123,12 +123,14 @@ async function fillRelay() {
|
|
|
123
123
|
{ pubkey: recipientTokenAccount, isWritable: true, isSigner: false },
|
|
124
124
|
])
|
|
125
125
|
.instruction();
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
const delegate = (0, web3_v1_1.getFillRelayDelegatePda)(relayHashUint8Array, chainId, signer.publicKey, program.programId).pda;
|
|
127
|
+
// Delegate fill delegate PDA to pull relayer tokens.
|
|
128
|
+
const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(relayerTokenAccount, outputToken, delegate, signer.publicKey, BigInt(relayData.outputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
|
|
128
129
|
const fillDataValues = [Array.from(relayHashUint8Array), relayData, chainId, signer.publicKey];
|
|
129
130
|
const fillAccounts = {
|
|
130
131
|
state: statePda,
|
|
131
132
|
signer: signer.publicKey,
|
|
133
|
+
delegate,
|
|
132
134
|
instructionParams: program.programId,
|
|
133
135
|
mint: outputToken,
|
|
134
136
|
relayerTokenAccount: relayerTokenAccount,
|
|
@@ -148,5 +150,5 @@ async function fillRelay() {
|
|
|
148
150
|
const tx = await (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, fillTx, [signer]);
|
|
149
151
|
console.log("Transaction signature:", tx);
|
|
150
152
|
}
|
|
151
|
-
// Run the
|
|
153
|
+
// Run the fillRelay function
|
|
152
154
|
fillRelay();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This script prepares transaction for finalizing IDL upgrade and prints out Base58 encoded transaction that can be
|
|
3
|
+
// imported in the Squads transaction builder. This requires one first to have written the upgraded IDL to the buffer
|
|
4
|
+
// account (anchor idl write-buffer) and set its authority to the Squads multisig (anchor idl set-authority).
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
11
|
+
const helpers_1 = require("yargs/helpers");
|
|
12
|
+
const web3_js_2 = require("@solana/web3.js");
|
|
13
|
+
const sha2_1 = require("@noble/hashes/sha2");
|
|
14
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
15
|
+
// Parse arguments
|
|
16
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
17
|
+
.option("programId", { type: "string", demandOption: true, describe: "Upgrade IDL for the given program ID" })
|
|
18
|
+
.option("idlBuffer", { type: "string", demandOption: true, describe: "Buffer account where IDL has been written" })
|
|
19
|
+
.option("closeRecipient", { type: "string", demandOption: true, describe: "Account to receive closed buffer SOL" })
|
|
20
|
+
.option("multisig", { type: "string", demandOption: true, describe: "Multisig controlling the upgrade" }).argv;
|
|
21
|
+
async function squadsIdlUpgrade() {
|
|
22
|
+
const resolvedArgv = await argv;
|
|
23
|
+
const programId = new web3_js_1.PublicKey(resolvedArgv.programId);
|
|
24
|
+
const idlBuffer = new web3_js_1.PublicKey(resolvedArgv.idlBuffer);
|
|
25
|
+
const multisig = new web3_js_1.PublicKey(resolvedArgv.multisig);
|
|
26
|
+
const closeRecipient = new web3_js_1.PublicKey(resolvedArgv.closeRecipient);
|
|
27
|
+
// Get the deterministic IDL address for the program:
|
|
28
|
+
const base = web3_js_1.PublicKey.findProgramAddressSync([], programId)[0];
|
|
29
|
+
const idlAddress = await web3_js_1.PublicKey.createWithSeed(base, "anchor:idl", programId);
|
|
30
|
+
console.log("Creating IDL upgrade transaction...");
|
|
31
|
+
console.table([
|
|
32
|
+
{ Property: "programId", Value: programId.toString() },
|
|
33
|
+
{ Property: "idlBuffer", Value: idlBuffer.toString() },
|
|
34
|
+
{ Property: "idlAddress", Value: idlAddress.toString() },
|
|
35
|
+
{ Property: "multisig", Value: multisig.toString() },
|
|
36
|
+
{ Property: "closeRecipient", Value: closeRecipient.toString() },
|
|
37
|
+
]);
|
|
38
|
+
const idlSetBufferAccounts = [
|
|
39
|
+
{ pubkey: idlBuffer, isSigner: false, isWritable: true },
|
|
40
|
+
{ pubkey: idlAddress, isSigner: false, isWritable: true },
|
|
41
|
+
{ pubkey: multisig, isSigner: true, isWritable: false },
|
|
42
|
+
];
|
|
43
|
+
const idlSetBufferInstructionData = Buffer.concat([
|
|
44
|
+
Buffer.from((0, sha2_1.sha256)("anchor:idl")).slice(0, 8).reverse(),
|
|
45
|
+
Buffer.from([3]), // IdlInstruction::SetBuffer
|
|
46
|
+
]);
|
|
47
|
+
const idlSetBufferInstructionCtorFields = {
|
|
48
|
+
keys: idlSetBufferAccounts,
|
|
49
|
+
programId: programId,
|
|
50
|
+
data: idlSetBufferInstructionData,
|
|
51
|
+
};
|
|
52
|
+
const idlSetBufferInstruction = new web3_js_2.TransactionInstruction(idlSetBufferInstructionCtorFields);
|
|
53
|
+
const idlCloseAccounts = [
|
|
54
|
+
{ pubkey: idlBuffer, isSigner: false, isWritable: true },
|
|
55
|
+
{ pubkey: multisig, isSigner: true, isWritable: false },
|
|
56
|
+
{ pubkey: closeRecipient, isSigner: false, isWritable: true },
|
|
57
|
+
];
|
|
58
|
+
const idlCloseData = Buffer.concat([
|
|
59
|
+
Buffer.from((0, sha2_1.sha256)("anchor:idl")).slice(0, 8).reverse(),
|
|
60
|
+
Buffer.from([5]), // IdlInstruction::Close
|
|
61
|
+
]);
|
|
62
|
+
const idlCloseCtorFields = {
|
|
63
|
+
keys: idlCloseAccounts,
|
|
64
|
+
programId: programId,
|
|
65
|
+
data: idlCloseData,
|
|
66
|
+
};
|
|
67
|
+
const idlCloseInstruction = new web3_js_2.TransactionInstruction(idlCloseCtorFields);
|
|
68
|
+
const multisigTransaction = new web3_js_2.Transaction().add(idlSetBufferInstruction).add(idlCloseInstruction);
|
|
69
|
+
multisigTransaction.recentBlockhash = "11111111111111111111111111111111"; // Placeholder blockhash
|
|
70
|
+
multisigTransaction.feePayer = programId; // Placeholder fee payer as we are not signing the transaction
|
|
71
|
+
const serializedMultisigTransaction = multisigTransaction.serializeMessage();
|
|
72
|
+
console.log("IDL upgrade transaction, import it into the multisig:");
|
|
73
|
+
console.log(bs58_1.default.encode(serializedMultisigTransaction));
|
|
74
|
+
}
|
|
75
|
+
// Run the squadsIdlUpgrade function
|
|
76
|
+
squadsIdlUpgrade();
|