Skip to content

Commit 25286d6

Browse files
committed
Update reregister transceiver test using wormhole program id and governance program id
1 parent 1451c0e commit 25286d6

File tree

1 file changed

+53
-39
lines changed
  • solana/programs/example-native-token-transfers/tests

1 file changed

+53
-39
lines changed

solana/programs/example-native-token-transfers/tests/admin.rs

+53-39
Original file line numberDiff line numberDiff line change
@@ -34,43 +34,55 @@ async fn assert_threshold(
3434
async fn test_reregister_all_transceivers() {
3535
let (mut ctx, test_data) = setup(Mode::Locking).await;
3636

37-
// register ntt_transceiver
38-
register_transceiver(
39-
&test_data.ntt,
40-
RegisterTransceiver {
41-
payer: ctx.payer.pubkey(),
42-
owner: test_data.program_owner.pubkey(),
43-
transceiver: ntt_transceiver::ID,
44-
},
45-
)
46-
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
47-
.await
48-
.unwrap();
37+
// Transceivers are expected to be executable which requires them to be added on setup
38+
// Thus, we pass all available executable program IDs as dummy_transceivers
39+
let dummy_transceivers = vec![
40+
wormhole_anchor_sdk::wormhole::program::ID,
41+
wormhole_governance::ID,
42+
];
43+
let num_dummy_transceivers: u8 = dummy_transceivers.len().try_into().unwrap();
44+
45+
// register dummy transceivers
46+
for transceiver in &dummy_transceivers {
47+
register_transceiver(
48+
&test_data.ntt,
49+
RegisterTransceiver {
50+
payer: ctx.payer.pubkey(),
51+
owner: test_data.program_owner.pubkey(),
52+
transceiver: *transceiver,
53+
},
54+
)
55+
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
56+
.await
57+
.unwrap();
58+
}
4959

50-
// set threshold to 2
60+
// set threshold = 1 (for baked-in transceiver) + num_dummy_transceivers
5161
set_threshold(
5262
&test_data.ntt,
5363
SetThreshold {
5464
owner: test_data.program_owner.pubkey(),
5565
},
56-
2,
66+
1 + num_dummy_transceivers,
5767
)
5868
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
5969
.await
6070
.unwrap();
6171

62-
// deregister ntt_transceiver
63-
deregister_transceiver(
64-
&test_data.ntt,
65-
DeregisterTransceiver {
66-
owner: test_data.program_owner.pubkey(),
67-
transceiver: ntt_transceiver::ID,
68-
},
69-
)
70-
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
71-
.await
72-
.unwrap();
73-
assert_threshold(&mut ctx, &test_data, 1).await;
72+
// deregister dummy transceivers
73+
for (idx, transceiver) in dummy_transceivers.iter().enumerate() {
74+
deregister_transceiver(
75+
&test_data.ntt,
76+
DeregisterTransceiver {
77+
owner: test_data.program_owner.pubkey(),
78+
transceiver: *transceiver,
79+
},
80+
)
81+
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
82+
.await
83+
.unwrap();
84+
assert_threshold(&mut ctx, &test_data, num_dummy_transceivers - idx as u8).await;
85+
}
7486

7587
// deregister baked-in transceiver
7688
deregister_transceiver(
@@ -85,19 +97,21 @@ async fn test_reregister_all_transceivers() {
8597
.unwrap();
8698
assert_threshold(&mut ctx, &test_data, 1).await;
8799

88-
// reregister ntt_transceiver
89-
register_transceiver(
90-
&test_data.ntt,
91-
RegisterTransceiver {
92-
payer: ctx.payer.pubkey(),
93-
owner: test_data.program_owner.pubkey(),
94-
transceiver: ntt_transceiver::ID,
95-
},
96-
)
97-
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
98-
.await
99-
.unwrap();
100-
assert_threshold(&mut ctx, &test_data, 1).await;
100+
// reregister dummy transceiver
101+
for transceiver in &dummy_transceivers {
102+
register_transceiver(
103+
&test_data.ntt,
104+
RegisterTransceiver {
105+
payer: ctx.payer.pubkey(),
106+
owner: test_data.program_owner.pubkey(),
107+
transceiver: *transceiver,
108+
},
109+
)
110+
.submit_with_signers(&[&test_data.program_owner], &mut ctx)
111+
.await
112+
.unwrap();
113+
assert_threshold(&mut ctx, &test_data, 1).await;
114+
}
101115

102116
// reregister baked-in transceiver
103117
register_transceiver(

0 commit comments

Comments
 (0)