From f68466447299d8574ec84ea2f183d8dc555b8f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Fri, 6 May 2022 15:28:57 +0200 Subject: [PATCH] Removed an 'expect' in mixnet contract query (#1257) * Removed an 'expect' in mixnet contract query * Updated changelog --- CHANGELOG.md | 5 +++++ contracts/mixnet/src/rewards/queries.rs | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c60aac327d..adbebadd5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,13 @@ - validator-api: add Swagger to document the REST API ([#1249]). - all: added network compilation target to `--help` (or `--version`) commands ([#1256]). +### Fixed + +- mixnet-contract: removed `expect` in `query_delegator_reward` and queries containing invalid proxy address should now return a more human-readable error ([#1257]) + [#1249]: https://github.com/nymtech/nym/pull/1249 [#1256]: https://github.com/nymtech/nym/pull/1256 +[#1257]: https://github.com/nymtech/nym/pull/1257 ## [nym-wallet-v1.0.4](https://github.com/nymtech/nym/tree/nym-wallet-v1.0.4) (2022-05-04) diff --git a/contracts/mixnet/src/rewards/queries.rs b/contracts/mixnet/src/rewards/queries.rs index 0b29580914..14329cdb8c 100644 --- a/contracts/mixnet/src/rewards/queries.rs +++ b/contracts/mixnet/src/rewards/queries.rs @@ -48,12 +48,15 @@ pub fn query_delegator_reward( mix_identity: IdentityKey, proxy: Option, ) -> Result { - let proxy = proxy.map(|p| { - deps.api - .addr_validate(&p) - .map_err(|_| ContractError::InvalidAddress(p)) - .expect("proxy address is invalid") - }); + let proxy = match proxy { + Some(proxy) => Some( + deps.api + .addr_validate(&proxy) + .map_err(|_| ContractError::InvalidAddress(proxy))?, + ), + None => None, + }; + let key = mixnet_contract_common::delegation::generate_storage_key( &deps.api.addr_validate(&owner)?, proxy.as_ref(),