@@ -26,9 +26,8 @@ describe("svm_spoke.handle_receive_message", () => {
26
26
let usedNonces : web3 . PublicKey ;
27
27
let selfAuthority : web3 . PublicKey ;
28
28
let eventAuthority : web3 . PublicKey ;
29
- const firstNonce = 1 ;
30
29
const attestation = Buffer . alloc ( 0 ) ;
31
- let nonce = firstNonce ;
30
+ let nonce = 0 ;
32
31
let remainingAccounts : web3 . AccountMeta [ ] ;
33
32
const cctpMessageversion = 0 ;
34
33
let destinationCaller = new web3 . PublicKey ( new Uint8Array ( 32 ) ) ; // We don't use permissioned caller.
@@ -57,10 +56,15 @@ describe("svm_spoke.handle_receive_message", () => {
57
56
[ Buffer . from ( "message_transmitter" ) ] ,
58
57
messageTransmitterProgram . programId
59
58
) ;
60
- [ usedNonces ] = web3 . PublicKey . findProgramAddressSync (
61
- [ Buffer . from ( "used_nonces" ) , Buffer . from ( remoteDomain . toString ( ) ) , Buffer . from ( firstNonce . toString ( ) ) ] ,
62
- messageTransmitterProgram . programId
63
- ) ;
59
+ usedNonces = await messageTransmitterProgram . methods
60
+ . getNoncePda ( {
61
+ nonce : new BN ( nonce . toString ( ) ) ,
62
+ sourceDomain : remoteDomain . toNumber ( ) ,
63
+ } )
64
+ . accounts ( {
65
+ messageTransmitter : messageTransmitterState ,
66
+ } )
67
+ . view ( ) ;
64
68
[ selfAuthority ] = web3 . PublicKey . findProgramAddressSync ( [ Buffer . from ( "self_authority" ) ] , program . programId ) ;
65
69
[ eventAuthority ] = web3 . PublicKey . findProgramAddressSync ( [ Buffer . from ( "__event_authority" ) ] , program . programId ) ;
66
70
@@ -145,10 +149,15 @@ describe("svm_spoke.handle_receive_message", () => {
145
149
146
150
it ( "Block Wrong Source Domain" , async ( ) => {
147
151
const sourceDomain = 666 ;
148
- [ receiveMessageAccounts . usedNonces ] = web3 . PublicKey . findProgramAddressSync (
149
- [ Buffer . from ( "used_nonces" ) , Buffer . from ( sourceDomain . toString ( ) ) , Buffer . from ( firstNonce . toString ( ) ) ] ,
150
- messageTransmitterProgram . programId
151
- ) ;
152
+ receiveMessageAccounts . usedNonces = await messageTransmitterProgram . methods
153
+ . getNoncePda ( {
154
+ nonce : new BN ( nonce . toString ( ) ) ,
155
+ sourceDomain,
156
+ } )
157
+ . accounts ( {
158
+ messageTransmitter : messageTransmitterState ,
159
+ } )
160
+ . view ( ) ;
152
161
153
162
const calldata = ethereumIface . encodeFunctionData ( "pauseDeposits" , [ true ] ) ;
154
163
const messageBody = Buffer . from ( calldata . slice ( 2 ) , "hex" ) ;
0 commit comments