Skip to content

Commit e852118

Browse files
committed
fixed parse + verify function names
1 parent e10090b commit e852118

File tree

1 file changed

+35
-42
lines changed
  • target_chains/stylus/contracts/wormhole/src

1 file changed

+35
-42
lines changed

target_chains/stylus/contracts/wormhole/src/lib.rs

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@ extern crate alloc;
55
#[global_allocator]
66
static ALLOC: mini_alloc::MiniAlloc = mini_alloc::MiniAlloc::INIT;
77

8-
// #[cfg(all(not(feature = "std"), not(test)))]
9-
// #[panic_handler]
10-
// fn panic(_info: &core::panic::PanicInfo) -> ! {
11-
// loop {}
12-
// }
13-
148
use alloc::vec::Vec;
159
use stylus_sdk::{
1610
prelude::{entrypoint, public, storage, SolidityError},
@@ -112,7 +106,7 @@ pub enum WormholeError {
112106
}
113107

114108
pub trait IWormhole {
115-
fn parse_and_verify_vaa(&self, encoded_vaa: Vec<u8>) -> Result<VAA, WormholeError>;
109+
fn parse_and_verify_vm(&self, encoded_vaa: Vec<u8>) -> Result<VAA, WormholeError>;
116110
fn get_guardian_set(&self, index: u32) -> Option<GuardianSet>;
117111
fn get_current_guardian_set_index(&self) -> u32;
118112
fn governance_action_is_consumed(&self, hash: Vec<u8>) -> bool;
@@ -122,8 +116,8 @@ pub trait IWormhole {
122116
fn submit_new_guardian_set(&mut self, encoded_vaa: Vec<u8>) -> Result<(), WormholeError>;
123117
}
124118

125-
#[entrypoint]
126119
#[storage]
120+
#[entrypoint]
127121
pub struct WormholeContract {
128122
current_guardian_set_index: StorageUint<256, 4>,
129123
chain_id: StorageUint<256, 4>,
@@ -136,7 +130,6 @@ pub struct WormholeContract {
136130
guardian_keys: StorageMap<U256, StorageAddress>,
137131
}
138132

139-
#[public]
140133
impl WormholeContract {
141134
pub fn initialize(
142135
&mut self,
@@ -153,7 +146,7 @@ impl WormholeContract {
153146
return Err(WormholeError::InvalidInput(InvalidInput {}).into());
154147
}
155148

156-
self.current_guardian_set_index.set(0);
149+
self.current_guardian_set_index.set(U256::from(0));
157150
self.chain_id.set(U256::from(chain_id));
158151
self.governance_chain_id.set(U256::from(governance_chain_id));
159152
self.governance_contract.set(governance_contract);
@@ -210,7 +203,7 @@ impl WormholeContract {
210203
}
211204
}
212205

213-
pub fn parse_and_verify_vaa(&self, encoded_vaa: Vec<u8>) -> Result<Vec<u8>, Vec<u8>> {
206+
pub fn parse_and_verify_vm(&self, encoded_vaa: Vec<u8>) -> Result<Vec<u8>, Vec<u8>> {
214207
if !self.initialized.get() {
215208
return Err(WormholeError::NotInitialized(NotInitialized {}).into());
216209
}
@@ -219,9 +212,9 @@ impl WormholeContract {
219212
return Err(WormholeError::InvalidVAAFormat(InvalidVAAFormat {}).into());
220213
}
221214

222-
let vaa = self.parse_vaa(&encoded_vaa)?;
215+
let vaa = self.parse_vm(&encoded_vaa)?;
223216

224-
let verified = self.verify_vaa(&vaa);
217+
let verified = self.verify_vm(&vaa);
225218

226219
Ok(vaa.payload)
227220
}
@@ -232,11 +225,11 @@ impl WormholeContract {
232225
}
233226

234227
impl WormholeContract {
235-
fn parse_vaa(&self, encoded_vaa: &[u8]) -> Result<VAA, WormholeError> {
236-
Self::parse_vaa_static(encoded_vaa)
228+
fn parse_vm(&self, encoded_vaa: &[u8]) -> Result<VAA, WormholeError> {
229+
Self::parse_vm_static(encoded_vaa)
237230
}
238231

239-
fn parse_vaa_static(encoded_vaa: &[u8]) -> Result<VAA, WormholeError> {
232+
fn parse_vm_static(encoded_vaa: &[u8]) -> Result<VAA, WormholeError> {
240233
if encoded_vaa.len() < 6 {
241234
return Err(WormholeError::InvalidVAAFormat(InvalidVAAFormat {}));
242235
}
@@ -344,7 +337,7 @@ impl WormholeContract {
344337
})
345338
}
346339

347-
fn verify_vaa(&self, vaa: &VAA) -> Result<(), WormholeError> {
340+
fn verify_vm(&self, vaa: &VAA) -> Result<(), WormholeError> {
348341
let guardian_set = self.get_guardian_set_internal(vaa.guardian_set_index)
349342
.ok_or(WormholeError::InvalidGuardianSetIndex(InvalidGuardianSetIndex {}))?;
350343

@@ -475,13 +468,13 @@ impl WormholeContract {
475468
}
476469

477470
impl IWormhole for WormholeContract {
478-
fn parse_and_verify_vaa(&self, encoded_vaa: Vec<u8>) -> Result<VAA, WormholeError> {
471+
fn parse_and_verify_vm(&self, encoded_vaa: Vec<u8>) -> Result<VAA, WormholeError> {
479472
if !self.initialized.get() {
480473
return Err(WormholeError::NotInitialized(NotInitialized {}));
481474
}
482475

483-
let vaa = self.parse_vaa(&encoded_vaa)?;
484-
self.verify_vaa(&vaa)?;
476+
let vaa = self.parse_vm(&encoded_vaa)?;
477+
self.verify_vm(&vaa)?;
485478
Ok(vaa)
486479
}
487480

@@ -766,7 +759,7 @@ mod tests {
766759
#[motsu::test]
767760
fn test_real_wormhole_vaa_parsing() {
768761
let vaa_vec = test_real_vaa();
769-
let result = match WormholeContract::parse_vaa_static(&vaa_vec) {
762+
let result = match WormholeContract::parse_vm_static(&vaa_vec) {
770763
Ok(vaa) => vaa,
771764
Err(_) => panic!("VAA parsing failed"),
772765
};
@@ -777,7 +770,7 @@ mod tests {
777770
fn test_real_guardian_set_real_vaa_verification() {
778771
let contract = deploy_with_real_guardians();
779772
let test_vaa = create_vaa_bytes("AQAAAAQNABKrA7vVGbeFAN4q6OpjL0zVVs8aPJHPqnj6KuboY755N5i2on/i4nXb2nahbVGDDqj9WV2DgLRdUyqoXL/C6HsBA6l03OVpWBMU5Kjh4a3yn539u/m6ieboUz5D2wAqrt0UHCPgOuXlixoEnYZJ2kTGOT0yqd/grj9g1i9hWkGsi/0BBei0DUXj9iLQ8PQfJGQRWluvvBefZrCi7sIpaN1P10FbABdrFE/Mop+h1n4vHleYqtX1DyD/Hl2CUVPRm+TL6AsABigepLVMC/ybUdI71rW5yKda/DxJ/ZtRa1c7iUOxUnpfENoxwLheaJLMfDVb0bfybkPnbq/UjQ3OjP9LMbb2Y5wBBy1uE/9Pv1nIswbb0H4Q4ej1X7W2vvdWTrt3AmrDPOvYfg3mK+Wae5ifPhCFKas7y2gUfHLm0I7INKTHQ+jjK3oBCjc+jJahqTQu/xPi+kgxvsSwwswoxPEgrd3UsylDbGRMKeEQ8pbB8dP3PzkKThYvVjQ56Vl1+ZZkVf4EzKi7uxIAC03+AG9MIrRsCZenLd8/BwJbr3M1MlIRDAE/JZQctOneEhL0ta0KifLZ8516sfpOLO0j4hyX2JGB7+KhEwaa7rAADOgUbAVn/Od0Mcz5T4Xdu0VJVXbvDcP4WC1vuiKYUuwvHI2lPRwUGEXBinmYuFAzBv5goEO+et71DBPbSocfyAgADUmsnFBn9Sqt1X6QUF3KD8aYb0O7x/w33W/VS+3Bl3JnEjfD8RbDWBmfKhamm6B55g3WytoDz5E+0UfwjMBhEs8BDqxaRg10LY8c2ASx/Ps8UZ8qFYdcQ0liJdfiXxaDMZzwMuQpYr3S+CzartkfaNfRKl4269UtQTxbCHYrnu4XrIMBDzNfMrUQCBQPyYTDsAubNi2AbmAsgrcGHNCquna7ScXaFrYbDrWcxNbXRL20fQ8m7lH1llM3S4UC25smNOino8sBEHDm77bSISVBykPRwfkZdtezi7RGxtFfb0jh1Iu54/pXKyQFjKKOzush9dXGvwCVCeKHL7P+PRT8e+FCxFMFaZEAEVxXoDeizuUQoHG1G+o0MNqT/JS4SfE7SyqZ6VJoezHZIxUFlvqYRufJsGk6FU6OO1zbxdL8evNXIoU0TFHVLwoBaEiioAAAAAAAFYm5HmjQJklWYyvxH4q9IkPKpWxKQsl9m5fq3HG/EHS/AAAAAAAAeRsA3ca06nFfN50X8Ov9vOf/MclvDB12K3Pdhb7X87OIwKs=");
780-
let result = contract.parse_and_verify_vaa(test_vaa);
773+
let result = contract.parse_and_verify_vm(test_vaa);
781774
}
782775

783776
#[motsu::test]
@@ -791,39 +784,39 @@ mod tests {
791784
}
792785

793786
#[motsu::test]
794-
fn test_parse_vaa_invalid_length() {
787+
fn test_parse_vm_invalid_length() {
795788
let short_vaa = vec![1, 0, 0, 0];
796-
let result = WormholeContract::parse_vaa_static(&short_vaa);
789+
let result = WormholeContract::parse_vm_static(&short_vaa);
797790
assert!(matches!(result, Err(WormholeError::InvalidVAAFormat(InvalidVAAFormat {}))));
798791
}
799792

800793
#[motsu::test]
801-
fn test_parse_vaa_invalid_version() {
794+
fn test_parse_vm_invalid_version() {
802795
let invalid_version_vaa = vec![2, 0, 0, 0, 0, 0];
803-
let result = WormholeContract::parse_vaa_static(&invalid_version_vaa);
796+
let result = WormholeContract::parse_vm_static(&invalid_version_vaa);
804797
assert!(matches!(result, Err(WormholeError::InvalidVAAFormat(InvalidVAAFormat {}))));
805798
}
806799

807800
#[motsu::test]
808-
fn test_verify_vaa_invalid_guardian_set() {
801+
fn test_verify_vm_invalid_guardian_set() {
809802
let contract = deploy_with_test_guardian();
810803
let vaa = create_test_vaa(999, vec![]);
811804

812-
let result = contract.verify_vaa(&vaa);
805+
let result = contract.verify_vm(&vaa);
813806
assert!(matches!(result, Err(WormholeError::InvalidGuardianSetIndex(InvalidGuardianSetIndex {}))));
814807
}
815808

816809
#[motsu::test]
817-
fn test_verify_vaa_insufficient_signatures() {
810+
fn test_verify_vm_insufficient_signatures() {
818811
let contract = deploy_with_test_guardian();
819812
let vaa = create_test_vaa(0, vec![]);
820813

821-
let result = contract.verify_vaa(&vaa);
814+
let result = contract.verify_vm(&vaa);
822815
assert!(matches!(result, Err(WormholeError::InsufficientSignatures(InsufficientSignatures {}))));
823816
}
824817

825818
#[motsu::test]
826-
fn test_verify_vaa_invalid_signature_order() {
819+
fn test_verify_vm_invalid_signature_order() {
827820
let mut contract = WormholeContract::default();
828821
let guardians = vec![
829822
Address::from([0x12u8; 20]),
@@ -842,19 +835,19 @@ mod tests {
842835
];
843836
let vaa = create_test_vaa(0, signatures); // Use guardian set 0
844837

845-
let result = contract.verify_vaa(&vaa);
838+
let result = contract.verify_vm(&vaa);
846839
assert!(matches!(result, Err(WormholeError::InvalidSignature(InvalidSignature {}))));
847840
}
848841

849842
#[motsu::test]
850-
fn test_verify_vaa_invalid_guardian_index() {
843+
fn test_verify_vm_invalid_guardian_index() {
851844
let contract = deploy_with_test_guardian();
852845
let signatures = vec![
853846
create_guardian_signature(5),
854847
];
855848
let vaa = create_test_vaa(0, signatures);
856849

857-
let result = contract.verify_vaa(&vaa);
850+
let result = contract.verify_vm(&vaa);
858851
assert!(matches!(result, Err(WormholeError::InvalidGuardianIndex(InvalidGuardianIndex {}))));
859852
}
860853

@@ -903,7 +896,7 @@ mod tests {
903896
let contract = deploy_with_test_guardian();
904897

905898
let vaa = create_test_vaa_with_emitter(0, vec![], Address::from([0x99u8; 20]));
906-
let result = contract.verify_vaa(&vaa);
899+
let result = contract.verify_vm(&vaa);
907900
assert!(result.is_err());
908901
}
909902

@@ -912,7 +905,7 @@ mod tests {
912905
let contract = deploy_with_mainnet_guardian_set0();
913906

914907
let vaa = create_test_vaa(2, vec![]); // Skip index 1
915-
let result = contract.verify_vaa(&vaa);
908+
let result = contract.verify_vm(&vaa);
916909
assert!(matches!(result, Err(WormholeError::InvalidGuardianSetIndex(InvalidGuardianSetIndex {}))));
917910
}
918911

@@ -940,19 +933,19 @@ mod tests {
940933

941934
for i in 0..10 {
942935
let corrupted_data = corrupted_vaa(vec![1, 0, 0, 1, 0, 0], i, i as u8, (i * 2) as u8);
943-
let result = WormholeContract::parse_vaa_static(&corrupted_data);
936+
let result = WormholeContract::parse_vm_static(&corrupted_data);
944937
assert!(result.is_err());
945938
}
946939
}
947940

948941
#[motsu::test]
949-
fn test_parse_and_verify_vaa_rejects_corrupted_vaa() {
942+
fn test_parse_and_verify_vm_rejects_corrupted_vaa() {
950943
let contract = deploy_with_mainnet_guardians();
951944

952945
for i in 0..5 {
953946
let base_vaa = vec![1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
954947
let corrupted_data = corrupted_vaa(base_vaa, i, i as u8, (i * 3) as u8);
955-
let result = WormholeContract::parse_vaa_static(&corrupted_data);
948+
let result = WormholeContract::parse_vm_static(&corrupted_data);
956949
assert!(result.is_err());
957950
}
958951
}
@@ -964,7 +957,7 @@ mod tests {
964957
let mut vaa = create_test_vaa(0, vec![]);
965958
vaa.emitter_chain_id = 999; // Wrong chain
966959

967-
let result = contract.verify_vaa(&vaa);
960+
let result = contract.verify_vm(&vaa);
968961
assert!(result.is_err());
969962
}
970963

@@ -1023,7 +1016,7 @@ mod tests {
10231016
}
10241017

10251018
#[motsu::test]
1026-
fn test_verify_vaa_with_valid_signatures() {
1019+
fn test_verify_vm_with_valid_signatures() {
10271020
let mut contract = WormholeContract::default();
10281021
let guardians = vec![
10291022
test_guardian_address1(),
@@ -1052,7 +1045,7 @@ mod tests {
10521045
hash,
10531046
};
10541047

1055-
let result = contract.verify_vaa(&vaa);
1048+
let result = contract.verify_vm(&vaa);
10561049
}
10571050

10581051
#[motsu::test]

0 commit comments

Comments
 (0)