@@ -34,43 +34,55 @@ async fn assert_threshold(
34
34
async fn test_reregister_all_transceivers ( ) {
35
35
let ( mut ctx, test_data) = setup ( Mode :: Locking ) . await ;
36
36
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
+ }
49
59
50
- // set threshold to 2
60
+ // set threshold = 1 (for baked-in transceiver) + num_dummy_transceivers
51
61
set_threshold (
52
62
& test_data. ntt ,
53
63
SetThreshold {
54
64
owner : test_data. program_owner . pubkey ( ) ,
55
65
} ,
56
- 2 ,
66
+ 1 + num_dummy_transceivers ,
57
67
)
58
68
. submit_with_signers ( & [ & test_data. program_owner ] , & mut ctx)
59
69
. await
60
70
. unwrap ( ) ;
61
71
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
+ }
74
86
75
87
// deregister baked-in transceiver
76
88
deregister_transceiver (
@@ -85,19 +97,21 @@ async fn test_reregister_all_transceivers() {
85
97
. unwrap ( ) ;
86
98
assert_threshold ( & mut ctx, & test_data, 1 ) . await ;
87
99
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
+ }
101
115
102
116
// reregister baked-in transceiver
103
117
register_transceiver (
0 commit comments