Skip to content

Commit 960fc2c

Browse files
committed
Remove BankQuery::AllBalances, AllBalanceResponse and query_all_balances
1 parent 3f0ee5c commit 960fc2c

File tree

9 files changed

+27
-159
lines changed

9 files changed

+27
-159
lines changed

packages/go-gen/src/main.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,6 @@ mod tests {
339339
// bank
340340
compare_codes!(cosmwasm_std::SupplyResponse);
341341
compare_codes!(cosmwasm_std::BalanceResponse);
342-
// compare_codes!(cosmwasm_std::AllBalanceResponse); // has different name in wasmvm
343342
compare_codes!(cosmwasm_std::DenomMetadataResponse);
344343
// compare_codes!(cosmwasm_std::AllDenomMetadataResponse); // uses `[]byte` instead of `*[]byte`
345344
// staking

packages/std/src/lib.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ pub use crate::msgpack::{from_msgpack, to_msgpack_binary, to_msgpack_vec};
9090
pub use crate::never::Never;
9191
pub use crate::pagination::PageRequest;
9292
pub use crate::query::{
93-
AllBalanceResponse, AllDelegationsResponse, AllDenomMetadataResponse, AllValidatorsResponse,
94-
BalanceResponse, BankQuery, BondedDenomResponse, ChannelResponse, CodeInfoResponse,
95-
ContractInfoResponse, CustomQuery, DecCoin, Delegation, DelegationResponse,
96-
DelegationRewardsResponse, DelegationTotalRewardsResponse, DelegatorReward,
97-
DelegatorValidatorsResponse, DelegatorWithdrawAddressResponse, DenomMetadataResponse,
98-
DistributionQuery, FeeEnabledChannelResponse, FullDelegation, GrpcQuery, IbcQuery,
99-
ListChannelsResponse, PortIdResponse, QueryRequest, StakingQuery, SupplyResponse, Validator,
100-
ValidatorResponse, WasmQuery,
93+
AllDelegationsResponse, AllDenomMetadataResponse, AllValidatorsResponse, BalanceResponse,
94+
BankQuery, BondedDenomResponse, ChannelResponse, CodeInfoResponse, ContractInfoResponse,
95+
CustomQuery, DecCoin, Delegation, DelegationResponse, DelegationRewardsResponse,
96+
DelegationTotalRewardsResponse, DelegatorReward, DelegatorValidatorsResponse,
97+
DelegatorWithdrawAddressResponse, DenomMetadataResponse, DistributionQuery,
98+
FeeEnabledChannelResponse, FullDelegation, GrpcQuery, IbcQuery, ListChannelsResponse,
99+
PortIdResponse, QueryRequest, StakingQuery, SupplyResponse, Validator, ValidatorResponse,
100+
WasmQuery,
101101
};
102102
#[cfg(all(feature = "stargate", feature = "cosmwasm_1_2"))]
103103
pub use crate::results::WeightedVoteOption;

packages/std/src/query/bank.rs

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ pub enum BankQuery {
2222
/// This calls into the native bank module for one denomination
2323
/// Return value is BalanceResponse
2424
Balance { address: String, denom: String },
25-
/// This calls into the native bank module for all denominations.
26-
/// Note that this may be much more expensive than Balance and should be avoided if possible.
27-
/// Return value is AllBalanceResponse.
28-
#[deprecated = "Returns a potentially unbound number of results. If you think you have a valid usecase, please open an issue."]
29-
AllBalances { address: String },
3025
/// This calls into the native bank module for querying metadata for a specific bank token.
3126
/// Return value is DenomMetadataResponse
3227
#[cfg(feature = "cosmwasm_1_3")]
@@ -63,18 +58,6 @@ impl_response_constructor!(BalanceResponse, amount: Coin);
6358

6459
impl QueryResponseType for BalanceResponse {}
6560

66-
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
67-
#[serde(rename_all = "snake_case")]
68-
#[non_exhaustive]
69-
pub struct AllBalanceResponse {
70-
/// Returns all non-zero coins held by this account.
71-
pub amount: Vec<Coin>,
72-
}
73-
74-
impl_response_constructor!(AllBalanceResponse, amount: Vec<Coin>);
75-
76-
impl QueryResponseType for AllBalanceResponse {}
77-
7861
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
7962
#[serde(rename_all = "snake_case")]
8063
#[non_exhaustive]
@@ -110,11 +93,11 @@ mod tests {
11093

11194
#[test]
11295
fn private_constructor_works() {
113-
let response = AllBalanceResponse::new(vec![Coin::new(1234u128, "uatom")]);
96+
let response = BalanceResponse::new(Coin::new(1234u128, "uatom"));
11497
assert_eq!(
11598
response,
116-
AllBalanceResponse {
117-
amount: vec![Coin::new(1234u128, "uatom")]
99+
BalanceResponse {
100+
amount: Coin::new(1234u128, "uatom")
118101
}
119102
);
120103
}

packages/std/src/testing/mock.rs

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,12 @@ use crate::ibc::{
2727
use crate::ibc2::{Ibc2PacketReceiveMsg, Ibc2Payload};
2828
#[cfg(feature = "cosmwasm_1_1")]
2929
use crate::query::SupplyResponse;
30-
use crate::query::{
31-
AllBalanceResponse, BalanceResponse, BankQuery, CustomQuery, QueryRequest, WasmQuery,
32-
};
3330
#[cfg(feature = "staking")]
3431
use crate::query::{
3532
AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, DelegationResponse,
3633
FullDelegation, StakingQuery, Validator, ValidatorResponse,
3734
};
35+
use crate::query::{BalanceResponse, BankQuery, CustomQuery, QueryRequest, WasmQuery};
3836
#[cfg(feature = "cosmwasm_1_3")]
3937
use crate::query::{DelegatorWithdrawAddressResponse, DistributionQuery};
4038
use crate::results::{ContractResult, Empty, SystemResult};
@@ -831,14 +829,6 @@ impl BankQuerier {
831829
};
832830
to_json_binary(&bank_res).into()
833831
}
834-
#[allow(deprecated)]
835-
BankQuery::AllBalances { address } => {
836-
// proper error on not found, serialize result on found
837-
let bank_res = AllBalanceResponse {
838-
amount: self.balances.get(address).cloned().unwrap_or_default(),
839-
};
840-
to_json_binary(&bank_res).into()
841-
}
842832
#[cfg(feature = "cosmwasm_1_3")]
843833
BankQuery::DenomMetadata { denom } => {
844834
let denom_metadata = self.denom_metadata.get(denom.as_bytes());
@@ -1861,21 +1851,6 @@ mod tests {
18611851
assert_eq!(res.amount, coin(0, "ATOM"));
18621852
}
18631853

1864-
#[test]
1865-
#[allow(deprecated)]
1866-
fn bank_querier_all_balances() {
1867-
let addr = String::from("foobar");
1868-
let balance = vec![coin(123, "ELF"), coin(777, "FLY")];
1869-
let bank = BankQuerier::new(&[(&addr, &balance)]);
1870-
1871-
let all = bank
1872-
.query(&BankQuery::AllBalances { address: addr })
1873-
.unwrap()
1874-
.unwrap();
1875-
let res: AllBalanceResponse = from_json(all).unwrap();
1876-
assert_eq!(&res.amount, &balance);
1877-
}
1878-
18791854
#[test]
18801855
fn bank_querier_one_balance() {
18811856
let addr = String::from("foobar");
@@ -1912,16 +1887,6 @@ mod tests {
19121887
let balance = vec![coin(123, "ELF"), coin(777, "FLY")];
19131888
let bank = BankQuerier::new(&[(&addr, &balance)]);
19141889

1915-
// all balances on empty account is empty vec
1916-
let all = bank
1917-
.query(&BankQuery::AllBalances {
1918-
address: String::from("elsewhere"),
1919-
})
1920-
.unwrap()
1921-
.unwrap();
1922-
let res: AllBalanceResponse = from_json(all).unwrap();
1923-
assert_eq!(res.amount, vec![]);
1924-
19251890
// any denom on balances on empty account is empty coin
19261891
let miss = bank
19271892
.query(&BankQuery::Balance {

packages/std/src/traits.rs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ use crate::prelude::*;
1111
use crate::query::CodeInfoResponse;
1212
#[cfg(feature = "cosmwasm_1_1")]
1313
use crate::query::SupplyResponse;
14-
use crate::query::{
15-
AllBalanceResponse, BalanceResponse, BankQuery, CustomQuery, QueryRequest, WasmQuery,
16-
};
1714
#[cfg(feature = "staking")]
1815
use crate::query::{
1916
AllDelegationsResponse, AllValidatorsResponse, BondedDenomResponse, Delegation,
@@ -24,6 +21,7 @@ use crate::query::{
2421
AllDenomMetadataResponse, DelegatorWithdrawAddressResponse, DenomMetadataResponse,
2522
DistributionQuery,
2623
};
24+
use crate::query::{BalanceResponse, BankQuery, CustomQuery, QueryRequest, WasmQuery};
2725
use crate::results::{ContractResult, Empty, SystemResult};
2826
use crate::ContractInfoResponse;
2927
use crate::{from_json, to_json_binary, to_json_vec, Binary};
@@ -434,17 +432,6 @@ impl<'a, C: CustomQuery> QuerierWrapper<'a, C> {
434432
Ok(res.amount)
435433
}
436434

437-
#[deprecated]
438-
pub fn query_all_balances(&self, address: impl Into<String>) -> StdResult<Vec<Coin>> {
439-
#[allow(deprecated)]
440-
let request = BankQuery::AllBalances {
441-
address: address.into(),
442-
}
443-
.into();
444-
let res: AllBalanceResponse = self.query(&request)?;
445-
Ok(res.amount)
446-
}
447-
448435
#[cfg(feature = "cosmwasm_1_3")]
449436
pub fn query_delegator_withdraw_address(
450437
&self,
@@ -721,10 +708,6 @@ mod tests {
721708

722709
let balance = wrapper.query_balance("foo", "ELF").unwrap();
723710
assert_eq!(balance, coin(123, "ELF"));
724-
725-
#[allow(deprecated)]
726-
let all_balances = wrapper.query_all_balances("foo").unwrap();
727-
assert_eq!(all_balances, vec![coin(123, "ELF"), coin(777, "FLY")]);
728711
}
729712

730713
#[test]

packages/vm/src/environment.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ mod tests {
556556
use crate::testing::{MockApi, MockQuerier, MockStorage};
557557
use crate::wasm_backend::{compile, make_compiling_engine};
558558
use cosmwasm_std::{
559-
coins, from_json, to_json_vec, AllBalanceResponse, BankQuery, Empty, QueryRequest,
559+
coin, coins, from_json, to_json_vec, BalanceResponse, BankQuery, Empty, QueryRequest,
560560
};
561561
use wasmer::{imports, Function, Instance as WasmerInstance, Store};
562562

@@ -994,8 +994,9 @@ mod tests {
994994

995995
let res = env
996996
.with_querier_from_context::<_, _>(|querier| {
997-
let req: QueryRequest<Empty> = QueryRequest::Bank(BankQuery::AllBalances {
997+
let req: QueryRequest<Empty> = QueryRequest::Bank(BankQuery::Balance {
998998
address: INIT_ADDR.to_string(),
999+
denom: INIT_DENOM.to_string(),
9991000
});
10001001
let (result, _gas_info) =
10011002
querier.query_raw(&to_json_vec(&req).unwrap(), DEFAULT_QUERY_GAS_LIMIT);
@@ -1004,9 +1005,9 @@ mod tests {
10041005
.unwrap()
10051006
.unwrap()
10061007
.unwrap();
1007-
let balance: AllBalanceResponse = from_json(res).unwrap();
1008+
let balance: BalanceResponse = from_json(res).unwrap();
10081009

1009-
assert_eq!(balance.amount, coins(INIT_AMOUNT, INIT_DENOM));
1010+
assert_eq!(balance.amount, coin(INIT_AMOUNT, INIT_DENOM));
10101011
}
10111012

10121013
#[test]

packages/vm/src/imports.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,8 +1015,8 @@ fn to_low_half(data: u32) -> u64 {
10151015
mod tests {
10161016
use super::*;
10171017
use cosmwasm_std::{
1018-
coins, from_json, AllBalanceResponse, BankQuery, Binary, Empty, QueryRequest, SystemError,
1019-
SystemResult, WasmQuery,
1018+
coin, coins, from_json, BalanceResponse, BankQuery, Binary, Empty, QueryRequest,
1019+
SystemError, SystemResult, WasmQuery,
10201020
};
10211021
use hex_literal::hex;
10221022
use std::ptr::NonNull;
@@ -2608,8 +2608,9 @@ mod tests {
26082608
let (fe, mut store, _instance) = make_instance(api);
26092609
let mut fe_mut = fe.into_mut(&mut store);
26102610

2611-
let request: QueryRequest<Empty> = QueryRequest::Bank(BankQuery::AllBalances {
2611+
let request: QueryRequest<Empty> = QueryRequest::Bank(BankQuery::Balance {
26122612
address: INIT_ADDR.to_string(),
2613+
denom: INIT_DENOM.to_string(),
26132614
});
26142615
let request_data = cosmwasm_std::to_json_vec(&request).unwrap();
26152616
let request_ptr = write_data(&mut fe_mut, &request_data);
@@ -2622,8 +2623,8 @@ mod tests {
26222623
let query_result: cosmwasm_std::QuerierResult = cosmwasm_std::from_json(response).unwrap();
26232624
let query_result_inner = query_result.unwrap();
26242625
let query_result_inner_inner = query_result_inner.unwrap();
2625-
let parsed_again: AllBalanceResponse = from_json(query_result_inner_inner).unwrap();
2626-
assert_eq!(parsed_again.amount, coins(INIT_AMOUNT, INIT_DENOM));
2626+
let parsed_again: BalanceResponse = from_json(query_result_inner_inner).unwrap();
2627+
assert_eq!(parsed_again.amount, coin(INIT_AMOUNT, INIT_DENOM));
26272628
}
26282629

26292630
#[test]

packages/vm/src/instance.rs

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,7 @@ mod tests {
541541
mock_instance_with_balances, mock_instance_with_failing_api, mock_instance_with_gas_limit,
542542
mock_instance_with_options, MockInstanceOptions,
543543
};
544-
use cosmwasm_std::{
545-
coin, coins, from_json, AllBalanceResponse, BalanceResponse, BankQuery, Empty, QueryRequest,
546-
};
544+
use cosmwasm_std::{coin, coins, from_json, BalanceResponse, BankQuery, Empty, QueryRequest};
547545
use wasmer::FunctionEnvMut;
548546

549547
const KIB: usize = 1024;
@@ -1005,31 +1003,6 @@ mod tests {
10051003
Ok(())
10061004
})
10071005
.unwrap();
1008-
1009-
// query all
1010-
instance
1011-
.with_querier(|querier| {
1012-
let response = querier
1013-
.query::<Empty>(
1014-
&QueryRequest::Bank(BankQuery::AllBalances {
1015-
address: rich_addr.clone(),
1016-
}),
1017-
DEFAULT_QUERY_GAS_LIMIT,
1018-
)
1019-
.0
1020-
.unwrap()
1021-
.unwrap()
1022-
.unwrap();
1023-
let AllBalanceResponse { amount, .. } = from_json(response).unwrap();
1024-
assert_eq!(amount.len(), 2);
1025-
assert_eq!(amount[0].amount.u128(), 10000);
1026-
assert_eq!(amount[0].denom, "gold");
1027-
assert_eq!(amount[1].amount.u128(), 8000);
1028-
assert_eq!(amount[1].denom, "silver");
1029-
1030-
Ok(())
1031-
})
1032-
.unwrap();
10331006
}
10341007

10351008
/// This is needed for writing integration tests in which the balance of a contract changes over time.

packages/vm/src/testing/querier.rs

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ impl MockQuerier {
113113
#[cfg(test)]
114114
mod tests {
115115
use super::*;
116-
use cosmwasm_std::{coin, from_json, AllBalanceResponse, BalanceResponse, BankQuery};
116+
use cosmwasm_std::{coin, from_json, BalanceResponse, BankQuery};
117117

118118
const DEFAULT_QUERY_GAS_LIMIT: u64 = 300_000;
119119

@@ -132,28 +132,7 @@ mod tests {
132132
}
133133

134134
#[test]
135-
#[allow(deprecated)]
136-
fn bank_querier_all_balances() {
137-
let addr = String::from("foobar");
138-
let balance = vec![coin(123, "ELF"), coin(777, "FLY")];
139-
let querier = MockQuerier::new(&[(&addr, &balance)]);
140-
141-
// all
142-
let all = querier
143-
.query::<Empty>(
144-
&BankQuery::AllBalances { address: addr }.into(),
145-
DEFAULT_QUERY_GAS_LIMIT,
146-
)
147-
.0
148-
.unwrap()
149-
.unwrap()
150-
.unwrap();
151-
let res: AllBalanceResponse = from_json(all).unwrap();
152-
assert_eq!(&res.amount, &balance);
153-
}
154-
155-
#[test]
156-
fn bank_querier_one_balance() {
135+
fn bank_querier_balance() {
157136
let addr = String::from("foobar");
158137
let balance = vec![coin(123, "ELF"), coin(777, "FLY")];
159138
let querier = MockQuerier::new(&[(&addr, &balance)]);
@@ -200,22 +179,6 @@ mod tests {
200179
let balance = vec![coin(123, "ELF"), coin(777, "FLY")];
201180
let querier = MockQuerier::new(&[(&addr, &balance)]);
202181

203-
// all balances on empty account is empty vec
204-
let all = querier
205-
.query::<Empty>(
206-
&BankQuery::AllBalances {
207-
address: String::from("elsewhere"),
208-
}
209-
.into(),
210-
DEFAULT_QUERY_GAS_LIMIT,
211-
)
212-
.0
213-
.unwrap()
214-
.unwrap()
215-
.unwrap();
216-
let res: AllBalanceResponse = from_json(all).unwrap();
217-
assert_eq!(res.amount, vec![]);
218-
219182
// any denom on balances on empty account is empty coin
220183
let miss = querier
221184
.query::<Empty>(

0 commit comments

Comments
 (0)