@@ -4,13 +4,13 @@ mod test {
4
4
use crate :: test_data:: * ;
5
5
use crate :: PythReceiver ;
6
6
use alloy_primitives:: { address, Address , U256 } ;
7
+ use hex:: FromHex ;
7
8
use mock_instant:: global:: MockClock ;
8
9
use motsu:: prelude:: * ;
9
10
use pythnet_sdk:: wire:: v1:: { AccumulatorUpdateData , Proof } ;
10
11
use std:: time:: Duration ;
11
- use hex:: FromHex ;
12
12
use wormhole_contract:: WormholeContract ;
13
- use wormhole_vaas:: { Vaa , Readable , Writeable } ;
13
+ use wormhole_vaas:: { Readable , Vaa , Writeable } ;
14
14
15
15
const PYTHNET_CHAIN_ID : u16 = 26 ;
16
16
const PYTHNET_EMITTER_ADDRESS : [ u8 ; 32 ] = [
@@ -19,27 +19,31 @@ mod test {
19
19
0xaa , 0x71 ,
20
20
] ;
21
21
22
- const CHAIN_ID : u16 = 60051 ;
22
+ const CHAIN_ID : u16 = 2 ;
23
23
const GOVERNANCE_CONTRACT : U256 = U256 :: from_limbs ( [ 4 , 0 , 0 , 0 ] ) ;
24
24
25
25
const SINGLE_UPDATE_FEE_IN_WEI : U256 = U256 :: from_limbs ( [ 100 , 0 , 0 , 0 ] ) ;
26
26
const TRANSACTION_FEE_IN_WEI : U256 = U256 :: from_limbs ( [ 32 , 0 , 0 , 0 ] ) ;
27
-
27
+
28
28
const TEST_SIGNER1 : Address = Address :: new ( [
29
- 0xbe , 0xFA , 0x42 , 0x9d , 0x57 , 0xcD , 0x18 , 0xb7 , 0xF8 , 0xA4 , 0xd9 , 0x1A , 0x2d , 0xa9 , 0xAB , 0x4A , 0xF0 , 0x5d , 0x0F , 0xBe
29
+ 0xbe , 0xFA , 0x42 , 0x9d , 0x57 , 0xcD , 0x18 , 0xb7 , 0xF8 , 0xA4 , 0xd9 , 0x1A , 0x2d , 0xa9 , 0xAB ,
30
+ 0x4A , 0xF0 , 0x5d , 0x0F , 0xBe ,
30
31
] ) ;
31
32
const TEST_SIGNER2 : Address = Address :: new ( [
32
- 0x4b , 0xa0 , 0xC2 , 0xdb , 0x9A , 0x26 , 0x20 , 0x8b , 0x3b , 0xB1 , 0xa5 , 0x0B , 0x01 , 0xb1 , 0x69 , 0x41 , 0xc1 , 0x0D , 0x76 , 0xdb
33
+ 0x4b , 0xa0 , 0xC2 , 0xdb , 0x9A , 0x26 , 0x20 , 0x8b , 0x3b , 0xB1 , 0xa5 , 0x0B , 0x01 , 0xb1 , 0x69 ,
34
+ 0x41 , 0xc1 , 0x0D , 0x76 , 0xdb ,
33
35
] ) ;
34
36
const GOVERNANCE_CHAIN_ID : u16 = 1 ;
35
37
const GOVERNANCE_EMITTER : [ u8 ; 32 ] = [
36
- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
37
- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x11
38
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
39
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
40
+ 0x00 , 0x11 ,
38
41
] ;
39
42
const TEST_PYTH2_WORMHOLE_CHAIN_ID : u16 = 1 ;
40
43
const TEST_PYTH2_WORMHOLE_EMITTER : [ u8 ; 32 ] = [
41
- 0x71 , 0xf8 , 0xdc , 0xb8 , 0x63 , 0xd1 , 0x76 , 0xe2 , 0xc4 , 0x20 , 0xad , 0x66 , 0x10 , 0xcf , 0x68 , 0x73 ,
42
- 0x59 , 0x61 , 0x2b , 0x6f , 0xb3 , 0x92 , 0xe0 , 0x64 , 0x2b , 0x0c , 0xa6 , 0xb1 , 0xf1 , 0x86 , 0xaa , 0x3b
44
+ 0x71 , 0xf8 , 0xdc , 0xb8 , 0x63 , 0xd1 , 0x76 , 0xe2 , 0xc4 , 0x20 , 0xad , 0x66 , 0x10 , 0xcf , 0x68 ,
45
+ 0x73 , 0x59 , 0x61 , 0x2b , 0x6f , 0xb3 , 0x92 , 0xe0 , 0x64 , 0x2b , 0x0c , 0xa6 , 0xb1 , 0xf1 , 0x86 ,
46
+ 0xaa , 0x3b ,
43
47
] ;
44
48
const TARGET_CHAIN_ID : u16 = 2 ;
45
49
@@ -48,18 +52,17 @@ mod test {
48
52
pyth_contract : & Contract < PythReceiver > ,
49
53
wormhole_contract : & Contract < WormholeContract > ,
50
54
alice : & Address ,
55
+ guardian_set_index : u32 ,
51
56
) {
52
- let guardians = vec ! [
53
- address!( "0x6579c588be2026d866231cccc364881cc1219c56" )
54
- ] ;
55
-
57
+ let guardians = vec ! [ address!( "0x7e5f4552091a69125d5dfcb7b8c2659029395bdf" ) ] ;
58
+
56
59
let governance_contract =
57
60
Address :: from_slice ( & GOVERNANCE_CONTRACT . to_be_bytes :: < 32 > ( ) [ 12 ..32 ] ) ;
58
61
wormhole_contract
59
62
. sender ( * alice)
60
63
. initialize (
61
64
guardians,
62
- 4 ,
65
+ guardian_set_index ,
63
66
CHAIN_ID ,
64
67
GOVERNANCE_CHAIN_ID ,
65
68
governance_contract,
@@ -93,19 +96,14 @@ mod test {
93
96
wormhole_contract : Contract < WormholeContract > ,
94
97
alice : Address ,
95
98
) {
96
- pyth_wormhole_init ( & pyth_contract, & wormhole_contract, & alice) ;
99
+ pyth_wormhole_init ( & pyth_contract, & wormhole_contract, & alice, 0 ) ;
97
100
98
101
let hex_str = "0100000000010069825ef00344cf745b6e72a41d4f869d4e90de517849360c72bf94efc97681671d826e484747b21a80c8f1e7816021df9f55e458a6e7a717cb2bd2a1e85fd57100499602d200000000000100000000000000000000000000000000000000000000000000000000000000110000000000000001005054474d010200020100010000000000000000000000000000000000000000000000000000000000001111" ;
99
102
let bytes = Vec :: from_hex ( hex_str) . expect ( "Invalid hex string" ) ;
100
103
101
- println ! ( "Executing set_data_sources with bytes: {:?}" , bytes) ;
102
-
103
- let result = pyth_contract. sender ( alice) . execute_governance_instruction ( bytes. clone ( ) ) ;
104
- if let Err ( e) = & result {
105
- println ! ( "Governance instruction failed with error: {:?}" , e) ;
106
- }
107
-
104
+ let result = pyth_contract
105
+ . sender ( alice)
106
+ . execute_governance_instruction ( bytes. clone ( ) ) ;
108
107
assert ! ( result. is_ok( ) ) ;
109
108
}
110
-
111
109
}
0 commit comments