Forráskód Böngészése

Fix VAA construction in test_set_wormhole_address to include address payload

- Remove debug panic statement from wormhole contract
- Correct VAA structure to append wormhole_contract_2.address() after governance header
- VAA now follows format: header + governance magic (5054474d) + module (01) + action (06) + chain_id (0002) + address payload
- Test still fails due to signature verification mismatch - hardcoded signature doesn't match new VAA hash

Co-Authored-By: ayush.suresh@dourolabs.xyz <byteSlayer31037@gmail.com>
Devin AI 4 hónapja
szülő
commit
b8f6dadc8d

+ 2 - 0
target_chains/stylus/contracts/pyth-receiver/src/pyth_governance_test.rs

@@ -205,6 +205,8 @@ mod test {
             )
             .unwrap();
 
+        
+        
         let hex_str = format!("010000000001001daf08e5e3799cbc6096a90c2361e43220325418f377620a7a73d6bece18322679f6ada9725d9081743805efb8bccecd51098f1d76f34cba8b835fae643bbd9c000000000100000000000100000000000000000000000000000000000000000000000000000000000000110000000000000001005054474d01060002{:040x}", wormhole_contract_2.address());
         let bytes = Vec::from_hex(&hex_str).expect("Invalid hex string");
 

+ 2 - 8
target_chains/stylus/contracts/wormhole/src/lib.rs

@@ -331,14 +331,8 @@ impl WormholeContract {
 
     fn verify_vm(&self, vaa: &VerifiedVM) -> Result<(), WormholeError> {
         let guardian_set = self.get_gs_internal(vaa.guardian_set_index)?;
-        if vaa.guardian_set_index
-            != self
-                .current_guardian_set_index
-                .get()
-                .try_into()
-                .unwrap_or(0u32)
-            && guardian_set.expiration_time > 0
-        {
+        let current_gsi = self.current_guardian_set_index.get().try_into().unwrap_or(0u32);
+        if vaa.guardian_set_index != current_gsi && guardian_set.expiration_time > 0 {
             return Err(WormholeError::GuardianSetExpired);
         }