Skip to content

Commit 76815ba

Browse files
committed
Rename BackendApi functions
1 parent 1ce73c6 commit 76815ba

File tree

4 files changed

+28
-29
lines changed

4 files changed

+28
-29
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ and this project adheres to
7878
`set_withdraw_address`, `set_withdraw_addresses`, `clear_withdraw_addresses`,
7979
`update_ibc` and `update_staking` from `MockQuerier` and expose the underlying
8080
queriers directly. ([#1977])
81+
- cosmwasm-vm: Rename `BackendApi::canonical_address`/`::human_address` to
82+
`::addr_canonicalize`/`::addr_humanize` for consistency.
8183

8284
[#1874]: https://github.com/CosmWasm/cosmwasm/pull/1874
8385
[#1876]: https://github.com/CosmWasm/cosmwasm/pull/1876

packages/vm/src/backend.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,9 @@ pub trait Storage {
165165
/// Currently it just supports address conversion, we could add eg. crypto functions here.
166166
/// These should all be pure (stateless) functions. If you need state, you probably want
167167
/// to use the Querier.
168-
///
169-
/// We can use feature flags to opt-in to non-essential methods
170-
/// for backwards compatibility in systems that don't have them all.
171168
pub trait BackendApi: Copy + Clone + Send {
172-
fn canonical_address(&self, human: &str) -> BackendResult<Vec<u8>>;
173-
fn human_address(&self, canonical: &[u8]) -> BackendResult<String>;
169+
fn addr_canonicalize(&self, human: &str) -> BackendResult<Vec<u8>>;
170+
fn addr_humanize(&self, canonical: &[u8]) -> BackendResult<String>;
174171
}
175172

176173
pub trait Querier {

packages/vm/src/imports.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ pub fn do_addr_validate<A: BackendApi + 'static, S: Storage + 'static, Q: Querie
162162
Err(_) => return write_to_contract(data, &mut store, b"Input is not valid UTF-8"),
163163
};
164164

165-
let (result, gas_info) = data.api.canonical_address(&source_string);
165+
let (result, gas_info) = data.api.addr_canonicalize(&source_string);
166166
process_gas_info(data, &mut store, gas_info)?;
167167
let canonical = match result {
168168
Ok(data) => data,
@@ -172,7 +172,7 @@ pub fn do_addr_validate<A: BackendApi + 'static, S: Storage + 'static, Q: Querie
172172
Err(err) => return Err(VmError::from(err)),
173173
};
174174

175-
let (result, gas_info) = data.api.human_address(&canonical);
175+
let (result, gas_info) = data.api.addr_humanize(&canonical);
176176
process_gas_info(data, &mut store, gas_info)?;
177177
let normalized = match result {
178178
Ok(addr) => addr,
@@ -206,7 +206,7 @@ pub fn do_addr_canonicalize<A: BackendApi + 'static, S: Storage + 'static, Q: Qu
206206
Err(_) => return write_to_contract(data, &mut store, b"Input is not valid UTF-8"),
207207
};
208208

209-
let (result, gas_info) = data.api.canonical_address(&source_string);
209+
let (result, gas_info) = data.api.addr_canonicalize(&source_string);
210210
process_gas_info(data, &mut store, gas_info)?;
211211
match result {
212212
Ok(canonical) => {
@@ -233,7 +233,7 @@ pub fn do_addr_humanize<A: BackendApi + 'static, S: Storage + 'static, Q: Querie
233233
MAX_LENGTH_CANONICAL_ADDRESS,
234234
)?;
235235

236-
let (result, gas_info) = data.api.human_address(&canonical);
236+
let (result, gas_info) = data.api.addr_humanize(&canonical);
237237
process_gas_info(data, &mut store, gas_info)?;
238238
match result {
239239
Ok(human) => {

packages/vm/src/testing/mock.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ impl Default for MockApi {
125125
}
126126

127127
impl BackendApi for MockApi {
128-
fn canonical_address(&self, input: &str) -> BackendResult<Vec<u8>> {
128+
fn addr_canonicalize(&self, input: &str) -> BackendResult<Vec<u8>> {
129129
let gas_info = GasInfo::with_cost(GAS_COST_CANONICALIZE);
130130

131131
// handle error case
@@ -156,7 +156,7 @@ impl BackendApi for MockApi {
156156
}
157157
}
158158

159-
fn human_address(&self, canonical: &[u8]) -> BackendResult<String> {
159+
fn addr_humanize(&self, canonical: &[u8]) -> BackendResult<String> {
160160
let gas_info = GasInfo::with_cost(GAS_COST_HUMANIZE);
161161

162162
// handle error case
@@ -232,20 +232,20 @@ mod tests {
232232
}
233233

234234
#[test]
235-
fn canonical_address_works() {
235+
fn addr_canonicalize_works() {
236236
let api = MockApi::default().with_prefix("osmo");
237237

238-
api.canonical_address("osmo186kh7c0k0gh4ww0wh4jqc4yhzu7n7dhswe845d")
238+
api.addr_canonicalize("osmo186kh7c0k0gh4ww0wh4jqc4yhzu7n7dhswe845d")
239239
.0
240240
.unwrap();
241241

242242
// is case insensitive
243243
let data1 = api
244-
.canonical_address("osmo186kh7c0k0gh4ww0wh4jqc4yhzu7n7dhswe845d")
244+
.addr_canonicalize("osmo186kh7c0k0gh4ww0wh4jqc4yhzu7n7dhswe845d")
245245
.0
246246
.unwrap();
247247
let data2 = api
248-
.canonical_address("OSMO186KH7C0K0GH4WW0WH4JQC4YHZU7N7DHSWE845D")
248+
.addr_canonicalize("OSMO186KH7C0K0GH4WW0WH4JQC4YHZU7N7DHSWE845D")
249249
.0
250250
.unwrap();
251251
assert_eq!(data1, data2);
@@ -257,56 +257,56 @@ mod tests {
257257

258258
// simple
259259
let original = api.addr_make("shorty");
260-
let canonical = api.canonical_address(&original).0.unwrap();
261-
let (recovered, _gas_cost) = api.human_address(&canonical);
260+
let canonical = api.addr_canonicalize(&original).0.unwrap();
261+
let (recovered, _gas_cost) = api.addr_humanize(&canonical);
262262
assert_eq!(recovered.unwrap(), original);
263263

264264
// normalizes input
265265
let original = "JUNO1MEPRU9FUQ4E65856ARD6068MFSFRWPGEMD0C3R";
266-
let canonical = api.canonical_address(original).0.unwrap();
267-
let recovered = api.human_address(&canonical).0.unwrap();
266+
let canonical = api.addr_canonicalize(original).0.unwrap();
267+
let recovered = api.addr_humanize(&canonical).0.unwrap();
268268
assert_eq!(recovered, original.to_lowercase());
269269

270270
// Long input (Juno contract address)
271271
let original =
272272
String::from("juno1v82su97skv6ucfqvuvswe0t5fph7pfsrtraxf0x33d8ylj5qnrysdvkc95");
273-
let canonical = api.canonical_address(&original).0.unwrap();
274-
let recovered = api.human_address(&canonical).0.unwrap();
273+
let canonical = api.addr_canonicalize(&original).0.unwrap();
274+
let recovered = api.addr_humanize(&canonical).0.unwrap();
275275
assert_eq!(recovered, original);
276276
}
277277

278278
#[test]
279-
fn human_address_input_length() {
279+
fn addr_humanize_input_length() {
280280
let api = MockApi::default();
281281
let input = vec![61; 256]; // too long
282-
let (result, _gas_info) = api.human_address(&input);
282+
let (result, _gas_info) = api.addr_humanize(&input);
283283
match result.unwrap_err() {
284284
BackendError::UserErr { .. } => {}
285285
err => panic!("Unexpected error: {err:?}"),
286286
}
287287
}
288288

289289
#[test]
290-
fn canonical_address_min_input_length() {
290+
fn addr_canonicalize_min_input_length() {
291291
let api = MockApi::default();
292292

293293
// empty address should fail
294294
let empty = "cosmwasm1pj90vm";
295295
assert!(matches!(api
296-
.canonical_address(empty)
296+
.addr_canonicalize(empty)
297297
.0
298298
.unwrap_err(),
299299
BackendError::UserErr { msg } if msg.contains("address length")));
300300
}
301301

302302
#[test]
303-
fn canonical_address_max_input_length() {
303+
fn addr_canonicalize_max_input_length() {
304304
let api = MockApi::default();
305305

306306
let too_long = "cosmwasm1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqehqqkz";
307307

308308
assert!(matches!(api
309-
.canonical_address(too_long)
309+
.addr_canonicalize(too_long)
310310
.0
311311
.unwrap_err(),
312312
BackendError::UserErr { msg } if msg.contains("address length")));
@@ -316,10 +316,10 @@ mod tests {
316316
fn colon_in_prefix_is_valid() {
317317
let mock_api = MockApi::default().with_prefix("did:com:");
318318
let bytes = mock_api
319-
.canonical_address("did:com:1jkf0kmeyefvyzpwf56m7sne2000ay53r6upttu")
319+
.addr_canonicalize("did:com:1jkf0kmeyefvyzpwf56m7sne2000ay53r6upttu")
320320
.0
321321
.unwrap();
322-
let humanized = mock_api.human_address(&bytes).0.unwrap();
322+
let humanized = mock_api.addr_humanize(&bytes).0.unwrap();
323323

324324
assert_eq!(
325325
humanized.as_str(),

0 commit comments

Comments
 (0)