diff --git a/.circleci/config.yml b/.circleci/config.yml index 3716d9744..e4d32a9e3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -225,7 +225,7 @@ jobs: - run: name: Install check_contract # Uses --debug for compilation speed - command: cargo install --debug --version 1.1.0 --features iterator --example check_contract --locked -- cosmwasm-vm + command: cargo install --debug --version 1.1.0 --locked -- cosmwasm-check - save_cache: paths: - /usr/local/cargo/registry @@ -233,12 +233,7 @@ jobs: key: cargocache-wasm-rust:1.60.0-{{ checksum "~/project/Cargo.lock" }} - run: name: Check wasm contracts - command: | - for W in ./target/wasm32-unknown-unknown/release/*.wasm - do - echo -n "Checking `basename $W`... " - check_contract $W - done + command: cosmwasm-check ./target/wasm32-unknown-unknown/release/*.wasm # This job roughly follows the instructions from https://circleci.com/blog/publishing-to-github-releases-via-circleci/ build_and_upload_contracts: diff --git a/Cargo.lock b/Cargo.lock index 976af4557..d88bcae6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "anyhow" -version = "1.0.64" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9a8f622bcf6ff3df478e9deba3e03e4e04b300f8e6a139e192c05fa3490afc7" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" [[package]] name = "base16ct" @@ -184,9 +184,9 @@ dependencies = [ [[package]] name = "cw-storage-plus" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c8b264257c4f44c49b7ce09377af63aa040768ecd3fd7bdd2d48a09323a1e90" +checksum = "39ba3fb5fad2dce94263d070848b2befc46b5c8e4929adfb9a3595267823d6ec" dependencies = [ "cosmwasm-std", "schemars", @@ -195,10 +195,11 @@ dependencies = [ [[package]] name = "cw-utils" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414b91f3d7a619bb26c835119d7095804596a1382ddc1d184c33c1d2c17f6c5e" +checksum = "7a67007ff056f4cd034f361c8ed69780c0180959b9c8037c84f3caa78120faf5" dependencies = [ + "cosmwasm-schema", "cosmwasm-std", "cw2", "schemars", @@ -209,10 +210,11 @@ dependencies = [ [[package]] name = "cw2" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa74c324af8e3506fd8d50759a265bead3f87402e413c840042af5d2808463d6" +checksum = "b0a1924a28607bf7cb9fd6681a64feea3e5fa9a8cb71fb4d24cf33635b21065a" dependencies = [ + "cosmwasm-schema", "cosmwasm-std", "cw-storage-plus", "schemars", @@ -221,10 +223,11 @@ dependencies = [ [[package]] name = "cw20" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f446f59c519fbac5ab8b9f6c7f8dcaa05ee761703971406b28221ea778bb737" +checksum = "56a48e4a85c0a31484e053a3eea15abfc3ed24fafc1a1a3e91181a0bd3a8ee91" dependencies = [ + "cosmwasm-schema", "cosmwasm-std", "cw-utils", "schemars", @@ -233,7 +236,7 @@ dependencies = [ [[package]] name = "cw2981-royalties" -version = "0.14.0" +version = "0.15.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -244,9 +247,22 @@ dependencies = [ "serde", ] +[[package]] +name = "cw3" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "961f6959e04de1bc61f4fc3f333bc039998e2aedeab4aa79ba48239cf2d3edfa" +dependencies = [ + "cosmwasm-schema", + "cosmwasm-std", + "cw-utils", + "schemars", + "serde", +] + [[package]] name = "cw721" -version = "0.14.0" +version = "0.15.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -257,7 +273,7 @@ dependencies = [ [[package]] name = "cw721-base" -version = "0.14.0" +version = "0.15.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -272,7 +288,7 @@ dependencies = [ [[package]] name = "cw721-fixed-price" -version = "0.14.0" +version = "0.15.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -280,6 +296,7 @@ dependencies = [ "cw-utils", "cw2", "cw20", + "cw3", "cw721-base", "prost", "schemars", @@ -289,7 +306,7 @@ dependencies = [ [[package]] name = "cw721-metadata-onchain" -version = "0.14.0" +version = "0.15.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -476,9 +493,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "d8bf247779e67a9082a4790b45e71ac7cfd1321331a5c856a74a9faebdab78d0" dependencies = [ "either", ] @@ -491,9 +508,9 @@ checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" [[package]] name = "k256" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2573d3fd3e4cc741affc9b5ce1a8ce36cf29f09f80f36da4309d0ae6d7854" +checksum = "3636d281d46c3b64182eb3a0a42b7b483191a2ecc3f05301fa67403f7c9bc949" dependencies = [ "cfg-if", "ecdsa", @@ -763,18 +780,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" +checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" +checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783" dependencies = [ "proc-macro2", "quote", @@ -801,9 +818,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" [[package]] name = "version_check" diff --git a/contracts/cw2981-royalties/Cargo.toml b/contracts/cw2981-royalties/Cargo.toml index 7467bd037..9c81f4eec 100644 --- a/contracts/cw2981-royalties/Cargo.toml +++ b/contracts/cw2981-royalties/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cw2981-royalties" -version = "0.14.0" +version = "0.15.0" authors = ["Alex Lynham "] edition = "2021" description = "Basic implementation of royalties for cw721 NFTs with token level royalties" @@ -27,8 +27,10 @@ library = [] [dependencies] cosmwasm-schema = "1.1.0" cosmwasm-std = "1.1.0" -cw2 = "0.14.0" -cw721 = { path = "../../packages/cw721" } -cw721-base = { path = "../cw721-base", features = ["library"] } +cw2 = "0.15.0" +cw721 = { path = "../../packages/cw721", version = "0.15.0" } +cw721-base = { path = "../cw721-base", version = "0.15.0", features = [ + "library", +] } schemars = "0.8.10" serde = { version = "1.0.140", default-features = false, features = ["derive"] } diff --git a/contracts/cw721-base/Cargo.toml b/contracts/cw721-base/Cargo.toml index 42e084fe2..b2fbe8976 100644 --- a/contracts/cw721-base/Cargo.toml +++ b/contracts/cw721-base/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cw721-base" -version = "0.14.0" +version = "0.15.0" authors = [ "Ethan Frey ", "Orkun Külçe ", @@ -30,10 +30,10 @@ library = [] [dependencies] cosmwasm-schema = "1.1.0" cosmwasm-std = "1.1.0" -cw2 = "0.14.0" -cw721 = { path = "../../packages/cw721" } -cw-storage-plus = "0.14.0" -cw-utils = "0.14.0" +cw-utils = "0.15.0" +cw2 = "0.15.0" +cw721 = { path = "../../packages/cw721", version = "0.15.0" } +cw-storage-plus = "0.15.0" schemars = "0.8.10" serde = { version = "1.0.140", default-features = false, features = ["derive"] } thiserror = "1.0.31" diff --git a/contracts/cw721-base/schema/all_nft_info_response.json b/contracts/cw721-base/schema/all_nft_info_response.json index eb23abb52..d263321e2 100644 --- a/contracts/cw721-base/schema/all_nft_info_response.json +++ b/contracts/cw721-base/schema/all_nft_info_response.json @@ -91,7 +91,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/schema/approval_response.json b/contracts/cw721-base/schema/approval_response.json index 21816dedc..b29eab59e 100644 --- a/contracts/cw721-base/schema/approval_response.json +++ b/contracts/cw721-base/schema/approval_response.json @@ -73,7 +73,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/schema/approvals_response.json b/contracts/cw721-base/schema/approvals_response.json index 701cb083d..7cdac0015 100644 --- a/contracts/cw721-base/schema/approvals_response.json +++ b/contracts/cw721-base/schema/approvals_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/schema/execute_msg.json b/contracts/cw721-base/schema/execute_msg.json index ca78751b5..858e2bc09 100644 --- a/contracts/cw721-base/schema/execute_msg.json +++ b/contracts/cw721-base/schema/execute_msg.json @@ -281,7 +281,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/schema/operators_response.json b/contracts/cw721-base/schema/operators_response.json index 14c0e2265..533a096dd 100644 --- a/contracts/cw721-base/schema/operators_response.json +++ b/contracts/cw721-base/schema/operators_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/schema/owner_of_response.json b/contracts/cw721-base/schema/owner_of_response.json index 5c82729d5..abb9006d8 100644 --- a/contracts/cw721-base/schema/owner_of_response.json +++ b/contracts/cw721-base/schema/owner_of_response.json @@ -82,7 +82,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-base/src/state.rs b/contracts/cw721-base/src/state.rs index 8c23a4f9d..fe1f3bd46 100644 --- a/contracts/cw721-base/src/state.rs +++ b/contracts/cw721-base/src/state.rs @@ -147,6 +147,6 @@ where } } -pub fn token_owner_idx(d: &TokenInfo) -> Addr { +pub fn token_owner_idx(_pk: &[u8], d: &TokenInfo) -> Addr { d.owner.clone() } diff --git a/contracts/cw721-fixed-price/Cargo.toml b/contracts/cw721-fixed-price/Cargo.toml index 3ce5e1129..5342dd564 100644 --- a/contracts/cw721-fixed-price/Cargo.toml +++ b/contracts/cw721-fixed-price/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cw721-fixed-price" -version = "0.14.0" +version = "0.15.0" authors = ["Vernon Johnson "] edition = "2021" @@ -42,14 +42,18 @@ optimize = """docker run --rm -v "$(pwd)":/code \ [dependencies] cosmwasm-schema = "1.1.0" cosmwasm-std = "1.1.0" -cw2 = "0.14.0" -cw721-base = { path = "../cw721-base", features = ["library"] } -cw-storage-plus = "0.14.0" -cw-utils = "0.14.0" -cw20 = "0.14.0" +cw-storage-plus = "0.15.0" +cw2 = "0.15.0" schemars = "0.8.10" +cw721-base = { path = "../cw721-base", version = "0.15.0", features = [ + "library", +] } +cw20 = "0.15.0" serde = { version = "1.0.140", default-features = false, features = ["derive"] } -thiserror = "1.0.31" +thiserror = { version = "1.0.31" } +cw-utils = "0.15.0" +prost = "0.10.4" +cw3 = "0.15.0" [dev-dependencies] prost = "0.10" diff --git a/contracts/cw721-fixed-price/schema/execute_msg.json b/contracts/cw721-fixed-price/schema/execute_msg.json index dc39f5520..08d874b4e 100644 --- a/contracts/cw721-fixed-price/schema/execute_msg.json +++ b/contracts/cw721-fixed-price/schema/execute_msg.json @@ -38,7 +38,8 @@ "sender": { "type": "string" } - } + }, + "additionalProperties": false }, "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", diff --git a/contracts/cw721-metadata-onchain/Cargo.toml b/contracts/cw721-metadata-onchain/Cargo.toml index 2f0eb084c..051c7f61a 100644 --- a/contracts/cw721-metadata-onchain/Cargo.toml +++ b/contracts/cw721-metadata-onchain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cw721-metadata-onchain" -version = "0.14.0" +version = "0.15.0" authors = [ "Ethan Frey ", "Orkun Külçe ", @@ -30,8 +30,10 @@ library = [] [dependencies] cosmwasm-schema = "1.1.0" cosmwasm-std = "1.1.0" -cw2 = "0.14.0" -cw721 = { path = "../../packages/cw721" } -cw721-base = { path = "../cw721-base", features = ["library"] } +cw2 = "0.15.0" +cw721 = { path = "../../packages/cw721", version = "0.15.0" } +cw721-base = { path = "../cw721-base", version = "0.15.0", features = [ + "library", +] } schemars = "0.8.10" serde = { version = "1.0.140", default-features = false, features = ["derive"] } diff --git a/contracts/cw721-metadata-onchain/schema/all_nft_info_response.json b/contracts/cw721-metadata-onchain/schema/all_nft_info_response.json index c4a3ad0f3..843e1da3e 100644 --- a/contracts/cw721-metadata-onchain/schema/all_nft_info_response.json +++ b/contracts/cw721-metadata-onchain/schema/all_nft_info_response.json @@ -87,7 +87,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-metadata-onchain/schema/approval_response.json b/contracts/cw721-metadata-onchain/schema/approval_response.json index 21816dedc..b29eab59e 100644 --- a/contracts/cw721-metadata-onchain/schema/approval_response.json +++ b/contracts/cw721-metadata-onchain/schema/approval_response.json @@ -73,7 +73,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-metadata-onchain/schema/approvals_response.json b/contracts/cw721-metadata-onchain/schema/approvals_response.json index 701cb083d..7cdac0015 100644 --- a/contracts/cw721-metadata-onchain/schema/approvals_response.json +++ b/contracts/cw721-metadata-onchain/schema/approvals_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-metadata-onchain/schema/execute_msg.json b/contracts/cw721-metadata-onchain/schema/execute_msg.json index b36382022..30b2da5f6 100644 --- a/contracts/cw721-metadata-onchain/schema/execute_msg.json +++ b/contracts/cw721-metadata-onchain/schema/execute_msg.json @@ -281,7 +281,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-metadata-onchain/schema/operators_response.json b/contracts/cw721-metadata-onchain/schema/operators_response.json index 14c0e2265..533a096dd 100644 --- a/contracts/cw721-metadata-onchain/schema/operators_response.json +++ b/contracts/cw721-metadata-onchain/schema/operators_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/contracts/cw721-metadata-onchain/schema/owner_of_response.json b/contracts/cw721-metadata-onchain/schema/owner_of_response.json index 5c82729d5..abb9006d8 100644 --- a/contracts/cw721-metadata-onchain/schema/owner_of_response.json +++ b/contracts/cw721-metadata-onchain/schema/owner_of_response.json @@ -82,7 +82,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/Cargo.toml b/packages/cw721/Cargo.toml index 2d6ed3655..a2dfa00c8 100644 --- a/packages/cw721/Cargo.toml +++ b/packages/cw721/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cw721" -version = "0.14.0" +version = "0.15.0" authors = [ "Ethan Frey ", "Orkun Külçe ", @@ -15,6 +15,6 @@ documentation = "https://docs.cosmwasm.com" [dependencies] cosmwasm-schema = "1.1.0" cosmwasm-std = "1.1.0" -cw-utils = "0.14.0" +cw-utils = "0.15.0" schemars = "0.8.10" serde = { version = "1.0.140", default-features = false, features = ["derive"] } diff --git a/packages/cw721/schema/all_nft_info_response.json b/packages/cw721/schema/all_nft_info_response.json index eb23abb52..d263321e2 100644 --- a/packages/cw721/schema/all_nft_info_response.json +++ b/packages/cw721/schema/all_nft_info_response.json @@ -91,7 +91,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/schema/approval_response.json b/packages/cw721/schema/approval_response.json index 21816dedc..b29eab59e 100644 --- a/packages/cw721/schema/approval_response.json +++ b/packages/cw721/schema/approval_response.json @@ -73,7 +73,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/schema/approvals_response.json b/packages/cw721/schema/approvals_response.json index 701cb083d..7cdac0015 100644 --- a/packages/cw721/schema/approvals_response.json +++ b/packages/cw721/schema/approvals_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/schema/cw721_execute_msg.json b/packages/cw721/schema/cw721_execute_msg.json index d2b91ed18..eb09359fb 100644 --- a/packages/cw721/schema/cw721_execute_msg.json +++ b/packages/cw721/schema/cw721_execute_msg.json @@ -241,7 +241,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/schema/operators_response.json b/packages/cw721/schema/operators_response.json index 14c0e2265..533a096dd 100644 --- a/packages/cw721/schema/operators_response.json +++ b/packages/cw721/schema/operators_response.json @@ -76,7 +76,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false diff --git a/packages/cw721/schema/owner_of_response.json b/packages/cw721/schema/owner_of_response.json index 5c82729d5..abb9006d8 100644 --- a/packages/cw721/schema/owner_of_response.json +++ b/packages/cw721/schema/owner_of_response.json @@ -82,7 +82,8 @@ ], "properties": { "never": { - "type": "object" + "type": "object", + "additionalProperties": false } }, "additionalProperties": false