@across-protocol/contracts 4.0.13 → 4.0.14-alpha.2
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 +6 -2
- package/dist/deployments/deployments.json +5 -5
- package/dist/scripts/svm/buildHelpers/generateSvmClients.js +8 -4
- package/dist/scripts/svm/closeRelayerPdas.js +1 -1
- package/dist/scripts/svm/fakeFillWithRandomDistribution.js +8 -7
- package/dist/scripts/svm/findFillStatusPdaFromEvent.js +1 -1
- package/dist/scripts/svm/nativeDeposit.js +3 -3
- package/dist/scripts/svm/queryEvents.js +1 -1
- package/dist/scripts/svm/queryEventsV2.js +1 -1
- package/dist/scripts/svm/queryFills.js +1 -1
- package/dist/scripts/svm/simpleDeposit.js +3 -3
- package/dist/scripts/svm/simpleFakeRelayerRepayment.js +19 -12
- package/dist/scripts/svm/simpleFill.js +2 -2
- package/dist/src/svm/assets/idl/multicall_handler.json +1 -1
- package/dist/src/svm/assets/idl/svm_spoke.json +124 -69
- package/dist/src/svm/assets/multicall_handler.d.ts +1 -1
- package/dist/src/svm/assets/svm_spoke.d.ts +124 -69
- package/dist/src/svm/clients/MulticallHandler/programs/multicallHandler.d.ts +2 -2
- package/dist/src/svm/clients/MulticallHandler/programs/multicallHandler.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.d.ts +37 -31
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.js +55 -46
- 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 +2 -2
- package/dist/src/svm/clients/SvmSpoke/instructions/deposit.js +4 -4
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.js +4 -4
- 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.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/handleReceiveMessage.d.ts +1 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/handleReceiveMessage.js +6 -6
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.js +4 -4
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.js +1 -1
- package/dist/src/svm/clients/SvmSpoke/types/filledRelay.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/filledRelay.js +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/fundsDeposited.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/fundsDeposited.js +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/relayData.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/relayData.js +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/requestedSlowFill.d.ts +2 -2
- package/dist/src/svm/clients/SvmSpoke/types/requestedSlowFill.js +2 -2
- package/dist/src/svm/clients/index.d.ts +1 -3
- package/dist/src/svm/clients/index.js +1 -5
- package/dist/src/svm/web3-v1/helpers.d.ts +6 -6
- package/dist/src/svm/web3-v1/helpers.js +2 -2
- package/dist/src/svm/web3-v1/relayHashUtils.js +3 -3
- package/dist/src/svm/web3-v1/solanaProgramUtils.d.ts +1 -1
- package/dist/src/svm/web3-v1/solanaProgramUtils.js +17 -7
- package/dist/src/types/svm.d.ts +3 -3
- package/dist/target/types/multicall_handler.d.ts +1 -1
- package/dist/target/types/svm_spoke.d.ts +124 -69
- package/dist/test/svm/SvmSpoke.Deposit.js +21 -3
- package/dist/test/svm/SvmSpoke.Fill.AcrossPlus.js +3 -3
- package/dist/test/svm/SvmSpoke.Fill.js +3 -3
- package/dist/test/svm/SvmSpoke.SlowFill.AcrossPlus.js +3 -3
- package/dist/test/svm/SvmSpoke.SlowFill.js +2 -2
- package/dist/test/svm/SvmSpoke.common.js +1 -1
- package/package.json +4 -4
- package/dist/src/svm/clients/MessageTransmitter/accounts/index.d.ts +0 -10
- package/dist/src/svm/clients/MessageTransmitter/accounts/index.js +0 -26
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.d.ts +0 -28
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.js +0 -64
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.d.ts +0 -46
- package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.js +0 -82
- package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.d.ts +0 -31
- package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.js +0 -70
- package/dist/src/svm/clients/MessageTransmitter/errors/index.d.ts +0 -8
- package/dist/src/svm/clients/MessageTransmitter/errors/index.js +0 -24
- package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.d.ts +0 -83
- package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.js +0 -124
- package/dist/src/svm/clients/MessageTransmitter/index.d.ts +0 -12
- package/dist/src/svm/clients/MessageTransmitter/index.js +0 -28
- package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.d.ts +0 -45
- package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.js +0 -85
- package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.d.ts +0 -55
- package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.js +0 -105
- package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.d.ts +0 -55
- package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.js +0 -105
- package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.d.ts +0 -43
- package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.js +0 -82
- package/dist/src/svm/clients/MessageTransmitter/instructions/index.d.ts +0 -25
- package/dist/src/svm/clients/MessageTransmitter/instructions/index.js +0 -41
- package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.d.ts +0 -70
- package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.js +0 -123
- package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.d.ts +0 -42
- package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.js +0 -77
- package/dist/src/svm/clients/MessageTransmitter/instructions/pause.d.ts +0 -45
- package/dist/src/svm/clients/MessageTransmitter/instructions/pause.js +0 -85
- package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.d.ts +0 -67
- package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.js +0 -113
- package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.d.ts +0 -48
- package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.js +0 -94
- package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.d.ts +0 -64
- package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.js +0 -132
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.d.ts +0 -61
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.js +0 -112
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.d.ts +0 -64
- package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.js +0 -117
- package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.js +0 -94
- package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.js +0 -97
- package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.js +0 -91
- package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.d.ts +0 -45
- package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.js +0 -85
- package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.js +0 -94
- package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.js +0 -91
- package/dist/src/svm/clients/MessageTransmitter/programs/index.d.ts +0 -8
- package/dist/src/svm/clients/MessageTransmitter/programs/index.js +0 -24
- package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.d.ts +0 -78
- package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.js +0 -112
- package/dist/src/svm/clients/MessageTransmitter/shared/index.d.ts +0 -49
- package/dist/src/svm/clients/MessageTransmitter/shared/index.js +0 -94
- package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.d.ts +0 -15
- package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.js +0 -22
- package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.d.ts +0 -15
- package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.js +0 -22
- package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.d.ts +0 -16
- package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.js +0 -28
- package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.d.ts +0 -18
- package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.js +0 -32
- package/dist/src/svm/clients/MessageTransmitter/types/index.d.ts +0 -20
- package/dist/src/svm/clients/MessageTransmitter/types/index.js +0 -36
- package/dist/src/svm/clients/MessageTransmitter/types/mathError.d.ts +0 -17
- package/dist/src/svm/clients/MessageTransmitter/types/mathError.js +0 -29
- package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.d.ts +0 -17
- package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.js +0 -22
- package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.d.ts +0 -25
- package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.js +0 -34
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.d.ts +0 -16
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.js +0 -28
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.d.ts +0 -16
- package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.js +0 -28
- package/dist/src/svm/clients/MessageTransmitter/types/pause.d.ts +0 -13
- package/dist/src/svm/clients/MessageTransmitter/types/pause.js +0 -22
- package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.d.ts +0 -15
- package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.js +0 -22
- package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.d.ts +0 -16
- package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.js +0 -28
- package/dist/src/svm/clients/MessageTransmitter/types/unpause.d.ts +0 -13
- package/dist/src/svm/clients/MessageTransmitter/types/unpause.js +0 -22
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.d.ts +0 -12
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.d.ts +0 -43
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.js +0 -82
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.d.ts +0 -29
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.js +0 -71
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.d.ts +0 -35
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.js +0 -74
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.d.ts +0 -33
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.js +0 -72
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.d.ts +0 -33
- package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.js +0 -72
- package/dist/src/svm/clients/TokenMessengerMinter/errors/index.d.ts +0 -8
- package/dist/src/svm/clients/TokenMessengerMinter/errors/index.js +0 -24
- package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.d.ts +0 -45
- package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.js +0 -67
- package/dist/src/svm/clients/TokenMessengerMinter/index.d.ts +0 -12
- package/dist/src/svm/clients/TokenMessengerMinter/index.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.d.ts +0 -45
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.js +0 -82
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.d.ts +0 -63
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.js +0 -115
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.d.ts +0 -61
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.js +0 -110
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.d.ts +0 -64
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.js +0 -117
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.d.ts +0 -94
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.js +0 -161
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.d.ts +0 -97
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.js +0 -166
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.d.ts +0 -79
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.js +0 -132
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.d.ts +0 -26
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.js +0 -42
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.d.ts +0 -73
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.js +0 -124
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.d.ts +0 -64
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.js +0 -109
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.d.ts +0 -45
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.js +0 -82
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.d.ts +0 -57
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.js +0 -105
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.d.ts +0 -51
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.js +0 -94
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.d.ts +0 -79
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.js +0 -150
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.d.ts +0 -52
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.js +0 -97
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.d.ts +0 -52
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.js +0 -91
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.d.ts +0 -49
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.js +0 -88
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.d.ts +0 -51
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.js +0 -91
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.d.ts +0 -45
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.js +0 -82
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.d.ts +0 -52
- package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.js +0 -91
- package/dist/src/svm/clients/TokenMessengerMinter/programs/index.d.ts +0 -8
- package/dist/src/svm/clients/TokenMessengerMinter/programs/index.js +0 -24
- package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.d.ts +0 -83
- package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.js +0 -124
- package/dist/src/svm/clients/TokenMessengerMinter/shared/index.d.ts +0 -49
- package/dist/src/svm/clients/TokenMessengerMinter/shared/index.js +0 -94
- package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.d.ts +0 -31
- package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.js +0 -40
- package/dist/src/svm/clients/TokenMessengerMinter/types/index.d.ts +0 -24
- package/dist/src/svm/clients/TokenMessengerMinter/types/index.js +0 -40
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.d.ts +0 -21
- package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.js +0 -30
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/pause.d.ts +0 -13
- package/dist/src/svm/clients/TokenMessengerMinter/types/pause.js +0 -22
- package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.d.ts +0 -15
- package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.js +0 -22
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.d.ts +0 -16
- package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.d.ts +0 -19
- package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.d.ts +0 -15
- package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.js +0 -22
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.d.ts +0 -19
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.js +0 -28
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.d.ts +0 -23
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.js +0 -35
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.d.ts +0 -17
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.js +0 -30
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.d.ts +0 -17
- package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.js +0 -30
- package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.d.ts +0 -13
- package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.js +0 -22
package/README.md
CHANGED
|
@@ -95,6 +95,7 @@ export SVM_CHAIN_ID=$(cast to-dec $(cast shr $(cast shl $(cast keccak solana-dev
|
|
|
95
95
|
export HUB_POOL=0x14224e63716afAcE30C9a417E0542281869f7d9e # This is for sepolia, update for mainnet
|
|
96
96
|
export DEPOSIT_QUOTE_TIME_BUFFER=3600
|
|
97
97
|
export FILL_DEADLINE_BUFFER=21600
|
|
98
|
+
export MAX_LEN=$(( 2 * $(stat -c %s target/deploy/$PROGRAM.so) )) # Reserve twice the size of the program for future upgrades
|
|
98
99
|
```
|
|
99
100
|
|
|
100
101
|
#### Initial deployment
|
|
@@ -103,11 +104,14 @@ Deploy the program and set the upgrade authority to the multisig:
|
|
|
103
104
|
|
|
104
105
|
```shell
|
|
105
106
|
solana program deploy \
|
|
106
|
-
--url $RPC_URL
|
|
107
|
+
--url $RPC_URL \
|
|
107
108
|
--keypair $KEYPAIR \
|
|
108
109
|
--program-id target/deploy/$PROGRAM-keypair.json \
|
|
110
|
+
--max-len $MAX_LEN \
|
|
109
111
|
--with-compute-unit-price 50000 \
|
|
110
|
-
--max-sign-attempts 100
|
|
112
|
+
--max-sign-attempts 100 \
|
|
113
|
+
--use-rpc \
|
|
114
|
+
target/deploy/$PROGRAM.so
|
|
111
115
|
solana program set-upgrade-authority \
|
|
112
116
|
--url $RPC_URL \
|
|
113
117
|
--keypair $KEYPAIR \
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"Cher_Adapter": { "address": "0x0c9d064523177dBB55CFE52b9D0c485FBFc35FD2", "blockNumber": 21597341 },
|
|
36
36
|
"Lens_Adapter": { "address": "0x63AC22131eD457aeCbD63e6c4C7eeC7BBC74fF1F", "blockNumber": 22167069 },
|
|
37
37
|
"DoctorWho_Adapter": { "address": "0xFADcC43096756e1527306FD92982FEbBe3c629Fa", "blockNumber": 21773451 },
|
|
38
|
-
"Solana_Adapter": { "address": "
|
|
38
|
+
"Solana_Adapter": { "address": "0x9F788694934fD2Ed34D5340B9a76EB34f2bFD7B3", "blockNumber": 22595936 }
|
|
39
39
|
},
|
|
40
40
|
"10": {
|
|
41
41
|
"SpokePool": { "address": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", "blockNumber": 93903076 },
|
|
@@ -226,12 +226,12 @@
|
|
|
226
226
|
},
|
|
227
227
|
"34268394551451": {
|
|
228
228
|
"SvmSpoke": {
|
|
229
|
-
"address": "
|
|
230
|
-
"blockNumber":
|
|
229
|
+
"address": "DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru",
|
|
230
|
+
"blockNumber": 349323531
|
|
231
231
|
},
|
|
232
232
|
"MulticallHandler": {
|
|
233
|
-
"address": "
|
|
234
|
-
"blockNumber":
|
|
233
|
+
"address": "HaQe51FWtnmaEcuYEfPA7MRCXKrtqptat4oJdJ8zV5Be",
|
|
234
|
+
"blockNumber": 349332183
|
|
235
235
|
},
|
|
236
236
|
"MessageTransmitter": {
|
|
237
237
|
"address": "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",
|
|
@@ -16,7 +16,11 @@ codama.accept((0, renderers_js_1.renderVisitor)(path_1.default.join(exports.clie
|
|
|
16
16
|
// Generate MulticallHandler clients
|
|
17
17
|
codama = (0, codama_1.createFromRoot)((0, nodes_from_anchor_1.rootNodeFromAnchor)(assets_1.MulticallHandlerIdl));
|
|
18
18
|
codama.accept((0, renderers_js_1.renderVisitor)(path_1.default.join(exports.clientsPath, "MulticallHandler")));
|
|
19
|
-
codama =
|
|
20
|
-
codama.accept(
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
// codama = createFromRoot(rootNodeFromAnchor(MessageTransmitterIdl as AnchorIdl));
|
|
20
|
+
// codama.accept(
|
|
21
|
+
// renderJavaScriptVisitor(path.join(clientsPath, "MessageTransmitter"))
|
|
22
|
+
// );
|
|
23
|
+
// codama = createFromRoot(rootNodeFromAnchor(TokenMessengerMinterIdl as AnchorIdl));
|
|
24
|
+
// codama.accept(
|
|
25
|
+
// renderJavaScriptVisitor(path.join(clientsPath, "TokenMessengerMinter"))
|
|
26
|
+
// );
|
|
@@ -82,7 +82,7 @@ async function closeFillPda(eventData, seed) {
|
|
|
82
82
|
exclusiveRelayer: new web3_js_1.PublicKey(eventData.exclusiveRelayer),
|
|
83
83
|
inputToken: new web3_js_1.PublicKey(eventData.inputToken),
|
|
84
84
|
outputToken: new web3_js_1.PublicKey(eventData.outputToken),
|
|
85
|
-
inputAmount:
|
|
85
|
+
inputAmount: eventData.inputAmount,
|
|
86
86
|
outputAmount: new anchor_1.BN(eventData.outputAmount),
|
|
87
87
|
originChainId: new anchor_1.BN(eventData.originChainId),
|
|
88
88
|
depositId: eventData.depositId,
|
|
@@ -48,10 +48,10 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
48
48
|
.option("exclusiveRelayer", { type: "string", demandOption: false, describe: "Exclusive relayer public key" })
|
|
49
49
|
.option("inputToken", { type: "string", demandOption: true, describe: "Input token public key" })
|
|
50
50
|
.option("outputToken", { type: "string", demandOption: true, describe: "Output token public key" })
|
|
51
|
-
.option("inputAmount", { type: "
|
|
51
|
+
.option("inputAmount", { type: "string", demandOption: true, describe: "Input amount" })
|
|
52
52
|
.option("outputAmount", { type: "number", demandOption: true, describe: "Output amount" })
|
|
53
53
|
.option("originChainId", { type: "string", demandOption: true, describe: "Origin chain ID" })
|
|
54
|
-
.option("depositId", { type: "
|
|
54
|
+
.option("depositId", { type: "string", demandOption: true, describe: "Deposit ID" })
|
|
55
55
|
.option("fillDeadline", { type: "number", demandOption: false, describe: "Fill deadline" })
|
|
56
56
|
.option("exclusivityDeadline", { type: "number", demandOption: false, describe: "Exclusivity deadline" })
|
|
57
57
|
.option("repaymentChain", { type: "number", demandOption: false, description: "Repayment chain ID" })
|
|
@@ -65,10 +65,10 @@ async function fillRelayToRandom() {
|
|
|
65
65
|
const exclusiveRelayer = new web3_js_1.PublicKey(resolvedArgv.exclusiveRelayer || web3_js_1.PublicKey.default.toString());
|
|
66
66
|
const inputToken = new web3_js_1.PublicKey(resolvedArgv.inputToken);
|
|
67
67
|
const outputToken = new web3_js_1.PublicKey(resolvedArgv.outputToken);
|
|
68
|
-
const inputAmount = new anchor_1.BN(resolvedArgv.inputAmount);
|
|
68
|
+
const inputAmount = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.inputAmount));
|
|
69
69
|
const outputAmount = new anchor_1.BN(resolvedArgv.outputAmount);
|
|
70
70
|
const originChainId = new anchor_1.BN(resolvedArgv.originChainId);
|
|
71
|
-
const depositId = resolvedArgv.depositId
|
|
71
|
+
const depositId = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.depositId));
|
|
72
72
|
const fillDeadline = resolvedArgv.fillDeadline || Math.floor(Date.now() / 1000) + 60; // Current time + 1 minute
|
|
73
73
|
const exclusivityDeadline = resolvedArgv.exclusivityDeadline || Math.floor(Date.now() / 1000) + 30; // Current time + 30 seconds
|
|
74
74
|
const repaymentChain = new anchor_1.BN(resolvedArgv.repaymentChain || 1);
|
|
@@ -148,8 +148,9 @@ async function fillRelayToRandom() {
|
|
|
148
148
|
key,
|
|
149
149
|
value: key === "message" ? value.toString("hex") : value.toString(),
|
|
150
150
|
})));
|
|
151
|
-
// Delegate
|
|
152
|
-
const
|
|
151
|
+
// Delegate to pull relayer tokens.
|
|
152
|
+
const delegatePda = (0, web3_v1_1.getFillRelayDelegatePda)(relayHashUint8Array, repaymentChain, repaymentAddress, program.programId).pda;
|
|
153
|
+
const approveInstruction = await (0, spl_token_1.createApproveCheckedInstruction)(relayerTokenAccount, outputToken, delegatePda, signer.publicKey, BigInt(relayData.outputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
|
|
153
154
|
// Prepare fill instruction as we will need to use Address Lookup Table (ALT).
|
|
154
155
|
const fillRelayValues = [relayHash, relayData, repaymentChain, repaymentAddress];
|
|
155
156
|
if (bufferParams) {
|
|
@@ -162,7 +163,7 @@ async function fillRelayToRandom() {
|
|
|
162
163
|
const fillAccounts = {
|
|
163
164
|
state: statePda,
|
|
164
165
|
signer: signer.publicKey,
|
|
165
|
-
delegate:
|
|
166
|
+
delegate: delegatePda,
|
|
166
167
|
instructionParams,
|
|
167
168
|
mint: outputToken,
|
|
168
169
|
relayerTokenAccount,
|
|
@@ -77,7 +77,7 @@ async function findFillStatusPda() {
|
|
|
77
77
|
exclusiveRelayer: convertAddress(resolvedArgv.exclusive_relayer),
|
|
78
78
|
inputToken: convertAddress(resolvedArgv.input_token),
|
|
79
79
|
outputToken: convertAddress(resolvedArgv.output_token),
|
|
80
|
-
inputAmount: new anchor_1.BN(resolvedArgv.input_amount),
|
|
80
|
+
inputAmount: (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.input_amount)),
|
|
81
81
|
outputAmount: new anchor_1.BN(resolvedArgv.output_amount),
|
|
82
82
|
originChainId: new anchor_1.BN(resolvedArgv.origin_chain_id),
|
|
83
83
|
depositId: parseStringToUint8Array(resolvedArgv.deposit_id),
|
|
@@ -45,7 +45,7 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
45
45
|
.option("recipient", { type: "string", demandOption: true, describe: "Recipient public key" })
|
|
46
46
|
.option("outputToken", { type: "string", demandOption: true, describe: "Output token public key" })
|
|
47
47
|
.option("inputAmount", { type: "number", demandOption: true, describe: "Input amount" })
|
|
48
|
-
.option("outputAmount", { type: "
|
|
48
|
+
.option("outputAmount", { type: "string", demandOption: true, describe: "Output amount" })
|
|
49
49
|
.option("destinationChainId", { type: "string", demandOption: true, describe: "Destination chain ID" })
|
|
50
50
|
.option("integratorId", { type: "string", demandOption: false, describe: "integrator ID" }).argv;
|
|
51
51
|
async function nativeDeposit() {
|
|
@@ -55,7 +55,7 @@ async function nativeDeposit() {
|
|
|
55
55
|
const inputToken = spl_token_1.NATIVE_MINT;
|
|
56
56
|
const outputToken = new web3_js_1.PublicKey(resolvedArgv.outputToken);
|
|
57
57
|
const inputAmount = new anchor_1.BN(resolvedArgv.inputAmount);
|
|
58
|
-
const outputAmount = new anchor_1.BN(resolvedArgv.outputAmount);
|
|
58
|
+
const outputAmount = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.outputAmount));
|
|
59
59
|
const destinationChainId = new anchor_1.BN(resolvedArgv.destinationChainId);
|
|
60
60
|
const exclusiveRelayer = web3_js_1.PublicKey.default;
|
|
61
61
|
const quoteTimestamp = Math.floor(Date.now() / 1000) - 1;
|
|
@@ -79,7 +79,7 @@ async function nativeDeposit() {
|
|
|
79
79
|
{ property: "inputToken", value: inputToken.toString() },
|
|
80
80
|
{ property: "outputToken", value: outputToken.toString() },
|
|
81
81
|
{ property: "inputAmount", value: inputAmount.toString() },
|
|
82
|
-
{ property: "outputAmount", value: outputAmount.toString() },
|
|
82
|
+
{ property: "outputAmount", value: (0, web3_v1_1.u8Array32ToInt)(outputAmount).toString() },
|
|
83
83
|
{ property: "destinationChainId", value: destinationChainId.toString() },
|
|
84
84
|
{ property: "quoteTimestamp", value: quoteTimestamp.toString() },
|
|
85
85
|
{ property: "fillDeadline", value: fillDeadline.toString() },
|
|
@@ -65,7 +65,7 @@ async function queryEvents() {
|
|
|
65
65
|
const eventName = argv.eventName || "any";
|
|
66
66
|
const events = await (0, web3_v1_1.readProgramEvents)(provider.connection, program, "confirmed");
|
|
67
67
|
const filteredEvents = events.filter((event) => (eventName == "any" ? true : event.name == eventName));
|
|
68
|
-
const formattedEvents = filteredEvents.map((event) => (0, web3_v1_1.stringifyCpiEvent)(event));
|
|
68
|
+
const formattedEvents = filteredEvents.map((event) => (0, web3_v1_1.stringifyCpiEvent)(event.data, event.name));
|
|
69
69
|
console.log(JSON.stringify(formattedEvents, null, 2));
|
|
70
70
|
}
|
|
71
71
|
// Run the queryEvents function
|
|
@@ -49,7 +49,7 @@ async function queryEvents() {
|
|
|
49
49
|
const rpcSubscriptions = (0, kit_1.createSolanaRpcSubscriptions)(rpcEndpoint.replace(/^http(s?):\/\//i, (_m, s) => `ws${s ?? ""}://`));
|
|
50
50
|
const events = await (0, svm_2.readProgramEvents)({ rpc, rpcSubscriptions }, (0, kit_1.address)(programId), svm_1.SvmSpokeIdl, "confirmed");
|
|
51
51
|
const filteredEvents = events.filter((e) => (eventName === "any" ? true : e.name === eventName));
|
|
52
|
-
const formattedEvents = filteredEvents.map(web3_v1_1.stringifyCpiEvent);
|
|
52
|
+
const formattedEvents = filteredEvents.map((event) => (0, web3_v1_1.stringifyCpiEvent)(event.data, event.name));
|
|
53
53
|
console.log(JSON.stringify(formattedEvents, null, 2));
|
|
54
54
|
}
|
|
55
55
|
// Run the queryEvents function
|
|
@@ -67,7 +67,7 @@ async function queryFills() {
|
|
|
67
67
|
console.table([
|
|
68
68
|
{ Property: "inputToken", Value: (0, web3_v1_1.strPublicKey)(event.data.inputToken) },
|
|
69
69
|
{ Property: "outputToken", Value: (0, web3_v1_1.strPublicKey)(event.data.outputToken) },
|
|
70
|
-
{ Property: "inputAmount", Value: event.data.inputAmount.toString() },
|
|
70
|
+
{ Property: "inputAmount", Value: (0, web3_v1_1.u8Array32ToInt)(event.data.inputAmount).toString() },
|
|
71
71
|
{ Property: "outputAmount", Value: event.data.outputAmount.toString() },
|
|
72
72
|
{ Property: "repaymentChainId", Value: event.data.repaymentChainId.toString() },
|
|
73
73
|
{ Property: "originChainId", Value: event.data.originChainId.toString() },
|
|
@@ -47,7 +47,7 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
47
47
|
.option("inputToken", { type: "string", demandOption: true, describe: "Input token public key" })
|
|
48
48
|
.option("outputToken", { type: "string", demandOption: true, describe: "Output token public key" })
|
|
49
49
|
.option("inputAmount", { type: "number", demandOption: true, describe: "Input amount" })
|
|
50
|
-
.option("outputAmount", { type: "
|
|
50
|
+
.option("outputAmount", { type: "string", demandOption: true, describe: "Output amount" })
|
|
51
51
|
.option("destinationChainId", { type: "string", demandOption: true, describe: "Destination chain ID" })
|
|
52
52
|
.option("integratorId", { type: "string", demandOption: false, describe: "integrator ID" }).argv;
|
|
53
53
|
async function deposit() {
|
|
@@ -57,7 +57,7 @@ async function deposit() {
|
|
|
57
57
|
const inputToken = new web3_js_1.PublicKey(resolvedArgv.inputToken);
|
|
58
58
|
const outputToken = new web3_js_1.PublicKey(resolvedArgv.outputToken);
|
|
59
59
|
const inputAmount = new anchor_1.BN(resolvedArgv.inputAmount);
|
|
60
|
-
const outputAmount = new anchor_1.BN(resolvedArgv.outputAmount);
|
|
60
|
+
const outputAmount = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.outputAmount));
|
|
61
61
|
const destinationChainId = new anchor_1.BN(resolvedArgv.destinationChainId);
|
|
62
62
|
const exclusiveRelayer = web3_js_1.PublicKey.default;
|
|
63
63
|
const quoteTimestamp = Math.floor(Date.now() / 1000) - 1;
|
|
@@ -79,7 +79,7 @@ async function deposit() {
|
|
|
79
79
|
{ property: "inputToken", value: inputToken.toString() },
|
|
80
80
|
{ property: "outputToken", value: outputToken.toString() },
|
|
81
81
|
{ property: "inputAmount", value: inputAmount.toString() },
|
|
82
|
-
{ property: "outputAmount", value: outputAmount.toString() },
|
|
82
|
+
{ property: "outputAmount", value: (0, web3_v1_1.u8Array32ToInt)(outputAmount).toString() },
|
|
83
83
|
{ property: "destinationChainId", value: destinationChainId.toString() },
|
|
84
84
|
{ property: "quoteTimestamp", value: quoteTimestamp.toString() },
|
|
85
85
|
{ property: "fillDeadline", value: fillDeadline.toString() },
|
|
@@ -68,20 +68,27 @@ async function testBundleLogic() {
|
|
|
68
68
|
const tokenDecimals = (await (0, spl_token_1.getMint)(provider.connection, inputToken, undefined, spl_token_1.TOKEN_PROGRAM_ID)).decimals;
|
|
69
69
|
// Use program.methods.deposit to send tokens to the spoke. note this is NOT a valid deposit, we just want to
|
|
70
70
|
// seed tokens into the spoke to test repayment.
|
|
71
|
-
// Delegate state PDA to pull depositor tokens.
|
|
72
71
|
const inputAmount = amounts.reduce((acc, amount) => acc.add(amount), new anchor_1.BN(0));
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
const depositData = {
|
|
73
|
+
depositor: signer.publicKey,
|
|
74
|
+
recipient: signer.publicKey, // recipient is the signer for this example
|
|
75
|
+
inputToken,
|
|
76
|
+
outputToken: inputToken, // Re-use inputToken as outputToken. does not matter for this deposit.
|
|
77
|
+
inputAmount,
|
|
78
|
+
outputAmount: (0, web3_v1_1.intToU8Array32)(inputAmount),
|
|
79
|
+
destinationChainId: new anchor_1.BN(11155111),
|
|
80
|
+
exclusiveRelayer: web3_js_1.PublicKey.default,
|
|
81
|
+
quoteTimestamp: new anchor_1.BN(Math.floor(Date.now() / 1000) - 1),
|
|
82
|
+
fillDeadline: new anchor_1.BN(Math.floor(Date.now() / 1000) + 3600),
|
|
83
|
+
exclusivityParameter: new anchor_1.BN(0),
|
|
84
|
+
message: Buffer.from([]),
|
|
85
|
+
};
|
|
86
|
+
const delegatePda = (0, web3_v1_1.getDepositPda)(depositData, program.programId);
|
|
87
|
+
const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, delegatePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
|
|
88
|
+
const depositIx = await program.methods.deposit(depositData.depositor, depositData.recipient, depositData.inputToken, depositData.outputToken, depositData.inputAmount, depositData.outputAmount, depositData.destinationChainId, depositData.exclusiveRelayer, depositData.quoteTimestamp.toNumber(), depositData.fillDeadline.toNumber(), depositData.exclusivityParameter.toNumber(), Buffer.from([]))
|
|
83
89
|
.accounts({
|
|
84
90
|
state: statePda,
|
|
91
|
+
delegate: delegatePda,
|
|
85
92
|
signer: signer.publicKey,
|
|
86
93
|
userTokenAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey),
|
|
87
94
|
vault: vault,
|
|
@@ -122,7 +129,7 @@ async function testBundleLogic() {
|
|
|
122
129
|
const rootBundleId = state.rootBundleId;
|
|
123
130
|
const rootBundleIdBuffer = Buffer.alloc(4);
|
|
124
131
|
rootBundleIdBuffer.writeUInt32LE(rootBundleId);
|
|
125
|
-
const seeds = [Buffer.from("root_bundle"),
|
|
132
|
+
const seeds = [Buffer.from("root_bundle"), seed.toArrayLike(Buffer, "le", 8), rootBundleIdBuffer];
|
|
126
133
|
const [rootBundle] = web3_js_1.PublicKey.findProgramAddressSync(seeds, programId);
|
|
127
134
|
console.table([
|
|
128
135
|
{ property: "State PDA", value: statePda.toString() },
|
|
@@ -48,7 +48,7 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
48
48
|
.option("exclusiveRelayer", { type: "string", demandOption: false, describe: "Exclusive relayer public key" })
|
|
49
49
|
.option("inputToken", { type: "string", demandOption: true, describe: "Input token public key" })
|
|
50
50
|
.option("outputToken", { type: "string", demandOption: true, describe: "Output token public key" })
|
|
51
|
-
.option("inputAmount", { type: "
|
|
51
|
+
.option("inputAmount", { type: "string", demandOption: true, describe: "Input amount" })
|
|
52
52
|
.option("outputAmount", { type: "number", demandOption: true, describe: "Output amount" })
|
|
53
53
|
.option("originChainId", { type: "string", demandOption: true, describe: "Origin chain ID" })
|
|
54
54
|
.option("depositId", { type: "string", demandOption: true, describe: "Deposit ID" })
|
|
@@ -61,7 +61,7 @@ async function fillRelay() {
|
|
|
61
61
|
const exclusiveRelayer = new web3_js_1.PublicKey(resolvedArgv.exclusiveRelayer || "11111111111111111111111111111111");
|
|
62
62
|
const inputToken = new web3_js_1.PublicKey(resolvedArgv.inputToken);
|
|
63
63
|
const outputToken = new web3_js_1.PublicKey(resolvedArgv.outputToken);
|
|
64
|
-
const inputAmount = new anchor_1.BN(resolvedArgv.inputAmount);
|
|
64
|
+
const inputAmount = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.inputAmount));
|
|
65
65
|
const outputAmount = new anchor_1.BN(resolvedArgv.outputAmount);
|
|
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));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
2
|
+
"address": "DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru",
|
|
3
3
|
"metadata": {
|
|
4
4
|
"name": "svm_spoke",
|
|
5
5
|
"version": "0.1.0",
|
|
@@ -745,6 +745,7 @@
|
|
|
745
745
|
"amount will be sent to the relayer on their repayment chain of choice as a refund following an optimistic",
|
|
746
746
|
"challenge window in the HubPool, less a system fee.",
|
|
747
747
|
"- output_amount: The amount of output tokens that the relayer will send to the recipient on the destination.",
|
|
748
|
+
"This is big-endian encoded as a 32-byte array to match its underlying byte representation on EVM side.",
|
|
748
749
|
"- destination_chain_id: The destination chain identifier where the fill should be made.",
|
|
749
750
|
"- exclusive_relayer: The relayer that will be exclusively allowed to fill this deposit before the exclusivity",
|
|
750
751
|
"deadline timestamp. This must be a valid, non-zero address if the exclusivity deadline is greater than the",
|
|
@@ -986,7 +987,12 @@
|
|
|
986
987
|
},
|
|
987
988
|
{
|
|
988
989
|
"name": "output_amount",
|
|
989
|
-
"type":
|
|
990
|
+
"type": {
|
|
991
|
+
"array": [
|
|
992
|
+
"u8",
|
|
993
|
+
32
|
|
994
|
+
]
|
|
995
|
+
}
|
|
990
996
|
},
|
|
991
997
|
{
|
|
992
998
|
"name": "destination_chain_id",
|
|
@@ -1246,7 +1252,12 @@
|
|
|
1246
1252
|
},
|
|
1247
1253
|
{
|
|
1248
1254
|
"name": "output_amount",
|
|
1249
|
-
"type":
|
|
1255
|
+
"type": {
|
|
1256
|
+
"array": [
|
|
1257
|
+
"u8",
|
|
1258
|
+
32
|
|
1259
|
+
]
|
|
1260
|
+
}
|
|
1250
1261
|
},
|
|
1251
1262
|
{
|
|
1252
1263
|
"name": "destination_chain_id",
|
|
@@ -1972,7 +1983,10 @@
|
|
|
1972
1983
|
"- _root_bundle_id: Unique ID of root bundle containing slow relay root that this leaf is contained in.",
|
|
1973
1984
|
"- proof: Inclusion proof for this leaf in slow relay root in root bundle.",
|
|
1974
1985
|
"Note: slow_fill_leaf, _root_bundle_id, and proof are optional parameters. If None for any of these is passed,",
|
|
1975
|
-
"the caller must load them via the instruction_params account."
|
|
1986
|
+
"the caller must load them via the instruction_params account.",
|
|
1987
|
+
"Note: When verifying the slow fill leaf, the relay data is hashed using AnchorSerialize::serialize that encodes",
|
|
1988
|
+
"output token amounts to little-endian format while input token amount preserves its big-endian encoding as it",
|
|
1989
|
+
"is passed as [u8; 32] array."
|
|
1976
1990
|
],
|
|
1977
1991
|
"discriminator": [
|
|
1978
1992
|
26,
|
|
@@ -2338,6 +2352,7 @@
|
|
|
2338
2352
|
"token on the repayment chain will be sent as a refund to the caller.",
|
|
2339
2353
|
"- output_token: The token that the caller will send to the recipient on this chain.",
|
|
2340
2354
|
"- input_amount: This amount, less a system fee, will be sent to the caller on their repayment chain.",
|
|
2355
|
+
"This is big-endian encoded as a 32-byte array to match its underlying byte representation on EVM side",
|
|
2341
2356
|
"- output_amount: The amount of output tokens that the caller will send to the recipient.",
|
|
2342
2357
|
"- origin_chain_id: The origin chain identifier.",
|
|
2343
2358
|
"- exclusive_relayer: The relayer that will be exclusively allowed to fill this deposit before the",
|
|
@@ -2717,38 +2732,38 @@
|
|
|
2717
2732
|
{
|
|
2718
2733
|
"kind": "const",
|
|
2719
2734
|
"value": [
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
161,
|
|
2729
|
-
158,
|
|
2735
|
+
183,
|
|
2736
|
+
102,
|
|
2737
|
+
64,
|
|
2738
|
+
134,
|
|
2739
|
+
222,
|
|
2740
|
+
55,
|
|
2741
|
+
238,
|
|
2742
|
+
112,
|
|
2730
2743
|
130,
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
61,
|
|
2736
|
-
57,
|
|
2737
|
-
147,
|
|
2738
|
-
225,
|
|
2744
|
+
28,
|
|
2745
|
+
16,
|
|
2746
|
+
68,
|
|
2747
|
+
91,
|
|
2739
2748
|
22,
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2749
|
+
47,
|
|
2750
|
+
44,
|
|
2751
|
+
126,
|
|
2752
|
+
200,
|
|
2753
|
+
121,
|
|
2754
|
+
91,
|
|
2755
|
+
208,
|
|
2756
|
+
128,
|
|
2757
|
+
12,
|
|
2758
|
+
20,
|
|
2759
|
+
98,
|
|
2760
|
+
148,
|
|
2761
|
+
158,
|
|
2762
|
+
35,
|
|
2763
|
+
40,
|
|
2746
2764
|
209,
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
118,
|
|
2750
|
-
239,
|
|
2751
|
-
202
|
|
2765
|
+
221,
|
|
2766
|
+
90
|
|
2752
2767
|
]
|
|
2753
2768
|
}
|
|
2754
2769
|
],
|
|
@@ -2841,7 +2856,7 @@
|
|
|
2841
2856
|
},
|
|
2842
2857
|
{
|
|
2843
2858
|
"name": "program",
|
|
2844
|
-
"address": "
|
|
2859
|
+
"address": "DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru"
|
|
2845
2860
|
}
|
|
2846
2861
|
],
|
|
2847
2862
|
"args": [
|
|
@@ -4096,7 +4111,12 @@
|
|
|
4096
4111
|
},
|
|
4097
4112
|
{
|
|
4098
4113
|
"name": "output_amount",
|
|
4099
|
-
"type":
|
|
4114
|
+
"type": {
|
|
4115
|
+
"array": [
|
|
4116
|
+
"u8",
|
|
4117
|
+
32
|
|
4118
|
+
]
|
|
4119
|
+
}
|
|
4100
4120
|
},
|
|
4101
4121
|
{
|
|
4102
4122
|
"name": "destination_chain_id",
|
|
@@ -4505,78 +4525,93 @@
|
|
|
4505
4525
|
"errors": [
|
|
4506
4526
|
{
|
|
4507
4527
|
"code": 6000,
|
|
4508
|
-
"name": "
|
|
4509
|
-
"msg": "
|
|
4528
|
+
"name": "NotOwner",
|
|
4529
|
+
"msg": "Only the owner can call this function!"
|
|
4510
4530
|
},
|
|
4511
4531
|
{
|
|
4512
4532
|
"code": 6001,
|
|
4513
|
-
"name": "
|
|
4514
|
-
"msg": "Invalid
|
|
4533
|
+
"name": "InvalidRelayHash",
|
|
4534
|
+
"msg": "Invalid relay hash!"
|
|
4515
4535
|
},
|
|
4516
4536
|
{
|
|
4517
4537
|
"code": 6002,
|
|
4518
|
-
"name": "
|
|
4519
|
-
"msg": "
|
|
4538
|
+
"name": "CanOnlyCloseFillStatusPdaIfFillDeadlinePassed",
|
|
4539
|
+
"msg": "The fill deadline has not passed!"
|
|
4520
4540
|
},
|
|
4521
4541
|
{
|
|
4522
4542
|
"code": 6003,
|
|
4523
|
-
"name": "
|
|
4524
|
-
"msg": "The
|
|
4543
|
+
"name": "NotRelayer",
|
|
4544
|
+
"msg": "The caller is not the relayer!"
|
|
4525
4545
|
},
|
|
4526
4546
|
{
|
|
4527
4547
|
"code": 6004,
|
|
4528
|
-
"name": "
|
|
4529
|
-
"msg": "
|
|
4548
|
+
"name": "CannotSetCurrentTime",
|
|
4549
|
+
"msg": "Cannot set time if not in test mode!"
|
|
4530
4550
|
},
|
|
4531
4551
|
{
|
|
4532
4552
|
"code": 6005,
|
|
4533
|
-
"name": "
|
|
4534
|
-
"msg": "
|
|
4553
|
+
"name": "InvalidRemoteDomain",
|
|
4554
|
+
"msg": "Invalid remote domain!"
|
|
4535
4555
|
},
|
|
4536
4556
|
{
|
|
4537
4557
|
"code": 6006,
|
|
4538
|
-
"name": "
|
|
4539
|
-
"msg": "
|
|
4558
|
+
"name": "InvalidRemoteSender",
|
|
4559
|
+
"msg": "Invalid remote sender!"
|
|
4540
4560
|
},
|
|
4541
4561
|
{
|
|
4542
4562
|
"code": 6007,
|
|
4543
|
-
"name": "
|
|
4544
|
-
"msg": "Invalid
|
|
4563
|
+
"name": "InvalidMint",
|
|
4564
|
+
"msg": "Invalid mint!"
|
|
4545
4565
|
},
|
|
4546
4566
|
{
|
|
4547
4567
|
"code": 6008,
|
|
4548
|
-
"name": "
|
|
4549
|
-
"msg": "
|
|
4568
|
+
"name": "ExceededPendingBridgeAmount",
|
|
4569
|
+
"msg": "Exceeded pending bridge amount to HubPool!"
|
|
4550
4570
|
},
|
|
4551
4571
|
{
|
|
4552
4572
|
"code": 6009,
|
|
4553
|
-
"name": "
|
|
4554
|
-
"msg": "
|
|
4573
|
+
"name": "ParamsWriteOverflow",
|
|
4574
|
+
"msg": "Overflow writing to parameters account!"
|
|
4555
4575
|
},
|
|
4556
4576
|
{
|
|
4557
4577
|
"code": 6010,
|
|
4558
|
-
"name": "
|
|
4559
|
-
"msg": "
|
|
4578
|
+
"name": "InvalidRefund",
|
|
4579
|
+
"msg": "Invalid refund address!"
|
|
4560
4580
|
},
|
|
4561
4581
|
{
|
|
4562
4582
|
"code": 6011,
|
|
4563
|
-
"name": "
|
|
4564
|
-
"msg": "
|
|
4583
|
+
"name": "ZeroRefundClaim",
|
|
4584
|
+
"msg": "Zero relayer refund claim!"
|
|
4565
4585
|
},
|
|
4566
4586
|
{
|
|
4567
4587
|
"code": 6012,
|
|
4568
|
-
"name": "
|
|
4569
|
-
"msg": "
|
|
4588
|
+
"name": "NonZeroRefundClaim",
|
|
4589
|
+
"msg": "Cannot close non-zero relayer refund claim!"
|
|
4570
4590
|
},
|
|
4571
4591
|
{
|
|
4572
4592
|
"code": 6013,
|
|
4573
|
-
"name": "
|
|
4574
|
-
"msg": "
|
|
4593
|
+
"name": "InvalidClaimInitializer",
|
|
4594
|
+
"msg": "Invalid claim initializer!"
|
|
4575
4595
|
},
|
|
4576
4596
|
{
|
|
4577
4597
|
"code": 6014,
|
|
4578
|
-
"name": "
|
|
4579
|
-
"msg": "Invalid
|
|
4598
|
+
"name": "InvalidRefundTokenAccount",
|
|
4599
|
+
"msg": "Invalid refund token account!"
|
|
4600
|
+
},
|
|
4601
|
+
{
|
|
4602
|
+
"code": 6015,
|
|
4603
|
+
"name": "InvalidProductionSeed",
|
|
4604
|
+
"msg": "Seed must be 0 in production!"
|
|
4605
|
+
},
|
|
4606
|
+
{
|
|
4607
|
+
"code": 6016,
|
|
4608
|
+
"name": "InvalidATACreationAccounts",
|
|
4609
|
+
"msg": "Invalid remaining accounts for ATA creation!"
|
|
4610
|
+
},
|
|
4611
|
+
{
|
|
4612
|
+
"code": 6017,
|
|
4613
|
+
"name": "InvalidDelegatePda",
|
|
4614
|
+
"msg": "Invalid delegate PDA!"
|
|
4580
4615
|
}
|
|
4581
4616
|
],
|
|
4582
4617
|
"types": [
|
|
@@ -4851,7 +4886,12 @@
|
|
|
4851
4886
|
},
|
|
4852
4887
|
{
|
|
4853
4888
|
"name": "input_amount",
|
|
4854
|
-
"type":
|
|
4889
|
+
"type": {
|
|
4890
|
+
"array": [
|
|
4891
|
+
"u8",
|
|
4892
|
+
32
|
|
4893
|
+
]
|
|
4894
|
+
}
|
|
4855
4895
|
},
|
|
4856
4896
|
{
|
|
4857
4897
|
"name": "output_amount",
|
|
@@ -4937,7 +4977,12 @@
|
|
|
4937
4977
|
},
|
|
4938
4978
|
{
|
|
4939
4979
|
"name": "output_amount",
|
|
4940
|
-
"type":
|
|
4980
|
+
"type": {
|
|
4981
|
+
"array": [
|
|
4982
|
+
"u8",
|
|
4983
|
+
32
|
|
4984
|
+
]
|
|
4985
|
+
}
|
|
4941
4986
|
},
|
|
4942
4987
|
{
|
|
4943
4988
|
"name": "destination_chain_id",
|
|
@@ -5058,7 +5103,12 @@
|
|
|
5058
5103
|
},
|
|
5059
5104
|
{
|
|
5060
5105
|
"name": "input_amount",
|
|
5061
|
-
"type":
|
|
5106
|
+
"type": {
|
|
5107
|
+
"array": [
|
|
5108
|
+
"u8",
|
|
5109
|
+
32
|
|
5110
|
+
]
|
|
5111
|
+
}
|
|
5062
5112
|
},
|
|
5063
5113
|
{
|
|
5064
5114
|
"name": "output_amount",
|
|
@@ -5222,7 +5272,12 @@
|
|
|
5222
5272
|
},
|
|
5223
5273
|
{
|
|
5224
5274
|
"name": "input_amount",
|
|
5225
|
-
"type":
|
|
5275
|
+
"type": {
|
|
5276
|
+
"array": [
|
|
5277
|
+
"u8",
|
|
5278
|
+
32
|
|
5279
|
+
]
|
|
5280
|
+
}
|
|
5226
5281
|
},
|
|
5227
5282
|
{
|
|
5228
5283
|
"name": "output_amount",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* IDL can be found at `target/idl/multicall_handler.json`.
|
|
6
6
|
*/
|
|
7
7
|
export type MulticallHandler = {
|
|
8
|
-
"address": "
|
|
8
|
+
"address": "HaQe51FWtnmaEcuYEfPA7MRCXKrtqptat4oJdJ8zV5Be";
|
|
9
9
|
"metadata": {
|
|
10
10
|
"name": "multicallHandler";
|
|
11
11
|
"version": "0.1.0";
|