From 8d6bf7426281227316a1672a259b56bca45bec95 Mon Sep 17 00:00:00 2001 From: Chirantan Ekbote Date: Fri, 30 Sep 2022 18:18:54 +0900 Subject: [PATCH] cosmwasm: Fix clippy warnings --- cosmwasm/contracts/cw20-wrapped/src/contract.rs | 15 ++++++--------- cosmwasm/contracts/cw20-wrapped/src/msg.rs | 12 ++++++------ cosmwasm/contracts/cw20-wrapped/src/state.rs | 2 +- .../contracts/cw20-wrapped/tests/integration.rs | 14 +++++++------- .../contracts/mock-bridge-integration/src/msg.rs | 8 ++++---- .../mock-bridge-integration/src/state.rs | 2 +- cosmwasm/contracts/token-bridge/src/contract.rs | 14 +++++++------- cosmwasm/contracts/token-bridge/src/msg.rs | 14 +++++++------- cosmwasm/contracts/token-bridge/src/state.rs | 11 +++++------ .../contracts/token-bridge/src/token_address.rs | 12 ++++++------ cosmwasm/contracts/wormhole/src/byte_utils.rs | 2 +- cosmwasm/contracts/wormhole/src/msg.rs | 14 +++++++------- cosmwasm/contracts/wormhole/src/state.rs | 14 ++++++-------- cosmwasm/contracts/wormhole/tests/integration.rs | 6 ++---- 14 files changed, 66 insertions(+), 74 deletions(-) diff --git a/cosmwasm/contracts/cw20-wrapped/src/contract.rs b/cosmwasm/contracts/cw20-wrapped/src/contract.rs index a11cb036d..10fd9738d 100644 --- a/cosmwasm/contracts/cw20-wrapped/src/contract.rs +++ b/cosmwasm/contracts/cw20-wrapped/src/contract.rs @@ -208,7 +208,7 @@ mod tests { use cw20::TokenInfoResponse; fn get_balance(deps: Deps, address: HumanAddr) -> Uint128 { - query_balance(deps, address.into()).unwrap().balance + query_balance(deps, address).unwrap().balance } fn do_init(mut deps: DepsMut, creator: &HumanAddr) { @@ -261,7 +261,7 @@ mod tests { let env = mock_env(); let info = mock_info(creator, &[]); - let res = execute(deps.branch(), env, info, msg.clone()).unwrap(); + let res = execute(deps.branch(), env, info, msg).unwrap(); assert_eq!(0, res.messages.len()); assert_eq!(get_balance(deps.as_ref(), mint_to.clone(),), amount); @@ -293,10 +293,7 @@ mod tests { do_init(deps.as_mut(), &minter); let amount = Uint128::new(222_222_222); - let msg = ExecuteMsg::Mint { - recipient: recipient.clone(), - amount, - }; + let msg = ExecuteMsg::Mint { recipient, amount }; let other_address = HumanAddr::from("other"); let env = mock_env(); @@ -326,7 +323,7 @@ mod tests { let env = mock_env(); let info = mock_info(&owner, &[]); - let res = execute(deps.as_mut(), env, info, msg.clone()).unwrap(); + let res = execute(deps.as_mut(), env, info, msg).unwrap(); assert_eq!(0, res.messages.len()); assert_eq!(get_balance(deps.as_ref(), owner), Uint128::new(222_000_000)); assert_eq!(get_balance(deps.as_ref(), recipient), amount_transfer); @@ -344,12 +341,12 @@ mod tests { let recipient = HumanAddr::from("recipient"); let amount_transfer = Uint128::new(222_222); let msg = ExecuteMsg::Transfer { - recipient: recipient.clone(), + recipient, amount: amount_transfer, }; let env = mock_env(); let info = mock_info(&owner, &[]); - let _ = execute(deps.as_mut(), env, info, msg.clone()).unwrap_err(); // Will panic if no error + let _ = execute(deps.as_mut(), env, info, msg).unwrap_err(); // Will panic if no error } } diff --git a/cosmwasm/contracts/cw20-wrapped/src/msg.rs b/cosmwasm/contracts/cw20-wrapped/src/msg.rs index bdab66cbc..2c82c4e4c 100644 --- a/cosmwasm/contracts/cw20-wrapped/src/msg.rs +++ b/cosmwasm/contracts/cw20-wrapped/src/msg.rs @@ -7,7 +7,7 @@ use cw20::Expiration; type HumanAddr = String; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub name: String, pub symbol: String, @@ -18,19 +18,19 @@ pub struct InstantiateMsg { pub init_hook: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InitHook { pub msg: Binary, pub contract_addr: HumanAddr, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InitMint { pub recipient: HumanAddr, pub amount: Uint128, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct MigrateMsg {} @@ -94,7 +94,7 @@ pub enum ExecuteMsg { UpdateMetadata { name: String, symbol: String }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { // Generic information about the wrapped asset @@ -113,7 +113,7 @@ pub enum QueryMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WrappedAssetInfoResponse { pub asset_chain: u16, // Asset chain id pub asset_address: Binary, // Asset smart contract address in the original chain diff --git a/cosmwasm/contracts/cw20-wrapped/src/state.rs b/cosmwasm/contracts/cw20-wrapped/src/state.rs index 8e8f48547..786c58f33 100644 --- a/cosmwasm/contracts/cw20-wrapped/src/state.rs +++ b/cosmwasm/contracts/cw20-wrapped/src/state.rs @@ -7,7 +7,7 @@ use cosmwasm_storage::{singleton, singleton_read, ReadonlySingleton, Singleton}; pub const KEY_WRAPPED_ASSET: &[u8] = b"wrappedAsset"; // Created at initialization and reference original asset and bridge address -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WrappedAssetInfo { pub asset_chain: u16, // Asset chain id pub asset_address: Binary, // Asset smart contract address on the original chain diff --git a/cosmwasm/contracts/cw20-wrapped/tests/integration.rs b/cosmwasm/contracts/cw20-wrapped/tests/integration.rs index b9c716748..a0ee36854 100644 --- a/cosmwasm/contracts/cw20-wrapped/tests/integration.rs +++ b/cosmwasm/contracts/cw20-wrapped/tests/integration.rs @@ -59,7 +59,7 @@ fn do_mint( ) { let mint_msg = ExecuteMsg::Mint { recipient: recipient.to_string(), - amount: amount.clone(), + amount: *amount, }; let info = mock_info(INITIALIZER, &[]); let handle_response: Response = execute(deps.as_mut(), mock_env(), info, mint_msg).unwrap(); @@ -74,7 +74,7 @@ fn do_transfer( ) { let transfer_msg = ExecuteMsg::Transfer { recipient: recipient.to_string(), - amount: amount.clone(), + amount: *amount, }; let env = mock_env(); let info = mock_info(sender.as_str(), &[]); @@ -116,8 +116,8 @@ fn check_token_details(deps: &OwnedDeps, supp #[test] fn init_works() { - let mut deps = do_init(); - check_token_details(&mut deps, Uint128::new(0)); + let deps = do_init(); + check_token_details(&deps, Uint128::new(0)); } #[test] @@ -126,7 +126,7 @@ fn query_works() { let query_response = query(deps.as_ref(), mock_env(), QueryMsg::WrappedAssetInfo {}).unwrap(); assert_eq!( - from_slice::(&query_response.as_slice()).unwrap(), + from_slice::(query_response.as_slice()).unwrap(), WrappedAssetInfoResponse { asset_chain: 1, asset_address: vec![1; 32].into(), @@ -172,6 +172,6 @@ fn transfer_works() { do_mint(&mut deps, &sender, &Uint128::new(123_123_123)); do_transfer(&mut deps, &sender, &recipient, &Uint128::new(123_123_000)); - check_balance(&mut deps, &sender, &Uint128::new(123)); - check_balance(&mut deps, &recipient, &Uint128::new(123_123_000)); + check_balance(&deps, &sender, &Uint128::new(123)); + check_balance(&deps, &recipient, &Uint128::new(123_123_000)); } diff --git a/cosmwasm/contracts/mock-bridge-integration/src/msg.rs b/cosmwasm/contracts/mock-bridge-integration/src/msg.rs index e5162763e..8970a8f1f 100644 --- a/cosmwasm/contracts/mock-bridge-integration/src/msg.rs +++ b/cosmwasm/contracts/mock-bridge-integration/src/msg.rs @@ -4,22 +4,22 @@ use serde::{Deserialize, Serialize}; type HumanAddr = String; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub token_bridge_contract: HumanAddr, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { CompleteTransferWithPayload { data: Binary }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct MigrateMsg {} -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { WrappedRegistry { chain: u16, address: Binary }, diff --git a/cosmwasm/contracts/mock-bridge-integration/src/state.rs b/cosmwasm/contracts/mock-bridge-integration/src/state.rs index 95152b6ad..ede62e554 100644 --- a/cosmwasm/contracts/mock-bridge-integration/src/state.rs +++ b/cosmwasm/contracts/mock-bridge-integration/src/state.rs @@ -9,7 +9,7 @@ type HumanAddr = String; pub static CONFIG_KEY: &[u8] = b"config"; // Guardian set information -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct Config { pub token_bridge_contract: HumanAddr, } diff --git a/cosmwasm/contracts/token-bridge/src/contract.rs b/cosmwasm/contracts/token-bridge/src/contract.rs index bb6ca493a..5b5eb349a 100644 --- a/cosmwasm/contracts/token-bridge/src/contract.rs +++ b/cosmwasm/contracts/token-bridge/src/contract.rs @@ -20,7 +20,7 @@ use wormhole::{ state::{vaa_archive_add, vaa_archive_check, GovernancePacket, ParsedVAA}, }; -#[allow(unused_imports)] +#[cfg(not(feature = "library"))] use cosmwasm_std::entry_point; use cosmwasm_std::{ @@ -849,7 +849,7 @@ fn handle_complete_transfer_token( amount = amount .checked_sub(fee) - .ok_or(StdError::generic_err("Insufficient funds"))?; + .ok_or_else(|| StdError::generic_err("Insufficient funds"))?; // Check high 128 bit of amount value to be empty if not_supported_amount != 0 || not_supported_fee != 0 { @@ -997,7 +997,7 @@ fn handle_complete_transfer_token_native( amount = amount .checked_sub(fee) - .ok_or(StdError::generic_err("Insufficient funds"))?; + .ok_or_else(|| StdError::generic_err("Insufficient funds"))?; // Check high 128 bit of amount value to be empty if not_supported_amount != 0 || not_supported_fee != 0 { @@ -1106,7 +1106,7 @@ fn handle_initiate_transfer_token( let mut submessages: Vec = vec![]; // we'll only need this for payload 3 transfers - let sender_address = deps.api.addr_canonicalize(&info.sender.to_string())?; + let sender_address = deps.api.addr_canonicalize(info.sender.as_ref())?; let sender_address = extend_address_to_32_array(&sender_address); match is_wrapped_asset_read(deps.storage).load(asset_canonical.as_slice()) { @@ -1197,14 +1197,14 @@ fn handle_initiate_transfer_token( .checked_rem(multiplier) .and_then(|rem| amount.u128().checked_sub(rem)) .map(Uint128::new) - .ok_or(StdError::generic_err("Insufficient funds"))?; + .ok_or_else(|| StdError::generic_err("Insufficient funds"))?; fee = fee .u128() .checked_rem(multiplier) .and_then(|rem| fee.u128().checked_sub(rem)) .map(Uint128::new) - .ok_or(StdError::generic_err("Invalid fee"))?; + .ok_or_else(|| StdError::generic_err("Invalid fee"))?; // This is a regular asset, transfer its balance submessages.push(SubMsg::reply_on_success( @@ -1397,7 +1397,7 @@ fn handle_initiate_transfer_native_token( } } TransferType::WithPayload { payload } => { - let sender_address = deps.api.addr_canonicalize(&info.sender.to_string())?; + let sender_address = deps.api.addr_canonicalize(info.sender.as_ref())?; let sender_address = extend_address_to_32_array(&sender_address); let transfer_info = TransferWithPayloadInfo { amount: (0, amount.u128()), diff --git a/cosmwasm/contracts/token-bridge/src/msg.rs b/cosmwasm/contracts/token-bridge/src/msg.rs index 48a024430..98a291eec 100644 --- a/cosmwasm/contracts/token-bridge/src/msg.rs +++ b/cosmwasm/contracts/token-bridge/src/msg.rs @@ -9,7 +9,7 @@ type HumanAddr = String; /// The instantiation parameters of the token bridge contract. See /// [`crate::state::ConfigInfo`] for more details on what these fields mean. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub gov_chain: u16, pub gov_address: Binary, @@ -68,11 +68,11 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct MigrateMsg {} -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { WrappedRegistry { chain: u16, address: Binary }, @@ -81,13 +81,13 @@ pub enum QueryMsg { IsVaaRedeemed { vaa: Binary }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct WrappedRegistryResponse { pub address: HumanAddr, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct TransferInfoResponse { pub amount: Uint128, @@ -99,13 +99,13 @@ pub struct TransferInfoResponse { pub payload: Vec, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct ExternalIdResponse { pub token_id: TokenId, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct IsVaaRedeemedResponse { pub is_redeemed: bool, diff --git a/cosmwasm/contracts/token-bridge/src/state.rs b/cosmwasm/contracts/token-bridge/src/state.rs index 353a36292..35e2db4fa 100644 --- a/cosmwasm/contracts/token-bridge/src/state.rs +++ b/cosmwasm/contracts/token-bridge/src/state.rs @@ -12,7 +12,6 @@ use wormhole::byte_utils::ByteUtils; use crate::token_address::{ExternalTokenId, WrappedCW20}; type HumanAddr = String; - static CONFIG_KEY: &[u8] = b"config"; static TRANSFER_TMP_KEY: &[u8] = b"transfer_tmp"; static WRAPPED_ASSET_KEY: &[u8] = b"wrapped_asset"; @@ -30,7 +29,7 @@ static NATIVE_CW20_HASHES_KEY: &[u8] = b"native_cw20_hashes"; /// See [`crate::contract::migrate`] for details on why this is necessary. /// Once the migration has been executed, this struct (and the corresponding /// migration logic) can be deleted. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ConfigInfoLegacy { /// Governance chain (typically Solana, i.e. chain id 1) pub gov_chain: u16, @@ -47,7 +46,7 @@ pub struct ConfigInfoLegacy { } /// Information about this contract's general parameters. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ConfigInfo { /// Governance chain (typically Solana, i.e. chain id 1) pub gov_chain: u16, @@ -144,7 +143,7 @@ type Serialized128 = String; /// Structure to keep track of an active CW20 transfer, required to pass state through to the reply /// handler for submessages during a transfer. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct TransferState { pub account: String, pub message: Vec, @@ -227,7 +226,7 @@ impl TokenBridgeMessage { // 98 u16 recipient_chain // 100 u256 fee -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct TransferInfo { pub amount: (u128, u128), pub token_address: ExternalTokenId, @@ -279,7 +278,7 @@ impl TransferInfo { // 100 [u8; 32] sender_address // 132 [u8] payload -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct TransferWithPayloadInfo { pub amount: (u128, u128), pub token_address: ExternalTokenId, diff --git a/cosmwasm/contracts/token-bridge/src/token_address.rs b/cosmwasm/contracts/token-bridge/src/token_address.rs index dda3376b3..55d71e09b 100644 --- a/cosmwasm/contracts/token-bridge/src/token_address.rs +++ b/cosmwasm/contracts/token-bridge/src/token_address.rs @@ -55,7 +55,7 @@ use crate::state::{ /// /// For internal consumption of these addresses, we first convert them to /// [`TokenId`] (see below). -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[repr(transparent)] pub struct ExternalTokenId { bytes: [u8; 32], @@ -116,7 +116,7 @@ impl ExternalTokenId { } pub fn from_bank_token(denom: &String) -> StdResult { - let mut hash = hash(&denom.as_bytes()); + let mut hash = hash(denom.as_bytes()); // override first byte with marker byte hash[0] = 1; Ok(ExternalTokenId { bytes: hash }) @@ -142,7 +142,7 @@ impl ExternalTokenId { /// granular. We do differentiate between bank tokens and CW20 tokens, but in /// the latter case, we further differentiate between native CW20s and wrapped /// CW20s (see [`ContractId`]). -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub enum TokenId { Bank { denom: String }, Contract(ContractId), @@ -163,7 +163,7 @@ impl TokenId { TokenId::Bank { denom } => bank_token_hashes(storage).save(&external_id.bytes, denom), TokenId::Contract(contract) => match contract { ContractId::NativeCW20 { contract_address } => { - native_c20_hashes(storage).save(&external_id.bytes, &contract_address) + native_c20_hashes(storage).save(&external_id.bytes, contract_address) } ContractId::ForeignToken { chain_id: _, @@ -181,7 +181,7 @@ impl TokenId { /// reason we represent the foreign address here instead of storing the wrapped /// CW20 contract's address directly is that the wrapped asset might not be /// deployed yet. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub enum ContractId { NativeCW20 { contract_address: Addr, @@ -193,7 +193,7 @@ pub enum ContractId { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[repr(transparent)] pub struct WrappedCW20 { pub human_address: Addr, diff --git a/cosmwasm/contracts/wormhole/src/byte_utils.rs b/cosmwasm/contracts/wormhole/src/byte_utils.rs index ae17f353f..c78884e22 100644 --- a/cosmwasm/contracts/wormhole/src/byte_utils.rs +++ b/cosmwasm/contracts/wormhole/src/byte_utils.rs @@ -48,7 +48,7 @@ impl ByteUtils for &[u8] { if self.get_u128_be(index) >> 32 == 0 { return CanonicalAddr::from(&self[index + 12..index + 32]); } - return CanonicalAddr::from(&self[index..index + 32]); + CanonicalAddr::from(&self[index..index + 32]) } fn get_bytes32(&self, index: usize) -> &[u8] { &self[index..index + 32] diff --git a/cosmwasm/contracts/wormhole/src/msg.rs b/cosmwasm/contracts/wormhole/src/msg.rs index 5c7491cb6..03fc2db56 100644 --- a/cosmwasm/contracts/wormhole/src/msg.rs +++ b/cosmwasm/contracts/wormhole/src/msg.rs @@ -8,7 +8,7 @@ type HumanAddr = String; /// The instantiation parameters of the token bridge contract. See /// [`crate::state::ConfigInfo`] for more details on what these fields mean. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub gov_chain: u16, pub gov_address: Binary, @@ -21,18 +21,18 @@ pub struct InstantiateMsg { pub fee_denom: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { SubmitVAA { vaa: Binary }, PostMessage { message: Binary, nonce: u32 }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct MigrateMsg {} -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { GuardianSetInfo {}, @@ -41,14 +41,14 @@ pub enum QueryMsg { QueryAddressHex { address: HumanAddr }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct GuardianSetInfoResponse { pub guardian_set_index: u32, // Current guardian set index pub addresses: Vec, // List of querdian addresses } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct WrappedRegistryResponse { pub address: HumanAddr, @@ -60,7 +60,7 @@ pub struct GetStateResponse { pub fee: Coin, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct GetAddressHexResponse { pub hex: String, diff --git a/cosmwasm/contracts/wormhole/src/state.rs b/cosmwasm/contracts/wormhole/src/state.rs index aff55e6dd..20390eb28 100644 --- a/cosmwasm/contracts/wormhole/src/state.rs +++ b/cosmwasm/contracts/wormhole/src/state.rs @@ -72,7 +72,7 @@ pub struct ConfigInfo { } // Validator Action Approval(VAA) data -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ParsedVAA { pub version: u8, pub guardian_set_index: u32, @@ -185,7 +185,7 @@ impl ParsedVAA { } // Guardian address -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct GuardianAddress { pub bytes: Binary, // 20-byte addresses } @@ -203,7 +203,7 @@ impl GuardianAddress { } // Guardian set information -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct GuardianSetInfo { pub addresses: Vec, // List of guardian addresses @@ -221,7 +221,7 @@ impl GuardianSetInfo { } // Wormhole contract generic information -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WormholeInfo { // Period for which a guardian set stays active after it has been replaced pub guardian_set_expirity: u64, @@ -258,8 +258,7 @@ pub fn sequence_set(storage: &mut dyn Storage, emitter: &[u8], sequence: u64) -> pub fn sequence_read(storage: &dyn Storage, emitter: &[u8]) -> u64 { bucket_read(storage, SEQUENCE_KEY) .load(emitter) - .or::(Ok(0)) - .unwrap() + .unwrap_or(0) } pub fn vaa_archive_add(storage: &mut dyn Storage, hash: &[u8]) -> StdResult<()> { @@ -269,8 +268,7 @@ pub fn vaa_archive_add(storage: &mut dyn Storage, hash: &[u8]) -> StdResult<()> pub fn vaa_archive_check(storage: &dyn Storage, hash: &[u8]) -> bool { bucket_read(storage, GUARDIAN_SET_KEY) .load(hash) - .or::(Ok(false)) - .unwrap() + .unwrap_or(false) } pub fn wrapped_asset(storage: &mut dyn Storage) -> Bucket { diff --git a/cosmwasm/contracts/wormhole/tests/integration.rs b/cosmwasm/contracts/wormhole/tests/integration.rs index ccf034db2..c02e99448 100644 --- a/cosmwasm/contracts/wormhole/tests/integration.rs +++ b/cosmwasm/contracts/wormhole/tests/integration.rs @@ -11,8 +11,6 @@ use wormhole::{ state::{ConfigInfo, GuardianAddress, GuardianSetInfo, CONFIG_KEY}, }; -use hex; - static INITIALIZER: &str = "initializer"; static GOV_ADDR: &[u8] = b"GOVERNANCE_ADDRESS"; @@ -58,10 +56,10 @@ fn do_init(guardians: &[GuardianAddress]) -> OwnedDeps