diff --git a/.icons/logo.jpeg b/.icons/logo.jpeg deleted file mode 100644 index e30b254d..00000000 Binary files a/.icons/logo.jpeg and /dev/null differ diff --git a/CHANGELOG.md b/CHANGELOG.md index baee5a89..4f3099bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,78 @@ All notable changes to this project will be documented in this file. +## [0.5.0] - 2024-11-08 + +### 🚀 Features + +- Include OpenZeppelinEVM template +- Instantiate_openzeppelin_template + +### 🐛 Fixes + +- Fetch stable version (#328) +- Templates errors (#329) +- Improve contract experience (#330) +- Unnnecesary API query +- Bump zombienet and insert evm_based +- Include support for v2.0.1 in generic template +- Deprecate template instantiation +- Clippy + +### 🚜 Refactor + +- Move extract_template_files into common crate +- Rename enum_variants_for_help macro + +### ⚙️ Miscellaneous Tasks + +- Merge main +- Bump zombienet-sdk version +- Bump supported version for template and add a test +- Deprecate command for change of name +- Deprecation logic +- Template_name_without_provider +- Merge main +- Upgrade zombienet-sdk +- Update evm supported version +- Fmt + +## [0.4.0] - 2024-10-07 + +### 🚀 Features + +- Adding new packages to workspace Cargo.toml automatically (#277) +- Improve pallet template generation (#261) + +### 🐛 Fixes + +- Update chain spec and fix fetch_latest_tag (#282) +- Remove extra 0x in outputted text when pop up (#298) +- Limit API calls when generating parachain (#299) + +### 🚜 Refactor + +- Update new pallet template (default) (#272) +- Move extract_template_files into common crate (#283) + +### 📚 Documentation + +- Add community section to README (#289) + +### 🎨 Styling + +- Format in ci.yml (#287) + +### ⚙️ Miscellaneous Tasks + +- Bump cargo-contract and subxt versions (#307) +- Add clippy checks (#281) +- Release 0.4.0 (#318) + +### Build + +- *(deps)* Bump zombienet-sdk (#273) + ## [0.3.0] - 2024-07-26 ### 🚀 Features @@ -23,7 +95,7 @@ All notable changes to this project will be documented in this file. - Handle IO error if rename fails (#241) - Readme commands (#243) -- Remove unused directories after download contracts node binary (#240) +- Remove unused folders after download contracts node binary (#240) - Check if contracts needs to be build before deploy (#246) ### 🚜 Refactor @@ -48,9 +120,7 @@ All notable changes to this project will be documented in this file. ### ⚙️ Miscellaneous Tasks - Set `CONTRACTS_NODE_PATH` env variable for e2e tests (#209) -- Release 0.3.0 -- Merge main -- Update changelog +- Release 0.3.0 (#244) ### Build @@ -163,7 +233,7 @@ All notable changes to this project will be documented in this file. - Structure for call command - Call a smart contract - Execute call flag -- *(pop-cli)* Pallets directory for new ones +- *(pop-cli)* Pallets folder for new ones - *(up-parachain)* Improve ux - Init git repo (#65) - *(up-parachain)* Enable optional verbose output (#79) diff --git a/Cargo.lock b/Cargo.lock index a5ca0805..3ea83263 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,18 +23,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ - "gimli 0.29.0", + "gimli 0.31.0", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" [[package]] name = "arbitrary" @@ -325,9 +325,9 @@ dependencies = [ [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "askama" @@ -355,7 +355,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -413,9 +413,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", @@ -448,7 +448,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.34", + "rustix 0.38.36", "slab", "tracing", "windows-sys 0.59.0", @@ -491,7 +491,7 @@ dependencies = [ "cfg-if", "event-listener 5.3.1", "futures-lite", - "rustix 0.38.34", + "rustix 0.38.36", "tracing", "windows-sys 0.59.0", ] @@ -508,7 +508,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix 0.38.36", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -533,7 +533,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -544,13 +544,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -584,17 +584,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.22.0", - "cc", + "addr2line 0.24.1", "cfg-if", "libc", "miniz_oxide", - "object 0.36.3", + "object 0.36.4", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -749,8 +749,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] @@ -845,10 +845,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "syn_derive", ] @@ -870,7 +870,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "030ea61398f34f1395ccbeb046fb68c87b631d1f34567fed0f0f11fa35d18d8d" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", ] [[package]] @@ -941,9 +941,9 @@ checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "camino" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3054fea8a20d8ff3968d5b22cc27501d2b08dc4decdb31b184323f00c5ef23bb" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -983,9 +983,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.13" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ "jobserver", "libc", @@ -1046,9 +1046,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.16" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" dependencies = [ "clap_builder", "clap_derive", @@ -1056,9 +1056,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" dependencies = [ "anstream", "anstyle", @@ -1075,7 +1075,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1086,9 +1086,9 @@ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "cliclack" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6ae7d526588fce6be2262e83b654a95de64430b54305f3a340c0ee5de18014" +checksum = "0c827ccada848b64fba073b64518a7416d605ad70c594b5450b5ed1d97e3b5d4" dependencies = [ "console", "indicatif", @@ -1196,9 +1196,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "constcat" @@ -1306,7 +1306,7 @@ dependencies = [ "contract-metadata", "escape8259", "hex", - "indexmap 2.4.0", + "indexmap 2.5.0", "ink_env", "ink_metadata", "itertools 0.12.1", @@ -1364,9 +1364,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1505,14 +1505,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "cxx" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755" +checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" dependencies = [ "cc", "cxxbridge-flags", @@ -1522,9 +1522,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c822bf7fb755d97328d6c337120b6f843678178751cba33c9da25cf522272e0" +checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" dependencies = [ "cc", "codespan-reporting", @@ -1532,24 +1532,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "cxxbridge-flags" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6" +checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" [[package]] name = "cxxbridge-macro" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c" +checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1597,7 +1597,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1619,7 +1619,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1687,7 +1687,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1698,7 +1698,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1709,7 +1709,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1722,7 +1722,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1793,7 +1793,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1823,7 +1823,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.74", + "syn 2.0.77", "termcolor", "toml 0.8.19", "walkdir", @@ -2078,7 +2078,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -2089,9 +2089,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "ff" @@ -2121,9 +2121,9 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", @@ -2155,9 +2155,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.31" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", "miniz_oxide", @@ -2310,7 +2310,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -2394,9 +2394,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "git2" @@ -2462,7 +2462,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2471,9 +2471,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -2481,7 +2481,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2738,7 +2738,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -2783,15 +2783,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", "hyper 1.4.1", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -2841,9 +2841,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" dependencies = [ "bytes", "futures-channel", @@ -2961,9 +2961,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -3138,9 +3138,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "is_terminal_polyfill" @@ -3273,7 +3273,7 @@ dependencies = [ "http 0.2.12", "jsonrpsee-core 0.22.5", "pin-project", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.3", "rustls-pki-types", "soketto 0.7.1", "thiserror", @@ -3295,7 +3295,7 @@ dependencies = [ "http 1.1.0", "jsonrpsee-core 0.23.2", "pin-project", - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "rustls-platform-verifier", "soketto 0.8.0", @@ -3555,9 +3555,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.156" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f43f184355eefb8d17fc948dbecf6c13be3c141f20d834ae842193a448c72a" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libgit2-sys" @@ -3768,9 +3768,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.19" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "libc", @@ -3804,7 +3804,7 @@ checksum = "cb26336e6dc7cc76e7927d2c9e7e3bb376d7af65a6f56a0b16c47d18a9b1abc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3874,7 +3874,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.34", + "rustix 0.38.36", ] [[package]] @@ -3931,11 +3931,11 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -4137,7 +4137,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "itoa", ] @@ -4200,9 +4200,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" dependencies = [ "memchr", ] @@ -4242,7 +4242,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4253,9 +4253,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.1+3.3.1" +version = "300.3.2+3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" dependencies = [ "cc", ] @@ -4340,7 +4340,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", @@ -4355,7 +4355,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -4363,9 +4363,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -4435,9 +4435,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" dependencies = [ "memchr", "thiserror", @@ -4446,9 +4446,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d" dependencies = [ "pest", "pest_generator", @@ -4456,22 +4456,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174" dependencies = [ "once_cell", "pest", @@ -4495,7 +4495,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4562,7 +4562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8" dependencies = [ "polkavm-derive-impl 0.5.0", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4592,7 +4592,7 @@ dependencies = [ "polkavm-common 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4604,7 +4604,7 @@ dependencies = [ "polkavm-common 0.8.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4616,7 +4616,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4626,7 +4626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" dependencies = [ "polkavm-derive-impl 0.8.0", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4636,7 +4636,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4649,7 +4649,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.34", + "rustix 0.38.36", "tracing", "windows-sys 0.59.0", ] @@ -4667,7 +4667,7 @@ dependencies = [ [[package]] name = "pop-cli" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "assert_cmd", @@ -4684,7 +4684,7 @@ dependencies = [ "pop-parachains", "pop-telemetry", "predicates", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde_json", "sp-core", "sp-weights", @@ -4697,7 +4697,7 @@ dependencies = [ [[package]] name = "pop-common" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "cargo_toml", @@ -4707,7 +4707,7 @@ dependencies = [ "git2_credentials", "mockito", "regex", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "strum 0.26.3", @@ -4722,7 +4722,7 @@ dependencies = [ [[package]] name = "pop-contracts" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "contract-build", @@ -4735,8 +4735,7 @@ dependencies = [ "ink_env", "mockito", "pop-common", - "reqwest 0.12.5", - "scale-info", + "reqwest 0.12.7", "sp-core", "sp-weights", "strum 0.26.3", @@ -4753,7 +4752,7 @@ dependencies = [ [[package]] name = "pop-parachains" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "askama", @@ -4761,10 +4760,10 @@ dependencies = [ "duct", "flate2", "glob", - "indexmap 2.4.0", + "indexmap 2.5.0", "mockito", "pop-common", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde_json", "strum 0.26.3", "strum_macros 0.26.4", @@ -4778,18 +4777,17 @@ dependencies = [ "url", "walkdir", "zombienet-sdk", - "zombienet-support", ] [[package]] name = "pop-telemetry" -version = "0.3.0" +version = "0.4.0" dependencies = [ "dirs", "env_logger", "log", "mockito", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "tempfile", @@ -4850,12 +4848,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4883,11 +4881,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit 0.22.20", ] [[package]] @@ -4925,9 +4923,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" dependencies = [ "cc", ] @@ -4963,9 +4961,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -5039,9 +5037,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -5065,7 +5063,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5150,7 +5148,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tower-service", @@ -5158,26 +5156,26 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", "hyper 1.4.1", - "hyper-rustls 0.27.2", + "hyper-rustls 0.27.3", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -5193,7 +5191,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", - "system-configuration", + "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tower-service", @@ -5201,7 +5199,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -5231,9 +5229,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ "bitvec", "bytecheck", @@ -5249,9 +5247,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ "proc-macro2", "quote", @@ -5266,11 +5264,11 @@ checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" [[package]] name = "rust_decimal" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "borsh", "bytes", "num-traits", @@ -5300,9 +5298,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] @@ -5323,9 +5321,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" dependencies = [ "bitflags 2.6.0", "errno", @@ -5355,22 +5353,22 @@ dependencies = [ "log", "ring", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -5389,9 +5387,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", "rustls-pemfile 2.1.3", @@ -5427,19 +5425,19 @@ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-platform-verifier" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bda3f493b9abe5b93b3e7e3ecde0df292f2bd28c0296b90586ee0055ff5123" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ "core-foundation", "core-foundation-sys", "jni", "log", "once_cell", - "rustls 0.23.12", - "rustls-native-certs 0.7.1", + "rustls 0.23.13", + "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "security-framework", "security-framework-sys", "webpki-roots", @@ -5464,9 +5462,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -5667,7 +5665,7 @@ version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -5692,7 +5690,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.74", + "syn 2.0.77", "thiserror", ] @@ -5719,11 +5717,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5747,7 +5745,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5769,7 +5767,7 @@ checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ "aead", "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin", @@ -5886,9 +5884,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -5914,13 +5912,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5931,16 +5929,16 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "itoa", "memchr", "ryu", @@ -5955,7 +5953,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5989,7 +5987,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_derive", "serde_json", @@ -6002,7 +6000,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "itoa", "ryu", "serde", @@ -6195,9 +6193,9 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smol" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aad24f41392790e6ac67f4f4cd871da61f7d758e07b5622431e491e897d9c8a7" +checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" dependencies = [ "async-channel", "async-executor", @@ -6216,7 +6214,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "async-lock", "atomic-take", "base64 0.21.7", @@ -6439,7 +6437,7 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6557,10 +6555,10 @@ checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6691,9 +6689,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.47.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" +checksum = "43fce22ed1df64d04b262351c8f9d5c6da4f76f79f25ad15529792f893fad25d" dependencies = [ "Inflector", "num-format", @@ -6766,7 +6764,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6840,7 +6838,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.74", + "syn 2.0.77", "thiserror", "tokio", ] @@ -6903,7 +6901,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6960,9 +6958,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -6978,7 +6976,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6992,6 +6990,9 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "system-configuration" @@ -7001,7 +7002,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -7014,6 +7026,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -7046,7 +7068,7 @@ dependencies = [ "cfg-if", "fastrand", "once_cell", - "rustix 0.38.34", + "rustix 0.38.36", "windows-sys 0.59.0", ] @@ -7103,7 +7125,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -7164,9 +7186,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", @@ -7198,7 +7220,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -7238,16 +7260,16 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -7281,9 +7303,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -7333,31 +7355,20 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", "winnow 0.5.40", ] -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", @@ -7434,7 +7445,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -7590,9 +7601,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-linebreak" @@ -7617,9 +7628,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "universal-hash" @@ -7796,7 +7807,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -7830,7 +7841,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7941,7 +7952,7 @@ dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", "hashbrown 0.14.5", - "indexmap 2.4.0", + "indexmap 2.5.0", "semver", ] @@ -8098,22 +8109,22 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" dependencies = [ "rustls-pki-types", ] [[package]] name = "which" -version = "6.0.2" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" +checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" dependencies = [ "either", "home", - "rustix 0.38.34", + "rustix 0.38.36", "winsafe", ] @@ -8157,6 +8168,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -8399,16 +8440,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "winsafe" version = "0.0.19" @@ -8444,7 +8475,7 @@ checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", "linux-raw-sys 0.4.14", - "rustix 0.38.34", + "rustix 0.38.36", ] [[package]] @@ -8477,7 +8508,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -8497,7 +8528,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -8510,24 +8541,26 @@ dependencies = [ "crc32fast", "crossbeam-utils", "displaydoc", - "indexmap 2.4.0", + "indexmap 2.5.0", "memchr", "thiserror", ] [[package]] name = "zombienet-configuration" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ee069fa52f2057eaae7f27f0c638d4a5f630e42159f66665398681cdd82d4f" +checksum = "c8ab4af5d47f03cb8ae0fa96ffbf3881ca050c51e62367685ebdd3e8ae52b220" dependencies = [ "anyhow", "lazy_static", "multiaddr", "regex", + "reqwest 0.11.27", "serde", "serde_json", "thiserror", + "tokio", "toml 0.7.8", "url", "zombienet-support", @@ -8535,9 +8568,9 @@ dependencies = [ [[package]] name = "zombienet-orchestrator" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbffc9d2fd1c8f727718a197f7fc65ad7b7a2397855f87a6deb738a26d499f8" +checksum = "580e01019655a2bd296e42f48876c2e78c94a989147376e025c0e64daf717cf7" dependencies = [ "anyhow", "async-trait", @@ -8545,6 +8578,7 @@ dependencies = [ "glob-match", "hex", "libp2p", + "libsecp256k1", "multiaddr", "rand", "regex", @@ -8567,9 +8601,9 @@ dependencies = [ [[package]] name = "zombienet-prom-metrics-parser" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af494234607b9bbfee8b6ab93a0b85c5f9238c6ffdb9c46f1db3e811b1940e0e" +checksum = "4d026607c1a6e198b653c5979fb07078740861978ddecfd5460f2c32cdc182b1" dependencies = [ "pest", "pest_derive", @@ -8578,9 +8612,9 @@ dependencies = [ [[package]] name = "zombienet-provider" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c900c3a42098db63bbf4ac1b3ce37157d66a1e6627ac4c806bf7a346253a9093" +checksum = "55583d8be6b2ca2e679d85ee2e17eb0802fbf8d2ee05c1b326fff81fd6b3b5c3" dependencies = [ "anyhow", "async-trait", @@ -8609,9 +8643,9 @@ dependencies = [ [[package]] name = "zombienet-sdk" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27224e17fd674c21c1ac16280bc85d2333ee71520fa02a1c6de6aa6f642aa1b5" +checksum = "300f3f07aa72df21a52611a0df1033325a454252e36d964c4308b0a8b7356f77" dependencies = [ "async-trait", "futures", @@ -8626,9 +8660,9 @@ dependencies = [ [[package]] name = "zombienet-support" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f4ec8f69b9c4b6407ae721911da25df0c99a1d70da1e4b9d7ee11bcbea0594a" +checksum = "e566ea145dab27c6fbb24b13d4c789efa7e675e1fdaf6d007dfe1154d59317c6" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 990706e9..5a515c6b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,6 +17,7 @@ edition = "2021" documentation = "https://learn.onpop.io/" license = "GPL-3.0" repository = "https://github.com/r0gue-io/pop-cli" +version = "0.5.0" [workspace.dependencies] anyhow = "1.0" @@ -62,8 +63,7 @@ toml_edit = { version = "0.22", features = ["serde"] } symlink = "0.1" serde_json = { version = "1.0", features = ["preserve_order"] } serde = { version = "1.0", features = ["derive"] } -zombienet-sdk = "0.2.7" -zombienet-support = "0.2.7" +zombienet-sdk = "0.2.14" git2_credentials = "0.13.0" # pop-cli diff --git a/README.md b/README.md index a3a63f94..7657482d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Pop CLI - +
diff --git a/crates/pop-cli/Cargo.toml b/crates/pop-cli/Cargo.toml index 4a6a63df..c9761b64 100644 --- a/crates/pop-cli/Cargo.toml +++ b/crates/pop-cli/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pop-cli" description = "An all-in-one tool for Polkadot development." -version = "0.3.0" +version.workspace = true edition.workspace = true documentation.workspace = true license.workspace = true @@ -31,20 +31,20 @@ strum.workspace = true strum_macros.workspace = true # contracts -pop-contracts = { path = "../pop-contracts", version = "0.3.0", optional = true } +pop-contracts = { path = "../pop-contracts", version = "0.5.0", optional = true } sp-core = { workspace = true, optional = true } sp-weights = { workspace = true, optional = true } # parachains -pop-parachains = { path = "../pop-parachains", version = "0.3.0", optional = true } +pop-parachains = { path = "../pop-parachains", version = "0.5.0", optional = true } dirs = { workspace = true, optional = true } git2.workspace = true # telemetry -pop-telemetry = { path = "../pop-telemetry", version = "0.3.0", optional = true } +pop-telemetry = { path = "../pop-telemetry", version = "0.5.0", optional = true } # common -pop-common = { path = "../pop-common", version = "0.3.0" } +pop-common = { path = "../pop-common", version = "0.5.0" } [dev-dependencies] assert_cmd.workspace = true diff --git a/crates/pop-cli/src/commands/new/parachain.rs b/crates/pop-cli/src/commands/new/parachain.rs index 830ee7ad..e65035cf 100644 --- a/crates/pop-cli/src/commands/new/parachain.rs +++ b/crates/pop-cli/src/commands/new/parachain.rs @@ -15,7 +15,7 @@ use cliclack::{ outro, outro_cancel, }; use pop_common::{ - enum_variants, + enum_variants, enum_variants_without_deprecated, templates::{Template, Type}, Git, GitHub, Release, }; @@ -40,8 +40,9 @@ pub struct NewParachainCommand { #[arg( short = 't', long, - help = "Template to use.", - value_parser = enum_variants!(Parachain) + help = format!("Template to use. [possible values: {}]", enum_variants_without_deprecated!(Parachain)), + value_parser = enum_variants!(Parachain), + hide_possible_values = true // Hide the deprecated templates )] pub(crate) template: Option, #[arg( @@ -216,7 +217,7 @@ async fn generate_parachain_from_template( // add next steps let mut next_steps = vec![ format!("cd into \"{name_template}\" and enjoy hacking! 🚀"), - "Use `pop build` to build your parachain.".into(), + "Use `pop build --release` to build your parachain.".into(), ]; if let Some(network_config) = template.network_config() { next_steps.push(format!( @@ -244,6 +245,9 @@ fn is_template_supported(provider: &Provider, template: &Parachain) -> Result<() provider, template ))); }; + if template.is_deprecated() { + warning(format!("NOTE: this template is deprecated.{}", template.deprecated_message()))?; + } Ok(()) } diff --git a/crates/pop-cli/src/commands/up/contract.rs b/crates/pop-cli/src/commands/up/contract.rs index 42166a69..9acbc2b6 100644 --- a/crates/pop-cli/src/commands/up/contract.rs +++ b/crates/pop-cli/src/commands/up/contract.rs @@ -223,11 +223,29 @@ impl UpContractCommand { if !self.dry_run { let spinner = spinner(); spinner.start("Uploading and instantiating the contract..."); - let contract_address = - instantiate_smart_contract(instantiate_exec, weight_limit).await?; + let contract_info = instantiate_smart_contract(instantiate_exec, weight_limit).await?; spinner.stop(format!( - "Contract deployed and instantiated: The Contract Address is {:?}", - contract_address + "Contract deployed and instantiated:\n{}", + style(format!( + "{}\n{}", + style(format!( + "{} The contract address is {:?}", + console::Emoji("●", ">"), + contract_info.address + )) + .dim(), + contract_info + .code_hash + .map(|hash| style(format!( + "{} The contract code hash is {:?}", + console::Emoji("●", ">"), + hash + )) + .dim() + .to_string()) + .unwrap_or_default(), + )) + .dim() )); Self::terminate_node(process)?; Cli.outro(COMPLETE)?; diff --git a/crates/pop-cli/tests/contract.rs b/crates/pop-cli/tests/contract.rs index eec67e7d..3a51f122 100644 --- a/crates/pop-cli/tests/contract.rs +++ b/crates/pop-cli/tests/contract.rs @@ -86,7 +86,7 @@ async fn contract_lifecycle() -> Result<()> { }) .await?; let weight_limit = dry_run_gas_estimate_instantiate(&instantiate_exec).await?; - let contract_address = instantiate_smart_contract(instantiate_exec, weight_limit).await?; + let contract_info = instantiate_smart_contract(instantiate_exec, weight_limit).await?; // Call contract (only query) // pop call contract --contract $INSTANTIATED_CONTRACT_ADDRESS --message get --suri //Alice Command::cargo_bin("pop") @@ -96,7 +96,7 @@ async fn contract_lifecycle() -> Result<()> { "call", "contract", "--contract", - &contract_address, + &contract_info.address, "--message", "get", "--suri", @@ -114,7 +114,7 @@ async fn contract_lifecycle() -> Result<()> { "call", "contract", "--contract", - &contract_address, + &contract_info.address, "--message", "flip", "--suri", diff --git a/crates/pop-common/Cargo.toml b/crates/pop-common/Cargo.toml index 8a3afe61..108399db 100644 --- a/crates/pop-common/Cargo.toml +++ b/crates/pop-common/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "pop-common" description = "Library that provides a collection of essential utilities and shared functionality for pop." -version = "0.3.0" readme = "README.md" +version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true @@ -29,4 +29,4 @@ url.workspace = true [dev-dependencies] mockito.workspace = true strum_macros.workspace = true -tempfile.workspace = true \ No newline at end of file +tempfile.workspace = true diff --git a/crates/pop-common/src/git.rs b/crates/pop-common/src/git.rs index 8351058a..c64e092a 100644 --- a/crates/pop-common/src/git.rs +++ b/crates/pop-common/src/git.rs @@ -1,13 +1,12 @@ // SPDX-License-Identifier: GPL-3.0 -use crate::{errors::Error, APP_USER_AGENT}; +use crate::{errors::Error, polkadot_sdk::parse_latest_tag, APP_USER_AGENT}; use anyhow::Result; use git2::{ build::RepoBuilder, FetchOptions, IndexAddOption, RemoteCallbacks, Repository as GitRepository, ResetType, }; use git2_credentials::CredentialHandler; -use regex::Regex; use std::{fs, path::Path}; use url::Url; @@ -119,71 +118,7 @@ impl Git { /// Fetch the latest release from a repository fn fetch_latest_tag(repo: &GitRepository) -> Option { let tags = repo.tag_names(None).ok()?; - Self::parse_latest_tag(tags.iter().flatten().collect::>()) - } - - /// Parses a list of tags to identify the latest one, prioritizing tags in the stable format - /// first. - fn parse_latest_tag(tags: Vec<&str>) -> Option { - match Self::parse_stable_format(tags.clone()) { - Some(last_stable_tag) => Some(last_stable_tag), - None => Self::parse_version_format(tags), - } - } - - /// Parse the stable release tags. - fn parse_stable_format(tags: Vec<&str>) -> Option { - // Regex for polkadot-stableYYMM and polkadot-stableYYMM-X - let stable_reg = Regex::new( - r"polkadot-stable(?P\d{2})(?P\d{2})(-(?P\d+))?(-rc\d+)?", - ) - .expect("Valid regex"); - tags.into_iter() - .filter_map(|tag| { - // Skip the pre-release label - if tag.contains("-rc") { - return None; - } - stable_reg.captures(tag).and_then(|v| { - let year = v.name("year")?.as_str().parse::().ok()?; - let month = v.name("month")?.as_str().parse::().ok()?; - let patch = - v.name("patch").and_then(|m| m.as_str().parse::().ok()).unwrap_or(0); - Some((tag, (year, month, patch))) - }) - }) - .max_by(|a, b| { - let (_, (year_a, month_a, patch_a)) = a; - let (_, (year_b, month_b, patch_b)) = b; - // Compare by year, then by month, then by patch number - year_a - .cmp(year_b) - .then_with(|| month_a.cmp(month_b)) - .then_with(|| patch_a.cmp(patch_b)) - }) - .map(|(tag_str, _)| tag_str.to_string()) - } - - /// Parse the versioning release tags. - fn parse_version_format(tags: Vec<&str>) -> Option { - // Regex for polkadot-vmajor.minor.patch format - let version_reg = Regex::new(r"v(?P\d+)\.(?P\d+)\.(?P\d+)(-rc\d+)?") - .expect("Valid regex"); - tags.into_iter() - .filter_map(|tag| { - // Skip the pre-release label - if tag.contains("-rc") { - return None; - } - version_reg.captures(tag).and_then(|v| { - let major = v.name("major")?.as_str().parse::().ok()?; - let minor = v.name("minor")?.as_str().parse::().ok()?; - let patch = v.name("patch")?.as_str().parse::().ok()?; - Some((tag, (major, minor, patch))) - }) - }) - .max_by_key(|&(_, version)| version) - .map(|(tag_str, _)| tag_str.to_string()) + parse_latest_tag(tags.iter().flatten().collect::>()) } /// Init a new git repository. @@ -544,57 +479,6 @@ mod tests { ); } - #[test] - fn parse_latest_tag_works() { - let mut tags = vec![]; - assert_eq!(Git::parse_latest_tag(tags), None); - tags = vec![ - "polkadot-stable2407", - "polkadot-stable2407-1", - "polkadot-v1.10.0", - "polkadot-v1.11.0", - "polkadot-v1.12.0", - "polkadot-v1.7.0", - "polkadot-v1.8.0", - "polkadot-v1.9.0", - "v1.15.1-rc2", - ]; - assert_eq!(Git::parse_latest_tag(tags), Some("polkadot-stable2407-1".to_string())); - } - - #[test] - fn parse_stable_format_works() { - let mut tags = vec![]; - assert_eq!(Git::parse_stable_format(tags), None); - tags = vec!["polkadot-stable2407", "polkadot-stable2408"]; - assert_eq!(Git::parse_stable_format(tags), Some("polkadot-stable2408".to_string())); - tags = vec!["polkadot-stable2407", "polkadot-stable2501"]; - assert_eq!(Git::parse_stable_format(tags), Some("polkadot-stable2501".to_string())); - // Skip the pre-release label - tags = vec!["polkadot-stable2407", "polkadot-stable2407-1", "polkadot-stable2407-1-rc1"]; - assert_eq!(Git::parse_stable_format(tags), Some("polkadot-stable2407-1".to_string())); - } - - #[test] - fn parse_version_format_works() { - let mut tags: Vec<&str> = vec![]; - assert_eq!(Git::parse_version_format(tags), None); - tags = vec![ - "polkadot-v1.10.0", - "polkadot-v1.11.0", - "polkadot-v1.12.0", - "polkadot-v1.7.0", - "polkadot-v1.8.0", - "polkadot-v1.9.0", - ]; - assert_eq!(Git::parse_version_format(tags), Some("polkadot-v1.12.0".to_string())); - tags = vec!["v1.0.0", "v2.0.0", "v3.0.0"]; - assert_eq!(Git::parse_version_format(tags), Some("v3.0.0".to_string())); - // Skip the pre-release label - tags = vec!["polkadot-v1.12.0", "v1.15.1-rc2"]; - assert_eq!(Git::parse_version_format(tags), Some("polkadot-v1.12.0".to_string())); - } - mod repository { use super::Error; use crate::git::Repository; diff --git a/crates/pop-common/src/lib.rs b/crates/pop-common/src/lib.rs index 7206bc7e..bf2d6632 100644 --- a/crates/pop-common/src/lib.rs +++ b/crates/pop-common/src/lib.rs @@ -3,6 +3,7 @@ pub mod errors; pub mod git; pub mod helpers; pub mod manifest; +pub mod polkadot_sdk; pub mod sourcing; pub mod templates; diff --git a/crates/pop-common/src/polkadot_sdk.rs b/crates/pop-common/src/polkadot_sdk.rs new file mode 100644 index 00000000..9e538af7 --- /dev/null +++ b/crates/pop-common/src/polkadot_sdk.rs @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: GPL-3.0 + +//! Parses and identifies the latest version tags for Polkadot SDK releases. + +use regex::Regex; + +/// Identifies the latest tag from a list of tags, prioritizing tags in a stable format. +/// +/// # Arguments +/// * `tags` - A vector of tags to parse and evaluate. +pub fn parse_latest_tag(tags: Vec<&str>) -> Option { + match parse_latest_stable(&tags) { + Some(last_stable_tag) => Some(last_stable_tag), + None => parse_version_format(&tags), + } +} + +/// Retrieves the latest stable release ta +fn parse_latest_stable(tags: &[&str]) -> Option { + // Regex for polkadot-stableYYMM and polkadot-stableYYMM-X + let stable_reg = Regex::new( + r"(polkadot-(parachain-)?)?stable(?P\d{2})(?P\d{2})(-(?P\d+))?(-rc\d+)?", + ) + .expect("Valid regex"); + tags.iter() + .filter_map(|tag| { + // Skip the pre-release label + if tag.contains("-rc") { + return None; + } + stable_reg.captures(tag).and_then(|v| { + let year = v.name("year")?.as_str().parse::().ok()?; + let month = v.name("month")?.as_str().parse::().ok()?; + let patch = + v.name("patch").and_then(|m| m.as_str().parse::().ok()).unwrap_or(0); + Some((tag, (year, month, patch))) + }) + }) + .max_by(|a, b| { + let (_, (year_a, month_a, patch_a)) = a; + let (_, (year_b, month_b, patch_b)) = b; + // Compare by year, then by month, then by patch number + year_a + .cmp(year_b) + .then_with(|| month_a.cmp(month_b)) + .then_with(|| patch_a.cmp(patch_b)) + }) + .map(|(tag_str, _)| tag_str.to_string()) +} + +/// Parse the versioning release tags. +fn parse_version_format(tags: &[&str]) -> Option { + // Regex for polkadot-vmajor.minor.patch format + let version_reg = Regex::new(r"v(?P\d+)\.(?P\d+)\.(?P\d+)(-rc\d+)?") + .expect("Valid regex"); + tags.iter() + .filter_map(|tag| { + // Skip the pre-release label + if tag.contains("-rc") { + return None; + } + version_reg.captures(tag).and_then(|v| { + let major = v.name("major")?.as_str().parse::().ok()?; + let minor = v.name("minor")?.as_str().parse::().ok()?; + let patch = v.name("patch")?.as_str().parse::().ok()?; + Some((tag, (major, minor, patch))) + }) + }) + .max_by_key(|&(_, version)| version) + .map(|(tag_str, _)| tag_str.to_string()) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_latest_tag_works() { + let mut tags = vec![]; + assert_eq!(parse_latest_tag(tags), None); + tags = vec![ + "polkadot-stable2409", + "polkadot-stable2409-1", + "polkadot-stable2407", + "polkadot-v1.10.0", + "polkadot-v1.11.0", + "polkadot-v1.12.0", + "polkadot-v1.7.0", + "polkadot-v1.8.0", + "polkadot-v1.9.0", + "v1.15.1-rc2", + ]; + assert_eq!(parse_latest_tag(tags), Some("polkadot-stable2409-1".to_string())); + } + + #[test] + fn parse_stable_format_works() { + let mut tags = vec![]; + assert_eq!(parse_latest_stable(&tags), None); + tags = vec!["polkadot-stable2407", "polkadot-stable2408"]; + assert_eq!(parse_latest_stable(&tags), Some("polkadot-stable2408".to_string())); + tags = vec!["polkadot-stable2407", "polkadot-stable2501"]; + assert_eq!(parse_latest_stable(&tags), Some("polkadot-stable2501".to_string())); + // Skip the pre-release label + tags = vec!["polkadot-stable2407", "polkadot-stable2407-1", "polkadot-stable2407-1-rc1"]; + assert_eq!(parse_latest_stable(&tags), Some("polkadot-stable2407-1".to_string())); + } + + #[test] + fn parse_version_format_works() { + let mut tags: Vec<&str> = vec![]; + assert_eq!(parse_version_format(&tags), None); + tags = vec![ + "polkadot-v1.10.0", + "polkadot-v1.11.0", + "polkadot-v1.12.0", + "polkadot-v1.7.0", + "polkadot-v1.8.0", + "polkadot-v1.9.0", + ]; + assert_eq!(parse_version_format(&tags), Some("polkadot-v1.12.0".to_string())); + tags = vec!["v1.0.0", "v2.0.0", "v3.0.0"]; + assert_eq!(parse_version_format(&tags), Some("v3.0.0".to_string())); + // Skip the pre-release label + tags = vec!["polkadot-v1.12.0", "v1.15.1-rc2"]; + assert_eq!(parse_version_format(&tags), Some("polkadot-v1.12.0".to_string())); + } +} diff --git a/crates/pop-common/src/sourcing/binary.rs b/crates/pop-common/src/sourcing/binary.rs index 3efa5de4..e85df3eb 100644 --- a/crates/pop-common/src/sourcing/binary.rs +++ b/crates/pop-common/src/sourcing/binary.rs @@ -1,11 +1,11 @@ // SPDX-License-Identifier: GPL-3.0 use crate::{ + polkadot_sdk::parse_latest_tag, sourcing::{ from_local_package, Error, GitHub::{ReleaseArchive, SourceCodeArchive}, - Source, - Source::{Archive, Git, GitHub}, + Source::{self, Archive, Git, GitHub}, }, Status, }; @@ -112,10 +112,11 @@ impl Binary { path.exists().then_some(Some(version.to_string())) }) .nth(0) - .unwrap_or( + .unwrap_or_else(|| { // Default to latest version - available.first().map(|version| version.as_ref().to_string()), - ), + let versions = available.iter().map(|v| v.as_ref()).collect::>(); + parse_latest_tag(versions) + }), } } @@ -237,7 +238,7 @@ mod tests { let name = "polkadot"; let temp_dir = tempdir()?; - let available = vec!["v1.13.0", "v1.12.0", "v1.11.0"]; + let available = vec!["v1.13.0", "v1.12.0", "v1.11.0", "stable2409"]; // Specified let specified = Some("v1.12.0"); @@ -248,7 +249,7 @@ mod tests { // Latest assert_eq!( Binary::resolve_version(name, None, &available, temp_dir.path()).unwrap(), - available[0] + "stable2409" ); // Cached File::create(temp_dir.path().join(format!("{name}-{}", available[1])))?; diff --git a/crates/pop-common/src/templates/extractor.rs b/crates/pop-common/src/templates/extractor.rs index 486487d8..3c550571 100644 --- a/crates/pop-common/src/templates/extractor.rs +++ b/crates/pop-common/src/templates/extractor.rs @@ -12,7 +12,7 @@ use std::{fs, io, path::Path}; /// * `ignore_directories` - A vector of directory names to ignore during the extraction. If empty, /// no directories are ignored. pub fn extract_template_files( - template_name: String, + template_name: &str, repo_directory: &Path, target_directory: &Path, ignore_directories: Option>, @@ -72,7 +72,7 @@ mod tests { // Contract let mut temp_dir = generate_testing_contract("erc20")?; let mut output_dir = tempfile::tempdir()?; - extract_template_files("erc20".to_string(), temp_dir.path(), output_dir.path(), None)?; + extract_template_files("erc20", temp_dir.path(), output_dir.path(), None)?; assert!(output_dir.path().join("lib.rs").exists()); assert!(output_dir.path().join("Cargo.toml").exists()); assert!(output_dir.path().join("frontend").exists()); @@ -81,7 +81,7 @@ mod tests { temp_dir = generate_testing_contract("erc721")?; output_dir = tempfile::tempdir()?; extract_template_files( - "erc721".to_string(), + "erc721", temp_dir.path(), output_dir.path(), Some(vec!["frontend".to_string()]), diff --git a/crates/pop-common/src/templates/mod.rs b/crates/pop-common/src/templates/mod.rs index e4f7604a..45edeebf 100644 --- a/crates/pop-common/src/templates/mod.rs +++ b/crates/pop-common/src/templates/mod.rs @@ -45,6 +45,16 @@ pub trait Template: fn template_type(&self) -> Result<&str, Error> { self.get_str(Self::PROPERTY).ok_or(Error::TypeMissing) } + + /// Get whether the template is deprecated. + fn is_deprecated(&self) -> bool { + self.get_str("IsDeprecated").map_or(false, |s| s == "true") + } + + /// Get the deprecation message for the template + fn deprecated_message(&self) -> &str { + self.get_str("DeprecatedMessage").unwrap_or_default() + } } /// A trait for defining overarching types of specific template variants. @@ -76,7 +86,7 @@ pub trait Type: Clone + Default + EnumMessage + Eq + PartialEq + Va fn templates(&self) -> Vec<&T> { T::VARIANTS .iter() - .filter(|t| t.get_str(T::PROPERTY) == Some(self.name())) + .filter(|t| t.get_str(T::PROPERTY) == Some(self.name()) && !t.is_deprecated()) .collect() } @@ -99,3 +109,15 @@ macro_rules! enum_variants { .try_map(|s| <$e>::from_str(&s).map_err(|e| format!("could not convert from {s} to type"))) }}; } + +#[macro_export] +macro_rules! enum_variants_without_deprecated { + ($e:ty) => {{ + <$e>::VARIANTS + .iter() + .filter(|variant| !variant.is_deprecated()) // Exclude deprecated variants for --help + .map(|v| v.as_ref()) + .collect::>() + .join(", ") + }}; +} diff --git a/crates/pop-contracts/Cargo.toml b/crates/pop-contracts/Cargo.toml index 19bcbdf3..3d4f15fb 100644 --- a/crates/pop-contracts/Cargo.toml +++ b/crates/pop-contracts/Cargo.toml @@ -6,7 +6,7 @@ license = "Apache-2.0" name = "pop-contracts" readme = "README.md" repository.workspace = true -version = "0.3.0" +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -36,7 +36,7 @@ contract-extrinsics.workspace = true contract-transcode.workspace = true scale-info.workspace = true # pop -pop-common = { path = "../pop-common", version = "0.3.0" } +pop-common = { path = "../pop-common", version = "0.5.0" } [dev-dependencies] dirs.workspace = true diff --git a/crates/pop-contracts/src/call.rs b/crates/pop-contracts/src/call.rs index 7a964c38..e45a0a9c 100644 --- a/crates/pop-contracts/src/call.rs +++ b/crates/pop-contracts/src/call.rs @@ -330,11 +330,11 @@ mod tests { }) .await?; let weight = dry_run_gas_estimate_instantiate(&instantiate_exec).await?; - let address = instantiate_smart_contract(instantiate_exec, weight).await?; + let contract_info = instantiate_smart_contract(instantiate_exec, weight).await?; // Test querying a value. let query_exec = set_up_call(CallOpts { path: Some(temp_dir.path().join("testing")), - contract: address.clone(), + contract: contract_info.address.clone(), message: "get".to_string(), args: [].to_vec(), value: "0".to_string(), @@ -350,7 +350,7 @@ mod tests { // Test extrinsic execution by flipping the value. let call_exec = set_up_call(CallOpts { path: Some(temp_dir.path().join("testing")), - contract: address, + contract: contract_info.address, message: "flip".to_string(), args: [].to_vec(), value: "0".to_string(), diff --git a/crates/pop-contracts/src/new.rs b/crates/pop-contracts/src/new.rs index 256c226e..8e11fbd1 100644 --- a/crates/pop-contracts/src/new.rs +++ b/crates/pop-contracts/src/new.rs @@ -65,15 +65,10 @@ fn create_template_contract( // Retrieve only the template contract files. if template == &Contract::PSP22 || template == &Contract::PSP34 { // Different template structure requires extracting different path - extract_template_files( - String::from(""), - temp_dir.path(), - canonicalized_path.as_path(), - None, - )?; + extract_template_files("", temp_dir.path(), canonicalized_path.as_path(), None)?; } else { extract_template_files( - template.to_string(), + template.as_ref(), temp_dir.path(), canonicalized_path.as_path(), Some(vec!["frontend".to_string()]), @@ -95,10 +90,19 @@ pub fn rename_contract(name: &str, path: PathBuf, template: &Contract) -> Result // Replace name in the lib.rs file. file_path = path.join("lib.rs"); let name_in_camel_case = name.to_upper_camel_case(); - let mut replacements_in_contract = HashMap::new(); - replacements_in_contract.insert(template_name.as_str(), name); - replacements_in_contract.insert(template.name(), &name_in_camel_case); - replace_in_file(file_path, replacements_in_contract)?; + replace_in_file( + file_path, + HashMap::from([(template_name.as_str(), name), (template.name(), &name_in_camel_case)]), + )?; + // Replace name in the e2e_tests.rs file if exists. + let e2e_tests = path.join("e2e_tests.rs"); + if e2e_tests.exists() { + let name_in_camel_case = format!("\"{}\"", name.to_upper_camel_case()); + replace_in_file( + e2e_tests, + HashMap::from([(template_name.as_str(), name), (template.name(), &name_in_camel_case)]), + )?; + } Ok(()) } @@ -187,6 +191,20 @@ mod tests { mod erc20 "# )?; + + let e2e_code = temp_dir.path().join("e2e_tests.rs"); + let mut e2e_code_file = fs::File::create(e2e_code.clone())?; + writeln!( + e2e_code_file, + r#" + #[ink_e2e::test] + let contract = client + .instantiate("erc20", &ink_e2e::alice(), &mut constructor) + .submit() + .await + .expect("erc20 instantiate failed"); + "# + )?; Ok(temp_dir) } #[test] @@ -200,6 +218,10 @@ mod tests { let generated_code = fs::read_to_string(temp_dir.path().join("lib.rs")).expect("Could not read file"); assert!(generated_code.contains("mod my_contract")); + let generated_e2e_code = + fs::read_to_string(temp_dir.path().join("e2e_tests.rs")).expect("Could not read file"); + assert!(generated_e2e_code + .contains(".instantiate(\"my_contract\", &ink_e2e::alice(), &mut constructor)")); Ok(()) } diff --git a/crates/pop-contracts/src/node/mod.rs b/crates/pop-contracts/src/node/mod.rs index c4e2978c..6618381b 100644 --- a/crates/pop-contracts/src/node/mod.rs +++ b/crates/pop-contracts/src/node/mod.rs @@ -120,7 +120,7 @@ pub async fn run_contracts_node( output: Option<&File>, ) -> Result { let mut command = Command::new(binary_path); - + command.arg("-linfo,runtime::contracts=debug"); if let Some(output) = output { command.stdout(Stdio::from(output.try_clone()?)); command.stderr(Stdio::from(output.try_clone()?)); diff --git a/crates/pop-contracts/src/templates.rs b/crates/pop-contracts/src/templates.rs index a78c71d7..6c39d8c6 100644 --- a/crates/pop-contracts/src/templates.rs +++ b/crates/pop-contracts/src/templates.rs @@ -104,7 +104,7 @@ pub enum Contract { serialize = "PSP34", message = "Psp34", detailed_message = "The implementation of the PSP34 standard in ink!", - props(Type = "PSP", Repository = "https://github.com/Cardinal-Cryptography/PSP34") + props(Type = "PSP", Repository = "https://github.com/r0gue-io/PSP34") )] PSP34, /// Domain name service example implemented in ink! @@ -162,7 +162,7 @@ mod tests { ("erc721".to_string(), "https://github.com/use-ink/ink-examples"), ("erc1155".to_string(), "https://github.com/use-ink/ink-examples"), ("PSP22".to_string(), "https://github.com/Cardinal-Cryptography/PSP22"), - ("PSP34".to_string(), "https://github.com/Cardinal-Cryptography/PSP34"), + ("PSP34".to_string(), "https://github.com/r0gue-io/PSP34"), ("dns".to_string(), "https://github.com/use-ink/ink-examples"), ("cross-contract-calls".to_string(), "https://github.com/use-ink/ink-examples"), ("multisig".to_string(), "https://github.com/use-ink/ink-examples"), diff --git a/crates/pop-contracts/src/up.rs b/crates/pop-contracts/src/up.rs index 2b304123..17b1bfa7 100644 --- a/crates/pop-contracts/src/up.rs +++ b/crates/pop-contracts/src/up.rs @@ -165,6 +165,14 @@ pub async fn dry_run_upload( } } +/// Type to represent information about a deployed smart contract. +pub struct ContractInfo { + /// The on-chain address of the deployed contract. + pub address: String, + /// The hash of the contract's code + pub code_hash: Option, +} + /// Instantiate a contract. /// /// # Arguments @@ -174,12 +182,15 @@ pub async fn dry_run_upload( pub async fn instantiate_smart_contract( instantiate_exec: InstantiateExec, gas_limit: Weight, -) -> anyhow::Result { +) -> anyhow::Result { let instantiate_result = instantiate_exec .instantiate(Some(gas_limit)) .await .map_err(|error_variant| Error::InstantiateContractError(format!("{:?}", error_variant)))?; - Ok(instantiate_result.contract_address.to_string()) + // If is upload + instantiate, return the code hash. + let hash = instantiate_result.code_hash.map(|code_hash| format!("{:?}", code_hash)); + + Ok(ContractInfo { address: instantiate_result.contract_address.to_string(), code_hash: hash }) } /// Upload a contract. @@ -409,8 +420,9 @@ mod tests { assert!(weight.ref_time() > 0); assert!(weight.proof_size() > 0); // Instantiate smart contract - let address = instantiate_smart_contract(instantiate_exec, weight).await?; - assert!(address.starts_with("5")); + let contract_info = instantiate_smart_contract(instantiate_exec, weight).await?; + assert!(contract_info.address.starts_with("5")); + assert!(contract_info.code_hash.is_none()); // Stop the process contracts-node Command::new("kill") .args(["-s", "TERM", &process.id().to_string()]) diff --git a/crates/pop-parachains/Cargo.toml b/crates/pop-parachains/Cargo.toml index 1ac8166b..dd640682 100644 --- a/crates/pop-parachains/Cargo.toml +++ b/crates/pop-parachains/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "pop-parachains" description = "Library for generating, building and running parachains." -version = "0.3.0" license = "Apache-2.0" documentation = "https://docs.rs/pop-parachains/latest/pop_parachains" edition.workspace = true readme = "README.md" repository.workspace = true +version.workspace = true [dependencies] anyhow.workspace = true @@ -31,10 +31,9 @@ toml_edit.workspace = true walkdir.workspace = true # Zombienet zombienet-sdk.workspace = true -zombienet-support.workspace = true # Pop -pop-common = { path = "../pop-common", version = "0.3.0" } +pop-common = { path = "../pop-common", version = "0.5.0" } [dev-dependencies] mockito.workspace = true diff --git a/crates/pop-parachains/src/build.rs b/crates/pop-parachains/src/build.rs index 346bbaca..27a2acd9 100644 --- a/crates/pop-parachains/src/build.rs +++ b/crates/pop-parachains/src/build.rs @@ -381,7 +381,7 @@ mod tests { config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 4385 diff --git a/crates/pop-parachains/src/new_parachain.rs b/crates/pop-parachains/src/new_parachain.rs index 3ec763f4..8974cfed 100644 --- a/crates/pop-parachains/src/new_parachain.rs +++ b/crates/pop-parachains/src/new_parachain.rs @@ -8,7 +8,7 @@ use crate::{ use anyhow::Result; use pop_common::{ git::Git, - templates::{Template, Type}, + templates::{extractor::extract_template_files, Template, Type}, }; use std::{fs, path::Path}; use walkdir::WalkDir; @@ -32,6 +32,9 @@ pub fn instantiate_template_dir( if Provider::Pop.provides(template) { return instantiate_standard_template(template, target, config, tag_version); } + if Provider::OpenZeppelin.provides(template) { + return instantiate_openzeppelin_template(template, target, tag_version); + } let tag = Git::clone_and_degit(template.repository_url()?, target, tag_version)?; Ok(tag) } @@ -75,6 +78,25 @@ pub fn instantiate_standard_template( Ok(tag) } +pub fn instantiate_openzeppelin_template( + template: &Parachain, + target: &Path, + tag_version: Option, +) -> Result> { + let temp_dir = ::tempfile::TempDir::new_in(std::env::temp_dir())?; + let source = temp_dir.path(); + + let tag = Git::clone_and_degit(template.repository_url()?, source, tag_version)?; + let mut template_name = template.template_name_without_provider(); + // Handle deprecated OpenZeppelin template + if matches!(template, Parachain::DeprecatedOpenZeppelinGeneric) { + template_name = Parachain::OpenZeppelinGeneric.template_name_without_provider(); + } + + extract_template_files(template_name, temp_dir.path(), target, None)?; + Ok(tag) +} + #[cfg(test)] mod tests { use super::*; @@ -120,4 +142,22 @@ mod tests { Ok(()) } + + #[test] + fn test_parachain_instantiate_openzeppelin_template() -> Result<()> { + let temp_dir = tempfile::tempdir().expect("Failed to create temp dir"); + instantiate_openzeppelin_template(&Parachain::OpenZeppelinEVM, temp_dir.path(), None)?; + + let node_manifest = + pop_common::manifest::from_path(Some(&temp_dir.path().join("node/Cargo.toml"))) + .expect("Failed to read file"); + assert_eq!("evm-template-node", node_manifest.package().name()); + + let runtime_manifest = + pop_common::manifest::from_path(Some(&temp_dir.path().join("runtime/Cargo.toml"))) + .expect("Failed to read file"); + assert_eq!("evm-runtime-template", runtime_manifest.package().name()); + + Ok(()) + } } diff --git a/crates/pop-parachains/src/templates.rs b/crates/pop-parachains/src/templates.rs index c90234c8..0f9ba579 100644 --- a/crates/pop-parachains/src/templates.rs +++ b/crates/pop-parachains/src/templates.rs @@ -123,19 +123,34 @@ pub enum Parachain { EVM, // OpenZeppelin #[strum( - serialize = "polkadot-generic-runtime-template", + serialize = "openzeppelin/generic-template", message = "Generic Runtime Template", - detailed_message = "A generic template for Substrate Runtime", + detailed_message = "A generic template for Substrate Runtime.", props( Provider = "OpenZeppelin", Repository = "https://github.com/OpenZeppelin/polkadot-runtime-templates", Network = "./zombienet-config/devnet.toml", - SupportedVersions = "v1.0.0", + SupportedVersions = "v1.0.0,v2.0.1,v2.0.3", IsAudited = "true", License = "GPL-3.0" ) )] OpenZeppelinGeneric, + // OpenZeppelin EVM + #[strum( + serialize = "openzeppelin/evm-template", + message = "EVM Template", + detailed_message = "Parachain with EVM compatibility out of the box.", + props( + Provider = "OpenZeppelin", + Repository = "https://github.com/OpenZeppelin/polkadot-runtime-templates", + Network = "./zombienet-config/devnet.toml", + SupportedVersions = "v2.0.3", + IsAudited = "true", + License = "GPL-3.0" + ) + )] + OpenZeppelinEVM, /// Minimal Substrate node configured for smart contracts via pallet-contracts. #[strum( serialize = "cpt", @@ -162,7 +177,23 @@ pub enum Parachain { ) )] ParityFPT, - + // OpenZeppelin + #[strum( + serialize = "polkadot-generic-runtime-template", + message = "Generic Runtime Template", + detailed_message = "A generic template for Substrate Runtime.", + props( + Provider = "OpenZeppelin", + Repository = "https://github.com/OpenZeppelin/polkadot-runtime-templates", + Network = "./zombienet-config/devnet.toml", + SupportedVersions = "v1.0.0,v2.0.1", + IsAudited = "true", + License = "GPL-3.0", + IsDeprecated = "true", + DeprecatedMessage = "This template is deprecated. Please use openzeppelin/generic-template in the future.", + ) + )] + DeprecatedOpenZeppelinGeneric, // templates for unit tests below #[cfg(test)] #[strum( @@ -175,7 +206,9 @@ pub enum Parachain { Network = "", SupportedVersions = "v1.0.0,v2.0.0", IsAudited = "true", - License = "Unlicense" + IsDeprecated = "true", + DeprecatedMessage = "This template is deprecated. Please use test_02 in the future.", + License = "Unlicense", ) )] TestTemplate01, @@ -216,6 +249,12 @@ impl Parachain { pub fn license(&self) -> Option<&str> { self.get_str("License") } + + /// Gets the template name, removing the provider if present. + pub fn template_name_without_provider(&self) -> &str { + let name = self.as_ref(); + name.split_once('/').map_or(name, |(_, template)| template) + } } #[cfg(test)] @@ -232,7 +271,9 @@ mod tests { ("contracts".to_string(), Contracts), ("evm".to_string(), EVM), // openzeppelin - ("polkadot-generic-runtime-template".to_string(), OpenZeppelinGeneric), + ("openzeppelin/generic-template".to_string(), OpenZeppelinGeneric), + ("openzeppelin/evm-template".to_string(), OpenZeppelinEVM), + ("polkadot-generic-runtime-template".to_string(), DeprecatedOpenZeppelinGeneric), ("cpt".to_string(), ParityContracts), ("fpt".to_string(), ParityFPT), ("test_01".to_string(), TestTemplate01), @@ -240,6 +281,22 @@ mod tests { ]) } + fn templates_names_without_providers() -> HashMap { + HashMap::from([ + (Standard, "standard".to_string()), + (Assets, "assets".to_string()), + (Contracts, "contracts".to_string()), + (EVM, "evm".to_string()), + (OpenZeppelinGeneric, "generic-template".to_string()), + (OpenZeppelinEVM, "evm-template".to_string()), + (DeprecatedOpenZeppelinGeneric, "polkadot-generic-runtime-template".to_string()), + (ParityContracts, "cpt".to_string()), + (ParityFPT, "fpt".to_string()), + (TestTemplate01, "test_01".to_string()), + (TestTemplate02, "test_02".to_string()), + ]) + } + fn templates_urls() -> HashMap { HashMap::from([ ("standard".to_string(), "https://github.com/r0gue-io/base-parachain"), @@ -247,6 +304,14 @@ mod tests { ("contracts".to_string(), "https://github.com/r0gue-io/contracts-parachain"), ("evm".to_string(), "https://github.com/r0gue-io/evm-parachain"), // openzeppelin + ( + "openzeppelin/generic-template".to_string(), + "https://github.com/OpenZeppelin/polkadot-runtime-templates", + ), + ( + "openzeppelin/evm-template".to_string(), + "https://github.com/OpenZeppelin/polkadot-runtime-templates", + ), ( "polkadot-generic-runtime-template".to_string(), "https://github.com/OpenZeppelin/polkadot-runtime-templates", @@ -265,6 +330,8 @@ mod tests { (Contracts, Some("./network.toml")), (EVM, Some("./network.toml")), (OpenZeppelinGeneric, Some("./zombienet-config/devnet.toml")), + (OpenZeppelinEVM, Some("./zombienet-config/devnet.toml")), + (DeprecatedOpenZeppelinGeneric, Some("./zombienet-config/devnet.toml")), (ParityContracts, Some("./zombienet.toml")), (ParityFPT, Some("./zombienet-config.toml")), (TestTemplate01, Some("")), @@ -280,6 +347,8 @@ mod tests { (Contracts, Some("Unlicense")), (EVM, Some("Unlicense")), (OpenZeppelinGeneric, Some("GPL-3.0")), + (OpenZeppelinEVM, Some("GPL-3.0")), + (DeprecatedOpenZeppelinGeneric, Some("GPL-3.0")), (ParityContracts, Some("Unlicense")), (ParityFPT, Some("Unlicense")), (TestTemplate01, Some("Unlicense")), @@ -331,6 +400,7 @@ mod tests { fn test_network_config() { let network_configs = template_network_configs(); for template in Parachain::VARIANTS { + println!("{:?}", template.name()); assert_eq!(template.network_config(), network_configs[template]); } } @@ -399,4 +469,36 @@ mod tests { let template = TestTemplate02; assert_eq!(template.is_audited(), false); } + + #[test] + fn is_deprecated_works() { + let template = TestTemplate01; + assert_eq!(template.is_deprecated(), true); + + let template = TestTemplate02; + assert_eq!(template.is_deprecated(), false); + } + + #[test] + fn deprecated_message_works() { + let template = TestTemplate01; + assert_eq!( + template.deprecated_message(), + "This template is deprecated. Please use test_02 in the future." + ); + + let template = TestTemplate02; + assert_eq!(template.deprecated_message(), ""); + } + + #[test] + fn template_name_without_provider() { + let template_names = templates_names_without_providers(); + for template in Parachain::VARIANTS { + assert_eq!( + template.template_name_without_provider(), + template_names.get(template).unwrap() + ); + } + } } diff --git a/crates/pop-parachains/src/up/chain_specs.rs b/crates/pop-parachains/src/up/chain_specs.rs index 051bbe1d..3513a587 100644 --- a/crates/pop-parachains/src/up/chain_specs.rs +++ b/crates/pop-parachains/src/up/chain_specs.rs @@ -30,7 +30,7 @@ pub(super) enum Runtime { Repository = "https://github.com/r0gue-io/paseo-runtimes", Binary = "chain-spec-generator", Chain = "paseo-local", - Fallback = "v1.2.4" + Fallback = "v1.2.6" ))] Paseo, /// Polkadot. diff --git a/crates/pop-parachains/src/up/mod.rs b/crates/pop-parachains/src/up/mod.rs index 80716606..036ae889 100644 --- a/crates/pop-parachains/src/up/mod.rs +++ b/crates/pop-parachains/src/up/mod.rs @@ -16,8 +16,7 @@ use std::{ use symlink::{remove_symlink_file, symlink_file}; use tempfile::{Builder, NamedTempFile}; use toml_edit::{value, ArrayOfTables, DocumentMut, Formatted, Item, Table, Value}; -use zombienet_sdk::{Network, NetworkConfig, NetworkConfigExt}; -use zombienet_support::fs::local::LocalFileSystem; +use zombienet_sdk::{LocalFileSystem, Network, NetworkConfig, NetworkConfigExt}; mod chain_specs; mod parachains; @@ -445,6 +444,11 @@ impl NetworkConfiguration { let command = format!("{} {}", Self::resolve_path(&path)?, "{{chainName}}"); *table.entry("chain_spec_command").or_insert(value(&command)) = value(&command); } + // Check if EVM based parachain and insert evm_based for zombienet-sdk + let force_decorator = table.get("force_decorator").and_then(|i| i.as_str()); + if force_decorator.is_some() && force_decorator.unwrap() == "generic-evm" { + table.insert("evm_based", value(true)); + } // Resolve individual collator command to binary if let Some(collators) = @@ -676,7 +680,7 @@ mod tests { config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" "# )?; let version = "v1.12.0"; @@ -756,7 +760,7 @@ chain = "paseo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" default_command = "./bin-v1.6.0/polkadot" "# )?; @@ -795,7 +799,7 @@ default_command = "./bin-v1.6.0/polkadot" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -838,7 +842,7 @@ command = "polkadot" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -869,7 +873,7 @@ command = "polkadot-v1.12.0" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" default_command = "polkadot" [[relaychain.nodes]] @@ -896,11 +900,11 @@ command = "polkadot-v1.12.0" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 1000 -chain = "asset-hub-rococo-local" +chain = "asset-hub-paseo-local" "# )?; let system_parachain_version = "v1.12.0"; @@ -988,7 +992,7 @@ chain = "asset-hub-paseo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 4385 @@ -1030,7 +1034,7 @@ default_command = "pop-node" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 4385 @@ -1072,7 +1076,7 @@ default_command = "pop-node" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 2000 @@ -1109,7 +1113,7 @@ default_command = "./target/release/parachain-template-node" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 2000 @@ -1149,7 +1153,7 @@ command = "./target/release/parachain-template-node" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 2000 @@ -1191,7 +1195,7 @@ default_command = "moonbeam" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] "# @@ -1214,7 +1218,7 @@ chain = "rococo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 404 @@ -1239,11 +1243,11 @@ default_command = "missing-binary" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[parachains]] id = 1000 -chain = "asset-hub-rococo-local" +chain = "asset-hub-paseo-local" [[parachains]] id = 2000 @@ -1265,7 +1269,7 @@ default_command = "pop-node" None, ) .await?; - assert_eq!(zombienet.binaries().count(), 4); + assert_eq!(zombienet.binaries().count(), 6); Ok(()) } @@ -1309,7 +1313,7 @@ chain = "asset-hub-paseo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" "# )?; @@ -1340,7 +1344,7 @@ chain = "rococo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" "# )?; File::create(cache.join("polkadot"))?; @@ -1377,7 +1381,7 @@ chain = "rococo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" "# )?; let version = "v1.12.0"; @@ -1413,7 +1417,7 @@ chain = "rococo-local" config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -1476,7 +1480,7 @@ validator = true config.as_file(), r#" [relaychain] - chain = "rococo-local" + chain = "paseo-local" default_command = "polkadot" [[relaychain.nodes]] name = "alice" @@ -1484,7 +1488,7 @@ validator = true )?; let network_config = NetworkConfiguration::from(config.path())?; let relay_chain = network_config.relay_chain()?; - assert_eq!("rococo-local", relay_chain["chain"].as_str().unwrap()); + assert_eq!("paseo-local", relay_chain["chain"].as_str().unwrap()); assert_eq!( "polkadot", NetworkConfiguration::default_command(relay_chain).unwrap().as_str().unwrap() @@ -1502,7 +1506,7 @@ validator = true config.as_file(), r#" [relaychain] - chain = "rococo-local" + chain = "paseo-local" [[parachains]] id = 2000 default_command = "node" @@ -1526,7 +1530,7 @@ validator = true config.as_file(), r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -1534,7 +1538,7 @@ command = "polkadot" [[parachains]] id = 1000 -chain = "asset-hub-rococo-local" +chain = "asset-hub-paseo-local" [[parachains.collators]] name = "asset-hub" @@ -1581,7 +1585,7 @@ command = "./target/release/parachain-template-node" manifest: None, }, workers: ["polkadot-execute-worker", ""], - chain: "rococo-local".to_string(), + chain: "paseo-local".to_string(), chain_spec_generator: None, }, &[ @@ -1637,7 +1641,7 @@ command = "./target/release/parachain-template-node" format!( r#" [relaychain] -chain = "rococo-local" +chain = "paseo-local" default_command = "{0}" [[relaychain.nodes]] @@ -1646,7 +1650,7 @@ command = "{0}" [[parachains]] id = 1000 -chain = "asset-hub-rococo-local" +chain = "asset-hub-paseo-local" default_command = "{1}" [[parachains.collators]] diff --git a/crates/pop-parachains/src/up/parachains.rs b/crates/pop-parachains/src/up/parachains.rs index abd60a4f..06eda16e 100644 --- a/crates/pop-parachains/src/up/parachains.rs +++ b/crates/pop-parachains/src/up/parachains.rs @@ -2,6 +2,7 @@ use super::{chain_specs::chain_spec_generator, Binary}; use pop_common::{ + polkadot_sdk::parse_latest_tag, sourcing::{ traits::{Source as _, *}, GitHub::ReleaseArchive, @@ -28,8 +29,8 @@ pub(super) enum Parachain { #[strum(props( Repository = "https://github.com/r0gue-io/pop-node", Binary = "pop-node", - Prerelease = "true", - Fallback = "v0.1.0-alpha2" + Prerelease = "false", + Fallback = "testnet-v0.4.1" ))] Pop, } @@ -90,7 +91,10 @@ pub(super) async fn system( None => { // Default to same version as relay chain when not explicitly specified // Only set latest when caller has not explicitly specified a version to use - (Some(relay_chain_version.to_string()), para.releases().await?.into_iter().next()) + ( + Some(relay_chain_version.to_string()), + parse_latest_tag(para.releases().await?.iter().map(|s| s.as_str()).collect()), + ) }, }; let source = TryInto::try_into(para, tag, latest)?; @@ -156,7 +160,7 @@ mod tests { None, None, "v1.12.0", - Some("asset-hub-rococo-local"), + Some("asset-hub-paseo-local"), tempdir()?.path() ) .await? diff --git a/crates/pop-parachains/src/up/relay.rs b/crates/pop-parachains/src/up/relay.rs index 8e1e94db..662e639f 100644 --- a/crates/pop-parachains/src/up/relay.rs +++ b/crates/pop-parachains/src/up/relay.rs @@ -3,6 +3,7 @@ use super::chain_specs::chain_spec_generator; pub use pop_common::{ git::GitHub, + polkadot_sdk::parse_latest_tag, sourcing::{ traits::{Source as _, *}, Binary, @@ -104,13 +105,16 @@ pub(super) async fn from( let releases = relay.releases().await?; let tag = Binary::resolve_version(name, version, &releases, cache); // Only set latest when caller has not explicitly specified a version to use - let latest = version.is_none().then(|| releases.first().map(|v| v.to_string())).flatten(); + let latest = version + .is_none() + .then(|| parse_latest_tag(releases.iter().map(|s| s.as_str()).collect())) + .flatten(); let binary = Binary::Source { name: name.to_string(), source: TryInto::try_into(&relay, tag, latest)?, cache: cache.to_path_buf(), }; - let chain = chain.unwrap_or("rococo-local"); + let chain = chain.unwrap_or("paseo-local"); return Ok(super::RelayChain { binary, workers: relay.workers(), diff --git a/crates/pop-parachains/templates/base/chain_spec.templ b/crates/pop-parachains/templates/base/chain_spec.templ index 7049ee55..b4d6df39 100644 --- a/crates/pop-parachains/templates/base/chain_spec.templ +++ b/crates/pop-parachains/templates/base/chain_spec.templ @@ -72,7 +72,7 @@ pub fn development_config() -> ChainSpec { ChainSpec::builder( runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { - relay_chain: "rococo-local".into(), + relay_chain: "paseo-local".into(), // You MUST set this to the correct network! para_id: 2000, }, @@ -123,7 +123,7 @@ pub fn local_testnet_config() -> ChainSpec { ChainSpec::builder( runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { - relay_chain: "rococo-local".into(), + relay_chain: "paseo-local".into(), // You MUST set this to the correct network! para_id: 2000, }, diff --git a/crates/pop-parachains/templates/base/network.templ b/crates/pop-parachains/templates/base/network.templ index 02a01cac..f66860d3 100644 --- a/crates/pop-parachains/templates/base/network.templ +++ b/crates/pop-parachains/templates/base/network.templ @@ -1,5 +1,5 @@ [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" diff --git a/crates/pop-parachains/tests/parachain.rs b/crates/pop-parachains/tests/parachain.rs index 751912e1..1b03c294 100644 --- a/crates/pop-parachains/tests/parachain.rs +++ b/crates/pop-parachains/tests/parachain.rs @@ -102,37 +102,13 @@ async fn launch_polkadot_and_system_parachain() -> Result<()> { } #[tokio::test] -async fn launch_rococo() -> Result<()> { +async fn launch_paseo_and_system_parachain() -> Result<()> { let temp_dir = tempfile::tempdir()?; let cache = temp_dir.path().to_path_buf(); let mut zombienet = Zombienet::new( &cache, - "../../tests/networks/rococo.toml", - Some(BINARY_VERSION), - None, - None, - None, - None, - ) - .await?; - - for binary in zombienet.binaries().filter(|b| !b.exists()) { - binary.source(true, &(), true).await?; - } - - zombienet.spawn().await?; - Ok(()) -} - -#[tokio::test] -async fn launch_rococo_and_system_parachain() -> Result<()> { - let temp_dir = tempfile::tempdir()?; - let cache = temp_dir.path().to_path_buf(); - - let mut zombienet = Zombienet::new( - &cache, - "../../tests/networks/rococo+coretime.toml", + "../../tests/networks/paseo+coretime.toml", Some(BINARY_VERSION), None, Some(BINARY_VERSION), @@ -150,7 +126,7 @@ async fn launch_rococo_and_system_parachain() -> Result<()> { } #[tokio::test] -async fn launch_rococo_and_two_parachains() -> Result<()> { +async fn launch_paseo_and_two_parachains() -> Result<()> { let temp_dir = tempfile::tempdir()?; let cache = temp_dir.path().to_path_buf(); diff --git a/crates/pop-telemetry/Cargo.toml b/crates/pop-telemetry/Cargo.toml index e9a0ce97..9db87516 100644 --- a/crates/pop-telemetry/Cargo.toml +++ b/crates/pop-telemetry/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "pop-telemetry" description = "Library for collecting anonymous Usage Metrics Collection with Umami." -version = "0.3.0" readme = "README.md" edition.workspace = true license.workspace = true repository.workspace = true +version.workspace = true [dependencies] dirs = { workspace = true } diff --git a/tests/networks/rococo+coretime.toml b/tests/networks/paseo+coretime.toml similarity index 62% rename from tests/networks/rococo+coretime.toml rename to tests/networks/paseo+coretime.toml index ffa9c65e..f7cbf5f5 100644 --- a/tests/networks/rococo+coretime.toml +++ b/tests/networks/paseo+coretime.toml @@ -1,7 +1,7 @@ -# pop up parachain -f ./tests/networks/rococo+coretime.toml +# pop up parachain -f ./tests/networks/paseo+coretime.toml [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -13,7 +13,7 @@ validator = true [[parachains]] id = 1005 -chain = "coretime-rococo-local" +chain = "coretime-paseo-local" [[parachains.collators]] name = "coretime-01" \ No newline at end of file diff --git a/tests/networks/pop.toml b/tests/networks/pop.toml index 8dd1b563..9ad7c871 100644 --- a/tests/networks/pop.toml +++ b/tests/networks/pop.toml @@ -1,7 +1,7 @@ # pop up parachain -f ./tests/networks/pop.toml [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice" @@ -13,7 +13,7 @@ validator = true [[parachains]] id = 1000 -chain = "asset-hub-rococo-local" +chain = "asset-hub-paseo-local" [[parachains.collators]] name = "asset-hub" diff --git a/tests/networks/rococo.toml b/tests/networks/rococo.toml deleted file mode 100644 index 040190a1..00000000 --- a/tests/networks/rococo.toml +++ /dev/null @@ -1,12 +0,0 @@ -# pop up parachain -f ./tests/networks/rococo.toml - -[relaychain] -chain = "rococo-local" - -[[relaychain.nodes]] -name = "alice" -validator = true - -[[relaychain.nodes]] -name = "bob" -validator = true \ No newline at end of file diff --git a/tests/networks/template.toml b/tests/networks/template.toml index bfced0c4..87d1f0c8 100644 --- a/tests/networks/template.toml +++ b/tests/networks/template.toml @@ -1,7 +1,7 @@ # pop up parachain -f ./tests/networks/template.toml [relaychain] -chain = "rococo-local" +chain = "paseo-local" [[relaychain.nodes]] name = "alice"