@@ -20,11 +20,105 @@ pub enum PythReceiverError {
20
20
PriceFeedNotFoundWithinRange ,
21
21
NoFreshUpdate ,
22
22
PriceFeedNotFound ,
23
+ InvalidGovernanceMessage ,
24
+ InvalidGovernanceTarget ,
25
+ InvalidGovernanceAction ,
26
+ InvalidGovernanceDataSource ,
27
+ OldGovernanceMessage ,
28
+ GovernanceMessageAlreadyExecuted ,
29
+ InvalidWormholeAddressToSet ,
30
+ WormholeUninitialized ,
23
31
}
24
32
25
33
impl core:: fmt:: Debug for PythReceiverError {
26
- fn fmt ( & self , _: & mut core:: fmt:: Formatter < ' _ > ) -> core:: fmt:: Result {
27
- Ok ( ( ) )
34
+ fn fmt ( & self , f : & mut core:: fmt:: Formatter < ' _ > ) -> core:: fmt:: Result {
35
+ match self {
36
+ PythReceiverError :: PriceUnavailable => write ! ( f, "PriceUnavailable" ) ,
37
+ PythReceiverError :: InvalidUpdateData => write ! ( f, "InvalidUpdateData" ) ,
38
+ PythReceiverError :: VaaVerificationFailed => write ! ( f, "VaaVerificationFailed" ) ,
39
+ PythReceiverError :: InvalidVaa => write ! ( f, "InvalidVaa" ) ,
40
+ PythReceiverError :: InvalidWormholeMessage => write ! ( f, "InvalidWormholeMessage" ) ,
41
+ PythReceiverError :: InvalidMerkleProof => write ! ( f, "InvalidMerkleProof" ) ,
42
+ PythReceiverError :: InvalidAccumulatorMessage => write ! ( f, "InvalidAccumulatorMessage" ) ,
43
+ PythReceiverError :: InvalidMerkleRoot => write ! ( f, "InvalidMerkleRoot" ) ,
44
+ PythReceiverError :: InvalidMerklePath => write ! ( f, "InvalidMerklePath" ) ,
45
+ PythReceiverError :: InvalidUnknownSource => write ! ( f, "InvalidUnknownSource" ) ,
46
+ PythReceiverError :: NewPriceUnavailable => write ! ( f, "NewPriceUnavailable" ) ,
47
+ PythReceiverError :: InvalidAccumulatorMessageType => {
48
+ write ! ( f, "InvalidAccumulatorMessageType" )
49
+ }
50
+ PythReceiverError :: InsufficientFee => write ! ( f, "InsufficientFee" ) ,
51
+ PythReceiverError :: InvalidEmitterAddress => write ! ( f, "InvalidEmitterAddress" ) ,
52
+ PythReceiverError :: TooManyUpdates => write ! ( f, "TooManyUpdates" ) ,
53
+ PythReceiverError :: PriceFeedNotFoundWithinRange => {
54
+ write ! ( f, "PriceFeedNotFoundWithinRange" )
55
+ }
56
+ PythReceiverError :: NoFreshUpdate => write ! ( f, "NoFreshUpdate" ) ,
57
+ PythReceiverError :: PriceFeedNotFound => write ! ( f, "PriceFeedNotFound" ) ,
58
+ PythReceiverError :: InvalidGovernanceMessage => write ! ( f, "InvalidGovernanceMessage" ) ,
59
+ PythReceiverError :: InvalidGovernanceTarget => write ! ( f, "InvalidGovernanceTarget" ) ,
60
+ PythReceiverError :: InvalidGovernanceAction => write ! ( f, "InvalidGovernanceAction" ) ,
61
+ PythReceiverError :: InvalidGovernanceDataSource => {
62
+ write ! ( f, "InvalidGovernanceDataSource" )
63
+ }
64
+ PythReceiverError :: OldGovernanceMessage => write ! ( f, "OldGovernanceMessage" ) ,
65
+ PythReceiverError :: GovernanceMessageAlreadyExecuted => {
66
+ write ! ( f, "GovernanceMessageAlreadyExecuted" )
67
+ }
68
+ PythReceiverError :: InvalidWormholeAddressToSet => {
69
+ write ! ( f, "InvalidWormholeAddressToSet" )
70
+ }
71
+ PythReceiverError :: WormholeUninitialized => {
72
+ write ! ( f, "Wormhole is uninitialized, please set the Wormhole address and initialize the contract first" )
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ impl core:: fmt:: Display for PythReceiverError {
79
+ fn fmt ( & self , f : & mut core:: fmt:: Formatter < ' _ > ) -> core:: fmt:: Result {
80
+ match self {
81
+ PythReceiverError :: PriceUnavailable => write ! ( f, "Price unavailable" ) ,
82
+ PythReceiverError :: InvalidUpdateData => write ! ( f, "Invalid update data" ) ,
83
+ PythReceiverError :: VaaVerificationFailed => write ! ( f, "VAA verification failed" ) ,
84
+ PythReceiverError :: InvalidVaa => write ! ( f, "Invalid VAA" ) ,
85
+ PythReceiverError :: InvalidWormholeMessage => write ! ( f, "Invalid Wormhole message" ) ,
86
+ PythReceiverError :: InvalidMerkleProof => write ! ( f, "Invalid Merkle proof" ) ,
87
+ PythReceiverError :: InvalidAccumulatorMessage => {
88
+ write ! ( f, "Invalid accumulator message" )
89
+ }
90
+ PythReceiverError :: InvalidMerkleRoot => write ! ( f, "Invalid Merkle root" ) ,
91
+ PythReceiverError :: InvalidMerklePath => write ! ( f, "Invalid Merkle path" ) ,
92
+ PythReceiverError :: InvalidUnknownSource => write ! ( f, "Invalid unknown source" ) ,
93
+ PythReceiverError :: NewPriceUnavailable => write ! ( f, "New price unavailable" ) ,
94
+ PythReceiverError :: InvalidAccumulatorMessageType => {
95
+ write ! ( f, "Invalid accumulator message type" )
96
+ }
97
+ PythReceiverError :: InsufficientFee => write ! ( f, "Insufficient fee" ) ,
98
+ PythReceiverError :: InvalidEmitterAddress => write ! ( f, "Invalid emitter address" ) ,
99
+ PythReceiverError :: TooManyUpdates => write ! ( f, "Too many updates" ) ,
100
+ PythReceiverError :: PriceFeedNotFoundWithinRange => {
101
+ write ! ( f, "Price feed not found within range" )
102
+ }
103
+ PythReceiverError :: NoFreshUpdate => write ! ( f, "No fresh update" ) ,
104
+ PythReceiverError :: PriceFeedNotFound => write ! ( f, "Price feed not found" ) ,
105
+ PythReceiverError :: InvalidGovernanceMessage => write ! ( f, "Invalid governance message" ) ,
106
+ PythReceiverError :: InvalidGovernanceTarget => write ! ( f, "Invalid governance target" ) ,
107
+ PythReceiverError :: InvalidGovernanceAction => write ! ( f, "Invalid governance action" ) ,
108
+ PythReceiverError :: InvalidGovernanceDataSource => {
109
+ write ! ( f, "Invalid governance data source" )
110
+ }
111
+ PythReceiverError :: OldGovernanceMessage => write ! ( f, "Old governance message" ) ,
112
+ PythReceiverError :: GovernanceMessageAlreadyExecuted => {
113
+ write ! ( f, "Governance message already executed" )
114
+ }
115
+ PythReceiverError :: InvalidWormholeAddressToSet => {
116
+ write ! ( f, "Invalid Wormhole address to set" )
117
+ }
118
+ PythReceiverError :: WormholeUninitialized => {
119
+ write ! ( f, "Wormhole is uninitialized, please set the Wormhole address and initialize the contract first" )
120
+ }
121
+ }
28
122
}
29
123
}
30
124
@@ -49,6 +143,14 @@ impl From<PythReceiverError> for Vec<u8> {
49
143
PythReceiverError :: PriceFeedNotFoundWithinRange => 16 ,
50
144
PythReceiverError :: NoFreshUpdate => 17 ,
51
145
PythReceiverError :: PriceFeedNotFound => 18 ,
146
+ PythReceiverError :: InvalidGovernanceMessage => 19 ,
147
+ PythReceiverError :: InvalidGovernanceTarget => 20 ,
148
+ PythReceiverError :: InvalidGovernanceAction => 21 ,
149
+ PythReceiverError :: InvalidGovernanceDataSource => 22 ,
150
+ PythReceiverError :: OldGovernanceMessage => 23 ,
151
+ PythReceiverError :: GovernanceMessageAlreadyExecuted => 24 ,
152
+ PythReceiverError :: InvalidWormholeAddressToSet => 25 ,
153
+ PythReceiverError :: WormholeUninitialized => 26 ,
52
154
} ]
53
155
}
54
156
}
0 commit comments