diff --git a/Cargo.lock b/Cargo.lock index be506e8..027e005 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,15 +15,15 @@ dependencies = [ [[package]] name = "base16ct" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" -version = "0.13.1" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" [[package]] name = "base64ct" @@ -31,6 +31,12 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + [[package]] name = "block-buffer" version = "0.9.0" @@ -49,6 +55,12 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bnum" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab9008b6bb9fc80b5277f2fe481c09e828743d9151203e804583eb4c9e15b31d" + [[package]] name = "byteorder" version = "1.4.3" @@ -63,17 +75,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "cosmwasm-crypto" -version = "1.2.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fecd74d3a0041114110d1260f77fcb644c5d2403549b37096c44f0e643a5177" +checksum = "ad24bc9dae9aac5dc124b4560e3f7678729d701f1bf3cb11140703d91f247d31" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", + "ecdsa", "ed25519-zebra", "k256", "rand_core 0.6.4", @@ -82,18 +95,18 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "1.2.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5abeeb891e6d0098402e4d3d042f90451db52651d2fe14b170e69a1dd3e4115" +checksum = "ca65635b768406eabdd28ba015cc3f2f863ca5a2677a7dc4c237b8ee1298efb3" dependencies = [ - "syn", + "syn 1.0.107", ] [[package]] name = "cosmwasm-schema" -version = "1.2.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9118e36843df6648fd0a626c46438f87038f296ec750cef3832cafc483c483f9" +checksum = "77e2a6ce6dbcad572495fd9d9c1072793fe682aebfcc09752c3b0de3fa1814d7" dependencies = [ "cosmwasm-schema-derive", "schemars", @@ -104,22 +117,24 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "1.2.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78d6fc9854ac14e46cb69b0f396547893f93d2847aef975950ebbe73342324f3" +checksum = "904408dc6d73fd1d535c764a55370803cccf6b9be5af7423c4db8967058673f0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] name = "cosmwasm-std" -version = "1.2.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5034c772c1369b160731aa00bb81f93733ab2884928edd8d588733d607ac5af4" +checksum = "1ed4564772e5d779235f2d7353e3d66e37793065c3a5155a2978256bf4c5b7d5" dependencies = [ "base64", + "bech32", + "bnum", "cosmwasm-crypto", "cosmwasm-derive", "derivative", @@ -129,8 +144,8 @@ dependencies = [ "serde", "serde-json-wasm", "sha2 0.10.6", + "static_assertions", "thiserror", - "uint", ] [[package]] @@ -142,17 +157,11 @@ dependencies = [ "libc", ] -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - [[package]] name = "crypto-bigint" -version = "0.4.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -185,16 +194,16 @@ dependencies = [ [[package]] name = "cw-address-like" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b137a72f7ed4eaf591ec1bba7aedb062cde38ff08086276d8de6e37dc9b98621" +checksum = "451a4691083a88a3c0630a8a88799e9d4cd6679b7ce8ff22b8da2873ff31d380" dependencies = [ "cosmwasm-std", ] [[package]] name = "cw-asset" -version = "3.0.0" +version = "3.1.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -207,9 +216,9 @@ dependencies = [ [[package]] name = "cw-storage-plus" -version = "1.0.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053a5083c258acd68386734f428a5a171b29f7d733151ae83090c6fcc9417ffa" +checksum = "d5ff29294ee99373e2cd5fd21786a3c0ced99a52fec2ca347d565489c61b723c" dependencies = [ "cosmwasm-std", "schemars", @@ -246,9 +255,9 @@ dependencies = [ [[package]] name = "cw20" -version = "1.0.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91666da6c7b40c8dd5ff94df655a28114efc10c79b70b4d06f13c31e37d60609" +checksum = "526e39bb20534e25a1cd0386727f0038f4da294e5e535729ba3ef54055246abd" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -259,9 +268,9 @@ dependencies = [ [[package]] name = "der" -version = "0.6.1" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "zeroize", @@ -275,7 +284,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] @@ -289,11 +298,12 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.3", + "const-oid", "crypto-common", "subtle", ] @@ -306,14 +316,16 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.14.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", + "digest 0.10.7", "elliptic-curve", "rfc6979", "signature", + "spki", ] [[package]] @@ -333,14 +345,13 @@ dependencies = [ [[package]] name = "elliptic-curve" -version = "0.12.3" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", - "der", - "digest 0.10.6", + "digest 0.10.7", "ff", "generic-array", "group", @@ -353,9 +364,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", "subtle", @@ -375,6 +386,7 @@ checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -390,9 +402,9 @@ dependencies = [ [[package]] name = "group" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", @@ -420,7 +432,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -431,14 +443,16 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "k256" -version = "0.11.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", + "once_cell", "sha2 0.10.6", + "signature", ] [[package]] @@ -449,9 +463,9 @@ checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "once_cell" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -461,9 +475,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "pkcs8" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", "spki", @@ -471,18 +485,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.23" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -504,13 +518,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "crypto-bigint", "hmac", - "zeroize", + "subtle", ] [[package]] @@ -521,9 +534,9 @@ checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "schemars" -version = "0.8.11" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a5fb6c61f29e723026dc8e923d94c694313212abbecbbe5f55a7748eec5b307" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" dependencies = [ "dyn-clone", "schemars_derive", @@ -533,21 +546,21 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.11" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f188d036977451159430f3b8dc82ec76364a42b7e289c2b18a9a18f4470058e9" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn", + "syn 1.0.107", ] [[package]] name = "sec1" -version = "0.3.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e" dependencies = [ "base16ct", "der", @@ -565,9 +578,9 @@ checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] @@ -583,13 +596,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.48", ] [[package]] @@ -600,7 +613,7 @@ checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] @@ -635,24 +648,24 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "signature" -version = "1.6.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] [[package]] name = "spki" -version = "0.6.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", @@ -681,24 +694,35 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.48", ] [[package]] @@ -707,18 +731,6 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - [[package]] name = "unicode-ident" version = "1.0.6" @@ -739,6 +751,6 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "zeroize" -version = "1.5.7" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/Cargo.toml b/Cargo.toml index 8d0cd5d..3c04448 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,19 +1,19 @@ [package] name = "cw-asset" description = "Helper library for interacting with Cosmos assets (native coins and CW20 tokens)" -version = "3.0.0" +version = "3.1.0" authors = ["Larry Engineer "] edition = "2021" license = "GPL-3.0-or-later" repository = "https://github.com/mars-protocol/cw-asset" [dependencies] -cosmwasm-schema = "1.2" -cosmwasm-std = "1.2" -cw20 = "1.0" -cw-address-like = "1" -cw-storage-plus = "1.0" -thiserror = "1" +cosmwasm-schema = "1.5.0" +cosmwasm-std = "1.5.0" +cw20 = "1.1.2" +cw-address-like = "1.0.4" +cw-storage-plus = "1.2.0" +thiserror = "1.0.56" [dev-dependencies] -serde = { version = "1.0", default-features = false, features = ["derive"] } +serde = { version = "1.0.195", default-features = false, features = ["derive"] } diff --git a/src/asset.rs b/src/asset.rs index 4771354..69424ce 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -1,7 +1,7 @@ use std::{convert::TryFrom, fmt, str::FromStr}; use cosmwasm_schema::cw_serde; -use cosmwasm_std::{to_binary, Addr, Api, BankMsg, Binary, Coin, CosmosMsg, Uint128, WasmMsg}; +use cosmwasm_std::{to_json_binary, Addr, Api, BankMsg, Binary, Coin, CosmosMsg, Uint128, WasmMsg}; use cw20::Cw20ExecuteMsg; use cw_address_like::AddressLike; @@ -259,7 +259,7 @@ impl Asset { /// MockCommand {}, /// } /// - /// use cosmwasm_std::{to_binary, Addr, Response}; + /// use cosmwasm_std::{to_json_binary, Addr, Response}; /// use cw_asset::{Asset, AssetError}; /// /// fn send_asset( @@ -267,18 +267,16 @@ impl Asset { /// contract_addr: &Addr, /// msg: &MockReceiveMsg, /// ) -> Result { - /// let msg = asset.send_msg(contract_addr, to_binary(msg)?)?; + /// let msg = asset.send_msg(contract_addr, to_json_binary(msg)?)?; /// - /// Ok(Response::new() - /// .add_message(msg) - /// .add_attribute("asset_sent", asset.to_string())) + /// Ok(Response::new().add_message(msg).add_attribute("asset_sent", asset.to_string())) /// } /// ``` pub fn send_msg>(&self, to: A, msg: Binary) -> Result { match &self.info { AssetInfo::Cw20(contract_addr) => Ok(CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: contract_addr.into(), - msg: to_binary(&Cw20ExecuteMsg::Send { + msg: to_json_binary(&Cw20ExecuteMsg::Send { contract: to.into(), amount: self.amount, msg, @@ -301,9 +299,7 @@ impl Asset { /// fn transfer_asset(asset: &Asset, recipient_addr: &Addr) -> Result { /// let msg = asset.transfer_msg(recipient_addr)?; /// - /// Ok(Response::new() - /// .add_message(msg) - /// .add_attribute("asset_sent", asset.to_string())) + /// Ok(Response::new().add_message(msg).add_attribute("asset_sent", asset.to_string())) /// } /// ``` pub fn transfer_msg>(&self, to: A) -> Result { @@ -317,7 +313,7 @@ impl Asset { })), AssetInfo::Cw20(contract_addr) => Ok(CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: contract_addr.into(), - msg: to_binary(&Cw20ExecuteMsg::Transfer { + msg: to_json_binary(&Cw20ExecuteMsg::Transfer { recipient: to.into(), amount: self.amount, })?, @@ -344,9 +340,7 @@ impl Asset { /// ) -> Result { /// let msg = asset.transfer_from_msg(user_addr, contract_addr)?; /// - /// Ok(Response::new() - /// .add_message(msg) - /// .add_attribute("asset_drawn", asset.to_string())) + /// Ok(Response::new().add_message(msg).add_attribute("asset_drawn", asset.to_string())) /// } /// ``` pub fn transfer_from_msg, B: Into>( @@ -357,7 +351,7 @@ impl Asset { match &self.info { AssetInfo::Cw20(contract_addr) => Ok(CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: contract_addr.into(), - msg: to_binary(&Cw20ExecuteMsg::TransferFrom { + msg: to_json_binary(&Cw20ExecuteMsg::TransferFrom { owner: from.into(), recipient: to.into(), amount: self.amount, @@ -601,16 +595,16 @@ mod tests { let token = Asset::cw20(Addr::unchecked("mock_token"), 123456u128); let coin = Asset::native("uusd", 123456u128); - let bin_msg = to_binary(&MockExecuteMsg::MockCommand {}).unwrap(); + let bin_msg = to_json_binary(&MockExecuteMsg::MockCommand {}).unwrap(); let msg = token.send_msg("mock_contract", bin_msg.clone()).unwrap(); assert_eq!( msg, CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: String::from("mock_token"), - msg: to_binary(&Cw20ExecuteMsg::Send { + msg: to_json_binary(&Cw20ExecuteMsg::Send { contract: String::from("mock_contract"), amount: Uint128::new(123456), - msg: to_binary(&MockExecuteMsg::MockCommand {}).unwrap() + msg: to_json_binary(&MockExecuteMsg::MockCommand {}).unwrap() }) .unwrap(), funds: vec![] @@ -630,7 +624,7 @@ mod tests { msg, CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: String::from("mock_token"), - msg: to_binary(&Cw20ExecuteMsg::Transfer { + msg: to_json_binary(&Cw20ExecuteMsg::Transfer { recipient: String::from("alice"), amount: Uint128::new(123456) }) @@ -653,7 +647,7 @@ mod tests { msg, CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: String::from("mock_token"), - msg: to_binary(&Cw20ExecuteMsg::TransferFrom { + msg: to_json_binary(&Cw20ExecuteMsg::TransferFrom { owner: String::from("bob"), recipient: String::from("charlie"), amount: Uint128::new(123456) diff --git a/src/asset_info.rs b/src/asset_info.rs index e137e80..4decaab 100644 --- a/src/asset_info.rs +++ b/src/asset_info.rs @@ -2,7 +2,7 @@ use std::{any::type_name, fmt, str::FromStr}; use cosmwasm_schema::cw_serde; use cosmwasm_std::{ - to_binary, Addr, Api, BalanceResponse, BankQuery, QuerierWrapper, QueryRequest, StdError, + to_json_binary, Addr, Api, BalanceResponse, BankQuery, QuerierWrapper, QueryRequest, StdError, StdResult, Uint128, WasmQuery, }; use cw20::{BalanceResponse as Cw20BalanceResponse, Cw20QueryMsg}; @@ -204,7 +204,7 @@ impl AssetInfo { let response: Cw20BalanceResponse = querier.query(&QueryRequest::Wasm(WasmQuery::Smart { contract_addr: contract_addr.into(), - msg: to_binary(&Cw20QueryMsg::Balance { + msg: to_json_binary(&Cw20QueryMsg::Balance { address: address.into(), })?, }))?; diff --git a/src/asset_list.rs b/src/asset_list.rs index f281683..b1a1acc 100644 --- a/src/asset_list.rs +++ b/src/asset_list.rs @@ -33,11 +33,7 @@ impl FromStr for AssetListUnchecked { return Ok(Self(vec![])); } - s - .split(',') - .map(AssetUnchecked::from_str) - .collect::>() - .map(Self) + s.split(',').map(AssetUnchecked::from_str).collect::>().map(Self) } } @@ -84,11 +80,7 @@ impl fmt::Display for AssetList { let s = if self.is_empty() { "[]".to_string() } else { - self.0 - .iter() - .map(|asset| asset.to_string()) - .collect::>() - .join(",") + self.0.iter().map(|asset| asset.to_string()).collect::>().join(",") }; write!(f, "{s}") @@ -174,10 +166,8 @@ impl AssetList { /// ```rust /// use cw_asset::{Asset, AssetList}; /// - /// let list = AssetList::from(vec![ - /// Asset::native("uluna", 12345u128), - /// Asset::native("uusd", 67890u128), - /// ]); + /// let list = + /// AssetList::from(vec![Asset::native("uluna", 12345u128), Asset::native("uusd", 67890u128)]); /// /// let vec: Vec = list.to_vec(); /// ``` @@ -190,14 +180,11 @@ impl AssetList { /// ```rust /// use cw_asset::{Asset, AssetList}; /// - /// let list = AssetList::from(vec![ - /// Asset::native("uluna", 12345u128), - /// Asset::native("uusd", 67890u128), - /// ]); + /// let list = + /// AssetList::from(vec![Asset::native("uluna", 12345u128), Asset::native("uusd", 67890u128)]); /// /// let len = list.len(); // should be two /// ``` - /// // NOTE: I do have `is_empty` implemented, but clippy still throws a warnin // saying I don't have it. Must be a clippy bug... #[allow(clippy::len_without_is_empty)] @@ -252,10 +239,8 @@ impl AssetList { /// ```rust /// use cw_asset::{Asset, AssetInfo, AssetList}; /// - /// let mut list = AssetList::from(vec![ - /// Asset::native("uluna", 12345u128), - /// Asset::native("uusd", 67890u128), - /// ]); + /// let mut list = + /// AssetList::from(vec![Asset::native("uluna", 12345u128), Asset::native("uusd", 67890u128)]); /// /// let list_halved = list.apply(|a| a.amount = a.amount.multiply_ratio(1u128, 2u128)); /// ``` @@ -269,10 +254,8 @@ impl AssetList { /// ```rust /// use cw_asset::{Asset, AssetList}; /// - /// let mut list = AssetList::from(vec![ - /// Asset::native("uluna", 12345u128), - /// Asset::native("uusd", 0u128), - /// ]); + /// let mut list = + /// AssetList::from(vec![Asset::native("uluna", 12345u128), Asset::native("uusd", 0u128)]); /// let mut len = list.len(); // should be two /// /// list.purge(); @@ -429,25 +412,17 @@ impl AssetList { /// use cosmwasm_std::{Addr, Response}; /// use cw_asset::{AssetError, AssetList}; /// - /// fn transfer_assets( - /// list: &AssetList, - /// recipient_addr: &Addr, - /// ) -> Result { + /// fn transfer_assets(list: &AssetList, recipient_addr: &Addr) -> Result { /// let msgs = list.transfer_msgs(recipient_addr)?; /// - /// Ok(Response::new() - /// .add_messages(msgs) - /// .add_attribute("assets_sent", list.to_string())) + /// Ok(Response::new().add_messages(msgs).add_attribute("assets_sent", list.to_string())) /// } /// ``` pub fn transfer_msgs + Clone>( &self, to: A, ) -> Result, AssetError> { - self.0 - .iter() - .map(|asset| asset.transfer_msg(to.clone())) - .collect() + self.0.iter().map(|asset| asset.transfer_msg(to.clone())).collect() } } @@ -473,17 +448,14 @@ mod test_helpers { } pub fn mock_list() -> AssetList { - AssetList::from(vec![ - Asset::native("uusd", 69420u128), - Asset::new(mock_token(), 88888u128), - ]) + AssetList::from(vec![Asset::native("uusd", 69420u128), Asset::new(mock_token(), 88888u128)]) } } #[cfg(test)] mod tests { use cosmwasm_std::{ - testing::MockApi, to_binary, BankMsg, Coin, CosmosMsg, Decimal, OverflowError, + testing::MockApi, to_json_binary, BankMsg, Coin, CosmosMsg, Decimal, OverflowError, OverflowOperation, StdError, Uint128, WasmMsg, }; use cw20::Cw20ExecuteMsg; @@ -691,7 +663,7 @@ mod tests { }), CosmosMsg::Wasm(WasmMsg::Execute { contract_addr: String::from("mock_token"), - msg: to_binary(&Cw20ExecuteMsg::Transfer { + msg: to_json_binary(&Cw20ExecuteMsg::Transfer { recipient: String::from("alice"), amount: Uint128::new(88888) }) diff --git a/src/testing/custom_mock_querier.rs b/src/testing/custom_mock_querier.rs index 12715a7..378e2a9 100644 --- a/src/testing/custom_mock_querier.rs +++ b/src/testing/custom_mock_querier.rs @@ -1,6 +1,6 @@ use cosmwasm_std::{ - from_binary, from_slice, testing::MockQuerier, Addr, Coin, Empty, Querier, QuerierResult, - QueryRequest, StdResult, SystemError, WasmQuery, + from_json, testing::MockQuerier, Addr, Coin, Empty, Querier, QuerierResult, QueryRequest, + StdResult, SystemError, WasmQuery, }; use cw20::Cw20QueryMsg; @@ -22,7 +22,7 @@ impl Default for CustomMockQuerier { impl Querier for CustomMockQuerier { fn raw_query(&self, bin_request: &[u8]) -> QuerierResult { - let request: QueryRequest = match from_slice(bin_request) { + let request: QueryRequest = match from_json(bin_request) { Ok(v) => v, Err(e) => { return Err(SystemError::InvalidRequest { @@ -45,7 +45,7 @@ impl CustomMockQuerier { }) => { let contract_addr = Addr::unchecked(contract_addr); - let parse_cw20_query: StdResult = from_binary(msg); + let parse_cw20_query: StdResult = from_json(msg); if let Ok(cw20_query) = parse_cw20_query { return self.cw20_querier.handle_query(&contract_addr, cw20_query); } diff --git a/src/testing/cw20_querier.rs b/src/testing/cw20_querier.rs index 8a0c323..9c920b9 100644 --- a/src/testing/cw20_querier.rs +++ b/src/testing/cw20_querier.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use cosmwasm_std::{to_binary, Addr, QuerierResult, SystemError, Uint128}; +use cosmwasm_std::{to_json_binary, Addr, QuerierResult, SystemError, Uint128}; use cw20::{BalanceResponse, Cw20QueryMsg}; #[derive(Default)] @@ -38,7 +38,7 @@ impl Cw20Querier { }, }; - Ok(to_binary(&BalanceResponse { + Ok(to_json_binary(&BalanceResponse { balance: *balance, }) .into()) @@ -57,7 +57,7 @@ impl Cw20Querier { let contract_addr = Addr::unchecked(contract); let user_addr = Addr::unchecked(user); - let contract_balances = self.balances.entry(contract_addr).or_insert_with(HashMap::new); + let contract_balances = self.balances.entry(contract_addr).or_default(); contract_balances.insert(user_addr, Uint128::new(balance)); } } diff --git a/src/testing/mod.rs b/src/testing/mod.rs index 9000d32..2e70c0e 100644 --- a/src/testing/mod.rs +++ b/src/testing/mod.rs @@ -2,5 +2,6 @@ mod custom_mock_querier; mod cw20_querier; mod helpers; +#[allow(unused_imports)] pub use custom_mock_querier::CustomMockQuerier; pub use helpers::mock_dependencies;