From 40d7b6d679833936a96a808e0227819fe57e946e Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Thu, 25 Jan 2024 18:05:31 +0000 Subject: [PATCH] Cleanup --- pythnet/pythnet_sdk/src/test_utils/mod.rs | 16 +-- .../cosmwasm/contracts/pyth/src/contract.rs | 64 ++++----- .../near/receiver/tests/workspaces.rs | 122 ++++++++++-------- 3 files changed, 111 insertions(+), 91 deletions(-) diff --git a/pythnet/pythnet_sdk/src/test_utils/mod.rs b/pythnet/pythnet_sdk/src/test_utils/mod.rs index 34056f8b8d..be382037e6 100644 --- a/pythnet/pythnet_sdk/src/test_utils/mod.rs +++ b/pythnet/pythnet_sdk/src/test_utils/mod.rs @@ -109,8 +109,8 @@ pub fn create_accumulator_message( price_updates, tree, corrupt_wormhole_message, - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, ) } @@ -118,8 +118,8 @@ pub fn create_accumulator_message_from_updates( price_updates: Vec, tree: MerkleTree, corrupt_wormhole_message: bool, - emitter_address: [u8; 32], - emitter_chain: u16, + emitter_address: Address, + emitter_chain: Chain, ) -> Vec { let mut root_hash = [0u8; 20]; root_hash.copy_from_slice(&to_vec::<_, BigEndian>(&tree.root).unwrap()[..20]); @@ -151,13 +151,13 @@ pub fn create_accumulator_message_from_updates( pub fn create_vaa_from_payload( payload: &[u8], - emitter_address: [u8; 32], - emitter_chain: u16, + emitter_address: Address, + emitter_chain: Chain, sequence: u64, ) -> Vaa> { let vaa: Vaa> = Vaa { - emitter_chain: Chain::from(emitter_chain), - emitter_address: Address(emitter_address), + emitter_chain: emitter_chain, + emitter_address: emitter_address, sequence, payload: >::from(payload.to_vec()), ..Default::default() diff --git a/target_chains/cosmwasm/contracts/pyth/src/contract.rs b/target_chains/cosmwasm/contracts/pyth/src/contract.rs index c6bc472db0..6ce51043e8 100644 --- a/target_chains/cosmwasm/contracts/pyth/src/contract.rs +++ b/target_chains/cosmwasm/contracts/pyth/src/contract.rs @@ -856,7 +856,11 @@ mod test { }, serde_wormhole::RawMessage, std::time::Duration, - wormhole_sdk::Vaa, + wormhole_sdk::{ + Address, + Chain, + Vaa, + }, }; /// Default valid time period for testing purposes. @@ -926,8 +930,8 @@ mod test { } fn create_batch_price_update_msg( - emitter_address: [u8; 32], - emitter_chain: u16, + emitter_address: Address, + emitter_chain: Chain, attestations: Vec, ) -> Binary { let batch_attestation = BatchPriceAttestation { @@ -947,8 +951,8 @@ mod test { attestations: Vec, ) -> Binary { create_batch_price_update_msg( - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, attestations, ) } @@ -1003,8 +1007,8 @@ mod test { fn apply_price_update( config_info: &ConfigInfo, - emitter_address: [u8; 32], - emitter_chain: u16, + emitter_address: Address, + emitter_chain: Chain, attestations: Vec, ) -> StdResult<(usize, Vec)> { let (mut deps, env) = setup_test(); @@ -1159,8 +1163,8 @@ mod test { fn test_parse_batch_attestation_empty_array() { let (num_attestations, new_attestations) = apply_price_update( &default_config_info(), - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, vec![], ) .unwrap(); @@ -1191,7 +1195,7 @@ mod test { }; } - fn test_accumulator_wrong_source(emitter_address: [u8; 32], emitter_chain: u16) { + fn test_accumulator_wrong_source(emitter_address: Address, emitter_chain: Chain) { let (mut deps, env) = setup_test(); config(&mut deps.storage) .save(&default_config_info()) @@ -1221,12 +1225,12 @@ mod test { #[test] fn test_accumulator_verify_vaa_sender_fail_wrong_emitter_address() { - test_accumulator_wrong_source(WRONG_SOURCE.address.0, DEFAULT_DATA_SOURCE.chain.into()); + test_accumulator_wrong_source(WRONG_SOURCE.address, DEFAULT_DATA_SOURCE.chain); } #[test] fn test_accumulator_verify_vaa_sender_fail_wrong_emitter_chain() { - test_accumulator_wrong_source(DEFAULT_DATA_SOURCE.address.0, WRONG_SOURCE.chain.into()); + test_accumulator_wrong_source(DEFAULT_DATA_SOURCE.address, WRONG_SOURCE.chain); } #[test] @@ -1476,8 +1480,8 @@ mod test { price_updates, tree, false, - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, ); let info = mock_info("123", &[]); let result = update_price_feeds(deps.as_mut(), env, info, &[msg.into()]); @@ -1510,8 +1514,8 @@ mod test { price_updates, tree, false, - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, ); let info = mock_info("123", &[]); let result = update_price_feeds(deps.as_mut(), env, info, &[msg.into()]); @@ -1695,8 +1699,8 @@ mod test { fn test_verify_vaa_sender_ok() { let result = apply_price_update( &default_config_info(), - DEFAULT_DATA_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, vec![PriceAttestation::default()], ); assert!(result.is_ok()); @@ -1706,8 +1710,8 @@ mod test { fn test_verify_vaa_sender_fail_wrong_emitter_address() { let result = apply_price_update( &default_config_info(), - WRONG_SOURCE.address.0, - DEFAULT_DATA_SOURCE.chain.into(), + WRONG_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, vec![PriceAttestation::default()], ); assert_eq!(result, Err(PythContractError::InvalidUpdateEmitter.into())); @@ -1717,8 +1721,8 @@ mod test { fn test_verify_vaa_sender_fail_wrong_emitter_chain() { let result = apply_price_update( &default_config_info(), - DEFAULT_DATA_SOURCE.address.0, - WRONG_SOURCE.chain.into(), + DEFAULT_DATA_SOURCE.address, + WRONG_SOURCE.chain, vec![PriceAttestation::default()], ); assert_eq!(result, Err(PythContractError::InvalidUpdateEmitter.into())); @@ -2039,8 +2043,8 @@ mod test { fn governance_vaa(instruction: &GovernanceInstruction) -> Vaa> { create_vaa_from_payload( &instruction.serialize().unwrap(), - DEFAULT_GOVERNANCE_SOURCE.address.0, - DEFAULT_GOVERNANCE_SOURCE.chain.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 7, ) } @@ -2128,8 +2132,8 @@ mod test { } .serialize() .unwrap(), - SECONDARY_GOVERNANCE_SOURCE.address.0, - SECONDARY_GOVERNANCE_SOURCE.chain.into(), + SECONDARY_GOVERNANCE_SOURCE.address, + SECONDARY_GOVERNANCE_SOURCE.chain, 12, ); @@ -2163,8 +2167,8 @@ mod test { } .serialize() .unwrap(), - SECONDARY_GOVERNANCE_SOURCE.address.0, - SECONDARY_GOVERNANCE_SOURCE.chain.into(), + SECONDARY_GOVERNANCE_SOURCE.address, + SECONDARY_GOVERNANCE_SOURCE.chain, 12, ); @@ -2197,8 +2201,8 @@ mod test { } .serialize() .unwrap(), - SECONDARY_GOVERNANCE_SOURCE.address.0, - SECONDARY_GOVERNANCE_SOURCE.chain.into(), + SECONDARY_GOVERNANCE_SOURCE.address, + SECONDARY_GOVERNANCE_SOURCE.chain, 12, ); diff --git a/target_chains/near/receiver/tests/workspaces.rs b/target_chains/near/receiver/tests/workspaces.rs index 02fbb75e8d..ff3040f198 100644 --- a/target_chains/near/receiver/tests/workspaces.rs +++ b/target_chains/near/receiver/tests/workspaces.rs @@ -20,9 +20,7 @@ use { PriceStatus, }, pythnet_sdk::test_utils::{ - create_accumulator_message, - create_dummy_price_feed_message, - create_vaa_from_payload, + create_accumulator_message, create_dummy_price_feed_message, create_vaa_from_payload, DEFAULT_DATA_SOURCE, DEFAULT_GOVERNANCE_SOURCE, DEFAULT_VALID_TIME_PERIOD, SECONDARY_DATA_SOURCE, SECONDARY_GOVERNANCE_SOURCE }, serde_json::json, wormhole_sdk::Chain as WormholeChain, @@ -69,10 +67,16 @@ async fn initialize_chain() -> ( .args_json(&json!({ "wormhole": wormhole.id(), "codehash": codehash, - "initial_source": Source::default(), - "gov_source": Source::default(), + "initial_source": Source { + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), + }, + "gov_source": Source { + emitter: DEFAULT_GOVERNANCE_SOURCE.address.0, + chain: DEFAULT_GOVERNANCE_SOURCE.chain.into(), + }, "update_fee": U128::from(1u128), - "stale_threshold": 32, + "stale_threshold": DEFAULT_VALID_TIME_PERIOD, })) .gas(300_000_000_000_000) .transact_async() @@ -95,18 +99,21 @@ async fn test_set_sources() { module: GovernanceModule::Target, action: GovernanceAction::SetDataSources { data_sources: vec![ - Source::default(), Source { - emitter: [1; 32], - chain: Chain::from(WormholeChain::Solana), + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), + }, + Source { + emitter: SECONDARY_DATA_SOURCE.address.0, + chain: SECONDARY_DATA_SOURCE.chain.into(), }, ], }, } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -131,10 +138,13 @@ async fn test_set_sources() { serde_json::from_slice::>(&contract.view("get_sources").await.unwrap().result) .unwrap(), &[ - Source::default(), Source { - emitter: [1; 32], - chain: Chain::from(WormholeChain::Solana), + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), + }, + Source { + emitter: SECONDARY_DATA_SOURCE.address.0, + chain: SECONDARY_DATA_SOURCE.chain.into(), }, ] ); @@ -156,8 +166,8 @@ async fn test_set_governance_source() { } .serialize() .unwrap(), - [1; 32], - WormholeChain::Solana.into(), + SECONDARY_GOVERNANCE_SOURCE.address, + SECONDARY_GOVERNANCE_SOURCE.chain, 1, ); @@ -172,8 +182,8 @@ async fn test_set_governance_source() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 2, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -199,18 +209,21 @@ async fn test_set_governance_source() { module: GovernanceModule::Target, action: GovernanceAction::SetDataSources { data_sources: vec![ - Source::default(), Source { - emitter: [2; 32], - chain: Chain::from(WormholeChain::Solana), + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), + }, + Source { + emitter: SECONDARY_DATA_SOURCE.address.0, + chain: SECONDARY_DATA_SOURCE.chain.into(), }, ], }, } .serialize() .unwrap(), - [1; 32], - WormholeChain::Solana.into(), + SECONDARY_GOVERNANCE_SOURCE.address, + SECONDARY_GOVERNANCE_SOURCE.chain, 2, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -239,16 +252,20 @@ async fn test_set_governance_source() { data_sources: vec![ Source::default(), Source { - emitter: [2; 32], - chain: Chain::from(WormholeChain::Solana), + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), + }, + Source { + emitter: SECONDARY_DATA_SOURCE.address.0, + chain: SECONDARY_DATA_SOURCE.chain.into(), }, ], }, } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 4, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -280,7 +297,7 @@ async fn test_stale_threshold() { .duration_since(std::time::UNIX_EPOCH) .expect("Failed to get UNIX timestamp") .as_secs() - - 60; + - DEFAULT_VALID_TIME_PERIOD; // Submit a Price Attestation to the contract. let vaa = create_vaa_from_payload( @@ -306,8 +323,8 @@ async fn test_stale_threshold() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -380,8 +397,8 @@ async fn test_stale_threshold() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, 2, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -431,8 +448,8 @@ async fn test_stale_threshold() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 3, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -491,8 +508,8 @@ async fn test_contract_fees() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -568,8 +585,8 @@ async fn test_contract_fees() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_DATA_SOURCE.address, + DEFAULT_DATA_SOURCE.chain, 2, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -619,8 +636,8 @@ async fn test_same_governance_sequence_fails() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -674,8 +691,8 @@ async fn test_out_of_order_sequences_fail() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -705,8 +722,8 @@ async fn test_out_of_order_sequences_fail() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 3, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -736,8 +753,8 @@ async fn test_out_of_order_sequences_fail() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 2, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -772,8 +789,8 @@ async fn test_governance_target_fails_if_not_near() { } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap()); @@ -808,18 +825,17 @@ async fn test_accumulator_updates() { module: GovernanceModule::Target, action: GovernanceAction::SetDataSources { data_sources: vec![ - Source::default(), Source { - emitter: [1; 32], - chain: Chain::from(WormholeChain::Any), + emitter: DEFAULT_DATA_SOURCE.address.0, + chain: DEFAULT_DATA_SOURCE.chain.into(), }, ], }, } .serialize() .unwrap(), - [0; 32], - WormholeChain::Any.into(), + DEFAULT_GOVERNANCE_SOURCE.address, + DEFAULT_GOVERNANCE_SOURCE.chain, 1, ); let vaa = hex::encode(serde_wormhole::to_vec(&vaa).unwrap());