From fb1b48e2bc3c34eabf92462799d8d2fe88567526 Mon Sep 17 00:00:00 2001 From: PG Herveou Date: Wed, 10 Apr 2024 14:53:03 +0200 Subject: [PATCH 01/51] Bump polkadot-sdk deps (#2196) * Update deps * update ci * fix cargo.toml --- .github/workflows/ci.yml | 8 +- Cargo.lock | 902 +++++------------- Cargo.toml | 28 +- .../public/runtime-call-contract/Cargo.toml | 8 +- 4 files changed, 264 insertions(+), 682 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5600d144a5..f44b7aec10 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ env: # this target also makes sure that we don't pull in `std` by accident (through dependencies). # RISC-V is a modular architecture. We might switch to a different flavor with more features # later. For example, `riscv32imc-unknown-none-elf`. - RISCV_TARGET: riscv32i-unknown-none-elf + RISCV_TARGET: riscv32ema-unknown-none-elf concurrency: # Cancel in-progress jobs triggered only on pull_requests @@ -234,7 +234,8 @@ jobs: - name: Check RISCV if: ${{ matrix.type == 'RISCV' }} env: - RUSTC_BOOTSTRAP: 1 + RUSTC_BOOTSTRAP: 1 + RUSTUP_TOOLCHAIN: rve-nightly run: | for crate in ${ALSO_WASM_CRATES}; do cargo check --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc" \ @@ -611,7 +612,8 @@ jobs: - name: Build Contract RISCV Examples if: ${{ matrix.type == 'RISCV' }} env: - RUSTC_BOOTSTRAP: 1 + RUSTC_BOOTSTRAP: 1 + RUSTUP_TOOLCHAIN: rve-nightly run: | rustup component add rust-src --toolchain stable cargo contract -V diff --git a/Cargo.lock b/Cargo.lock index dbadb6db4c..a7fddeb118 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,22 +12,13 @@ dependencies = [ "regex", ] -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli 0.27.3", -] - [[package]] name = "addr2line" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.1", + "gimli", ] [[package]] @@ -183,7 +174,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -399,7 +390,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.31", + "rustix", "slab", "tracing", "windows-sys 0.52.0", @@ -450,7 +441,7 @@ dependencies = [ "cfg-if", "event-listener 5.2.0", "futures-lite", - "rustix 0.38.31", + "rustix", "windows-sys 0.52.0", ] @@ -466,7 +457,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.31", + "rustix", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -480,13 +471,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -513,12 +504,12 @@ version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line 0.21.0", + "addr2line", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object", "rustc-demangle", ] @@ -561,15 +552,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bip39" version = "2.0.0" @@ -909,7 +891,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1099,15 +1081,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - [[package]] name = "cpufeatures" version = "0.2.12" @@ -1117,15 +1090,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cranelift-entity" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" -dependencies = [ - "serde", -] - [[package]] name = "crc32fast" version = "1.4.0" @@ -1252,7 +1216,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1279,7 +1243,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1296,7 +1260,7 @@ checksum = "70b5b86cf65fa0626d85720619d80b288013477a91a0389fa8bc716bf4903ad1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1344,7 +1308,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1366,7 +1330,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core 0.20.8", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1411,6 +1375,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive-syn-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1459,26 +1434,26 @@ checksum = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632" [[package]] name = "docify" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc4fd38aaa9fb98ac70794c82a00360d1e165a87fbf96a8a91f9dfc602aaee2" +checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce" dependencies = [ "docify_macros", ] [[package]] name = "docify_macros" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63fa215f3a0d40fb2a221b3aa90d8e1fbb8379785a990cb60d62ac71ebdc6460" +checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" dependencies = [ "common-path", - "derive-syn-parse", + "derive-syn-parse 0.2.0", "once_cell", "proc-macro2", "quote", "regex", - "syn 2.0.52", + "syn 2.0.58", "termcolor", "toml", "walkdir", @@ -1714,15 +1689,9 @@ dependencies = [ "prettier-please", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fastrand" version = "2.0.1" @@ -1774,9 +1743,9 @@ dependencies = [ [[package]] name = "frame-benchmarking" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fee087c6a7ddbc6dcfb6a6015d4b2787ecbb2113ed8b8bee8ff15f2bdf93f94" +checksum = "7f6f8e21cbac73688175cf9b531ed1c3f6578420a0f6106282aa8e5ed6fe3347" dependencies = [ "frame-support", "frame-support-procedural", @@ -1807,14 +1776,14 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "frame-election-provider-support" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d651327ec98d12fbdb0d25346de929e3ea2ab8a1ef85570794d9d8d54f204f28" +checksum = "9c897b912f222280123eedee768b172ed74600292dfbb22843c95c9177e97358" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1853,9 +1822,9 @@ dependencies = [ [[package]] name = "frame-support" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81aecbbc1c62055e8ce472283bc655bf6c0f968a4d22d504bf6aad4ea44ccbc4" +checksum = "97100a956a2cd152ad4e63a5ec7b5e58503653223a73fff6e916b910b37f12ed" dependencies = [ "aquamarine", "array-bytes", @@ -1895,13 +1864,13 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082f09f6b96dd767c32588f4ee336a77e4ef87e5528e24b7b17298808629078" +checksum = "7a74eda80052082e8acd36c7fa232569ce1f968c7ae2adc56d082039ac9d6ba4" dependencies = [ "Inflector", "cfg-expr", - "derive-syn-parse", + "derive-syn-parse 0.2.0", "expander", "frame-support-procedural-tools", "itertools 0.10.5", @@ -1910,20 +1879,20 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "frame-support-procedural-tools" -version = "11.0.0" +version = "11.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be30b1ce0b477476a3fe13cd8ff479007582340d14f0ddea9e832b01e706a07" +checksum = "b482a1d18fa63aed1ff3fe3fcfb3bc23d92cb3903d6b9774f75dc2c4e1001c3a" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1934,14 +1903,14 @@ checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "frame-system" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7537b5e23f584bf54f26c6297e0260b54fac5298be43a115176a310f256a4ab" +checksum = "562e02f5139f1beb0edd3cac2db3f974d98b7459342210d101f451d26886ca33" dependencies = [ "cfg-if", "docify", @@ -2043,7 +2012,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2114,17 +2083,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "gimli" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.28.1" @@ -2590,7 +2548,7 @@ dependencies = [ "ink_prelude", "ink_primitives", "ink_storage", - "pallet-contracts-uapi-next", + "pallet-contracts-uapi", "parity-scale-codec", "scale-info", "trybuild", @@ -2622,7 +2580,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2673,7 +2631,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.52", + "syn 2.0.58", "temp-env", "tracing-subscriber 0.3.18", ] @@ -2685,7 +2643,7 @@ dependencies = [ "blake2", "derive_more", "ink_primitives", - "pallet-contracts-uapi-next", + "pallet-contracts-uapi", "parity-scale-codec", "secp256k1", "sha2 0.10.8", @@ -2707,7 +2665,7 @@ dependencies = [ "ink_primitives", "ink_storage_traits", "num-traits", - "pallet-contracts-uapi-next", + "pallet-contracts-uapi", "parity-scale-codec", "paste", "rlibc", @@ -2732,7 +2690,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2751,7 +2709,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.52", + "syn 2.0.58", "synstructure", ] @@ -2825,7 +2783,7 @@ dependencies = [ "ink_primitives", "ink_storage_traits", "itertools 0.12.1", - "pallet-contracts-uapi-next", + "pallet-contracts-uapi", "parity-scale-codec", "quickcheck", "quickcheck_macros", @@ -2871,17 +2829,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "itertools" version = "0.10.5" @@ -3148,7 +3095,7 @@ checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3160,12 +3107,6 @@ dependencies = [ "nalgebra", ] -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -3197,15 +3138,6 @@ dependencies = [ "hashbrown 0.14.3", ] -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "macro_magic" version = "0.5.0" @@ -3215,7 +3147,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3225,11 +3157,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" dependencies = [ "const-random", - "derive-syn-parse", + "derive-syn-parse 0.1.5", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3240,7 +3172,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3251,7 +3183,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3288,24 +3220,6 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" -[[package]] -name = "memfd" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" -dependencies = [ - "rustix 0.38.31", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.32.0" @@ -3495,18 +3409,6 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - [[package]] name = "object" version = "0.32.2" @@ -3552,9 +3454,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-assets" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805543c2ea1f10f14bc767f156b8ec80785345b683eaa59dea84d28745a87ee3" +checksum = "eda0d9362dc1b75cead58f5e9a6004d305f81b2bf38c52e5454d1d868e2cc98f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3569,9 +3471,9 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "31.0.1" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9c124d86227da7ae9073cc2984c0384c7830f7fa61450c0990c56837335da2" +checksum = "303077e7ec8808fdd9df22a6eaf9d38932a9b7df07c29423935384cf43babb2f" dependencies = [ "frame-support", "frame-system", @@ -3586,9 +3488,9 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168348a94c479b7da001b3f0d1100210704eda8ce72c58aac456f1d866d7d67" +checksum = "f3544ca79d7b1f3b9a0efe6b54038143962e8b05d57a3a4172cd11e7216c43d6" dependencies = [ "frame-support", "frame-system", @@ -3601,9 +3503,9 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37353294183655c76cdc56ffc5edf777b1e2275af59ae73c8aa255b6d941b362" +checksum = "ac02d082761843190fddfea58ce3a8cf042e92d2d78bb21426d2f960880a875c" dependencies = [ "frame-benchmarking", "frame-support", @@ -3626,9 +3528,9 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "31.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3565d525dd88e07da5b2309cd6ffe7447ddc5406eeaa2cb26157d35787a69a7" +checksum = "b56b559fbf1b04e08f42b08c0cb133cf732b4b0cafd315a3a24ba1ae60669d7e" dependencies = [ "docify", "frame-benchmarking", @@ -3643,9 +3545,9 @@ dependencies = [ [[package]] name = "pallet-broker" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b05f01c3d279cd661eba2c391844bac03fa5f979b9de821e6eb1cbe6069dfc" +checksum = "c0d73ed3f977ca5874e32936f7605e83e96f7eb0cb7fca46b9a3f5a8df1933d5" dependencies = [ "bitvec", "frame-benchmarking", @@ -3661,9 +3563,9 @@ dependencies = [ [[package]] name = "pallet-contracts" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a186a60e5b6f7927f8aa77e2fbd7b331b22ad8de870f261dc9d87627d21cbe3" +checksum = "3ae7354ec341dbdd1df77fd0a55708fa49a164901db89920fdca4132f3991ee1" dependencies = [ "bitflags 1.3.2", "environmental", @@ -3676,6 +3578,7 @@ dependencies = [ "pallet-contracts-proc-macro", "pallet-contracts-uapi", "parity-scale-codec", + "paste", "rand", "scale-info", "serde", @@ -3693,9 +3596,9 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" -version = "6.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa6163c3e77a384d645640a79fe9b7724108a033277aaa80352349e6b40f2a4d" +checksum = "7a45769de14f1e7010e62aed9536729c01019a3622535a6e2eedfdf3ad0d5788" dependencies = [ "frame-support", "frame-system", @@ -3736,38 +3639,27 @@ checksum = "de0cb1d904c58964cf5015adc7683fb9467b8b7e8f281619aae403f43dc2c48c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "pallet-contracts-uapi" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2b8fce1fa76a3d59b49a532cb43de816f9e5c77dba87d9a7367d764a04e8d7" +checksum = "2d7a51646d9ff1d91abd0186d2c074f0dfd3b1a2d55f08a229a2f2e4bc6d1e49" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", "paste", - "polkavm-derive 0.5.0", + "polkavm-derive", "scale-info", ] -[[package]] -name = "pallet-contracts-uapi-next" -version = "6.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd549c16296ea5b2eb7c65c56aba548b286c1be4d7675b424ff6ccb8319c97a9" -dependencies = [ - "bitflags 1.3.2", - "paste", - "polkavm-derive 0.5.0", -] - [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64ef4b927ac6eb250c75b5e1932fc549af500a618eafee17a5b1a736a7b65a6" +checksum = "468c687f355d48dfaa2ff73fe25f6b2de309a75a075ecbb00471b96e0c825385" dependencies = [ "frame-support", "frame-system", @@ -3780,9 +3672,9 @@ dependencies = [ [[package]] name = "pallet-message-queue" -version = "34.0.0" +version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063b2e7912fbbe67985e68e460f2f242b90de48a63a1f03dd2ae022154ba25e9" +checksum = "1bd58fa73c9e498414c9e6757f5ff1dbb81b9c7439231018c19aca99c35fd35b" dependencies = [ "environmental", "frame-benchmarking", @@ -3801,9 +3693,9 @@ dependencies = [ [[package]] name = "pallet-proxy" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61918227f99ed2b322bf9050337773c8a40908b2f6a800352a20485e5ba0ef1c" +checksum = "936d02c265142821c0144336d6724ec1fc56ddf333837f5ab502798fab5a447e" dependencies = [ "frame-benchmarking", "frame-support", @@ -3817,9 +3709,9 @@ dependencies = [ [[package]] name = "pallet-session" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17951aa288869e5afe5815eedc7038dd50b9741d215b66323ff4a12f5686ac15" +checksum = "061827f23d4a702a2e159ff84286a0a89488615c31ad05a9af7cc93a57e2b441" dependencies = [ "frame-support", "frame-system", @@ -3840,9 +3732,9 @@ dependencies = [ [[package]] name = "pallet-staking" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baeb3d22e737307280e2047cba983cc9aa477a6f4c3001e8c1f07077d148c8f7" +checksum = "2b8ab61dc6b74c79ad396732c1850dafa89109b749b2b651a1d4f20f45f596a3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -3863,9 +3755,9 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb766403f8cabcedb1725326befd7253de3e4c1d3b3d5f7c40adc49ebee5040c" +checksum = "196720afcbee2f2fd1acfed5a667cffb3914d1311b36adb4d1a3a67d7010e2a5" dependencies = [ "docify", "frame-benchmarking", @@ -3884,9 +3776,9 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12df1de833ad0abff5daa53f80594d6ef66d250cc1ae073c01e406ce37bbf25e" +checksum = "dedf412abd258989da4a26946f7e480c4335ffc837baef4ef21ba91cd56ba8ee" dependencies = [ "frame-support", "frame-system", @@ -3901,9 +3793,9 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c54ec28e67769b35a650d497ddd10bf0dd783d14965a1034cdcb71ae1d1442" +checksum = "9d770b7c961afe12adc5a727a5d02b44ef09ce38d1dd5923793b3e52e5afde3c" dependencies = [ "frame-benchmarking", "frame-support", @@ -3918,9 +3810,9 @@ dependencies = [ [[package]] name = "pallet-vesting" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5627016e1cb40d02bf589507429558208c05948d1399ab405307bfe3b1d967" +checksum = "24ce37af22cc31883dfdafa334c4e1f7cea8f2d4fb964f3aa88d77d5eea7ba94" dependencies = [ "frame-benchmarking", "frame-support", @@ -3934,9 +3826,9 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99985bc697d3548281b08e1893d3d2f97023498321c7348932d9cc0c7470a6" +checksum = "649a096b0c178cb81b0e11fac4d2c67eda7cdae949d2a4c7ef693d2b39d677c6" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -3954,6 +3846,7 @@ dependencies = [ "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", + "xcm-fee-payment-runtime-api", ] [[package]] @@ -4081,7 +3974,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4125,9 +4018,9 @@ checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polkadot-core-primitives" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c2f38f3195108e9da39b9845895bb3dff76f1c7b31409143febeb1560cd276" +checksum = "9792d6e3323b0bd7372a489bd3dd52afb09436919d073d45302f8e55f48ea4fd" dependencies = [ "parity-scale-codec", "scale-info", @@ -4138,9 +4031,9 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b87dda07862f2b16f2c2b7d315f2b4549c896562d973d466b6d19de36aba30d" +checksum = "fe77e2febc4b87e7c0a63f857ce5c32a2680cae5f9c2740285cd7378ed1586ca" dependencies = [ "bounded-collections", "derive_more", @@ -4156,9 +4049,9 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01b525a35852e2861397eecbdb4a03dda69f14f7ca04968f2e06d6cba51dfb" +checksum = "71eabc294df35faa0877f6427e9a37d3b8323922aa0372cc9208e492d8f1b2f5" dependencies = [ "bitvec", "hex-literal", @@ -4184,9 +4077,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fed9088becfd874b6dbf064f9d1dd1bfa2e3c2188459a572aac2e689c028772" +checksum = "d3c04cc730f9ddcd9a663eddb95915d783704d11ea12eb2882c0abe18968b9de" dependencies = [ "bs58", "frame-benchmarking", @@ -4198,9 +4091,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce601c5f1005ff1d315c1e5c161a73e63e54bf23527f98c2bfa3ffc5b22f5e6" +checksum = "32edd5b366f1e45995f613997ed259993cd2746f0407f186136696d54e24d784" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -4245,74 +4138,19 @@ dependencies = [ "staging-xcm-executor", ] -[[package]] -name = "polkavm-common" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b4e215c80fe876147f3d58158d5dfeae7dabdd6047e175af77095b78d0035c" - -[[package]] -name = "polkavm-common" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817" - [[package]] name = "polkavm-common" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" -[[package]] -name = "polkavm-derive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8" -dependencies = [ - "polkavm-derive-impl 0.5.0", - "syn 2.0.52", -] - -[[package]] -name = "polkavm-derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125" -dependencies = [ - "polkavm-derive-impl-macro 0.8.0", -] - [[package]] name = "polkavm-derive" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" dependencies = [ - "polkavm-derive-impl-macro 0.9.0", -] - -[[package]] -name = "polkavm-derive-impl" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc8211b3365bbafb2fb32057d68b0e1ca55d079f5cf6f9da9b98079b94b3987d" -dependencies = [ - "polkavm-common 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.52", -] - -[[package]] -name = "polkavm-derive-impl" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c" -dependencies = [ - "polkavm-common 0.8.0", - "proc-macro2", - "quote", - "syn 2.0.52", + "polkavm-derive-impl-macro", ] [[package]] @@ -4321,20 +4159,10 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" dependencies = [ - "polkavm-common 0.9.0", + "polkavm-common", "proc-macro2", "quote", - "syn 2.0.52", -] - -[[package]] -name = "polkavm-derive-impl-macro" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" -dependencies = [ - "polkavm-derive-impl 0.8.0", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4343,8 +4171,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ - "polkavm-derive-impl 0.9.0", - "syn 2.0.52", + "polkavm-derive-impl", + "syn 2.0.58", ] [[package]] @@ -4356,7 +4184,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.31", + "rustix", "tracing", "windows-sys 0.52.0", ] @@ -4391,7 +4219,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" dependencies = [ "proc-macro2", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4477,7 +4305,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4489,15 +4317,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "psm" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" -dependencies = [ - "cc", -] - [[package]] name = "quickcheck" version = "1.0.3" @@ -4603,7 +4422,7 @@ checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4717,20 +4536,6 @@ dependencies = [ "semver 1.0.22", ] -[[package]] -name = "rustix" -version = "0.36.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - [[package]] name = "rustix" version = "0.38.31" @@ -4740,7 +4545,7 @@ dependencies = [ "bitflags 2.4.2", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys", "windows-sys 0.52.0", ] @@ -5004,7 +4809,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.52", + "syn 2.0.58", "thiserror", ] @@ -5229,7 +5034,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -5262,7 +5067,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -5594,9 +5399,9 @@ dependencies = [ [[package]] name = "sp-api" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3fb2cdf7ee9b8d6ec7c2d8740b1a506e393dc18c7c2776764b47136d72dce7" +checksum = "c8abd1d0732054ad896db8f092abe822106f1acf8bbc462c70f57d0f24c0dcdf" dependencies = [ "hash-db", "log", @@ -5617,9 +5422,9 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "17.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f313c5a62b352b0a89935be68059919b8c1cc15f774b1abe0a651929b68dc9db" +checksum = "681e80c1b259ee71880cd3b4ad2a2d41454596252bd267c3edf4e14552ab40e1" dependencies = [ "Inflector", "blake2", @@ -5627,14 +5432,14 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "sp-application-crypto" -version = "33.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ca6121c22c8bd3d1dce1f05c479101fd0d7b159bef2a3e8c834138d839c75c" +checksum = "1505fad69251900048ddddc6387265e1545d1a366e3b4dcd57b76a03f0a65ae7" dependencies = [ "parity-scale-codec", "scale-info", @@ -5646,10 +5451,11 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "910c07fa263b20bf7271fdd4adcb5d3217dfdac14270592e0780223542e7e114" +checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" dependencies = [ + "docify", "integer-sqrt", "num-traits", "parity-scale-codec", @@ -5661,23 +5467,22 @@ dependencies = [ [[package]] name = "sp-authority-discovery" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab47c385784b3f9646a21d5dcb236399083d77420a1269e70c04772336c519f" +checksum = "4f5700c6f51afc80af2dd2b39973183d7527e8b5be390fa125d777f948db0e88" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", "sp-application-crypto", "sp-runtime", - "sp-std", ] [[package]] name = "sp-consensus-babe" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb593ec8ec674a583d6fc5386b7f8964a9db78dcaabc0595559145a4053c9f6c" +checksum = "a3500dd1ceb99ca5e6f399d37c4e42f22fcbb6505e07378791ebe57eec6a1960" dependencies = [ "async-trait", "parity-scale-codec", @@ -5689,28 +5494,26 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-slots" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a5c47c52ad58aa349f7c13cb356ab45c32964ee28354c27fd6e4b417cb2644" +checksum = "52dcae1dac6908d80bceaff4f311bc694c3b9c0d3ac6e74128ed4e3a29e9e31f" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-core" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d7a0fd8f16dcc3761198fc83be12872f823b37b749bc72a3a6a1f702509366" +checksum = "bb2dac7e47c7ddbb61efe196d5cce99f6ea88926c961fa39909bfeae46fc5a7b" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -5775,7 +5578,7 @@ checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -5786,60 +5589,57 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "sp-externalities" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d6a4572eadd4a63cff92509a210bf425501a0c5e76574b30a366ac77653787" +checksum = "33abaec4be69b1613796bbf430decbbcaaf978756379e2016e683a4d6379cd02" dependencies = [ "environmental", "parity-scale-codec", - "sp-std", "sp-storage", ] [[package]] name = "sp-genesis-builder" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a1192b502d38c6d17b1005a7b3e7a6ab835df996803968ae3be9e8f7399ee4" +checksum = "ee8a812b56fb4ed6a598ad7b43be127702aba1f7351ad4916f5bab995054cdc5" dependencies = [ "serde_json", "sp-api", "sp-runtime", - "sp-std", ] [[package]] name = "sp-inherents" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5e46ccc5848542648dcf05f882e41de2e341d0eeca97ff2b7dfad0f38e8500" +checksum = "0fcba3b816fdfadf30d8c7c484e1873f1af89ed2560c77d2b2137d152cc5a585" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", "thiserror", ] [[package]] name = "sp-io" -version = "33.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e09bba780b55bd9e67979cd8f654a31e4a6cf45426ff371394a65953d2177f2" +checksum = "c44ed47247b6eee76ff703f9fa9f04f99c4104ac1faf629e6d1128e09066b57b" dependencies = [ "bytes", "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", - "polkavm-derive 0.9.1", + "polkavm-derive", "rustversion", "secp256k1", "sp-core", @@ -5857,20 +5657,20 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "34.0.0" +version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a07a31da596d705b3a3458d784a897af7fd2f8090de436dc386a112e8ea7f34f" +checksum = "089da5d08c4a6b4a36de664de287f4a391ac338e351a923b79aedfc46162f201" dependencies = [ "sp-core", "sp-runtime", - "strum 0.24.1", + "strum 0.26.2", ] [[package]] name = "sp-keystore" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbab8b61bd61d5f8625a0c75753b5d5a23be55d3445419acd42caf59cf6236b" +checksum = "4e6c7a7abd860a5211a356cf9d5fcabf0eb37d997985e5d722b6b33dcc815528" dependencies = [ "parity-scale-codec", "parking_lot", @@ -5880,21 +5680,20 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0b5e87e56c1bb26d9524d48dd127121d630f895bd5914a34f0b017489f7c1d" +checksum = "a616fa51350b35326682a472ee8e6ba742fdacb18babac38ecd46b3e05ead869" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", "scale-info", - "sp-std", ] [[package]] name = "sp-npos-elections" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03ec553bc1a0f4d3aa902d3c5b3cdbe76f8218c642cbca0305722b3f8bbc826" +checksum = "3ae4f90a3a36f052f4f9aa6f6ab1d59cf6f895f3a939f40dbe1f3e14907a2e31" dependencies = [ "parity-scale-codec", "scale-info", @@ -5902,7 +5701,6 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std", ] [[package]] @@ -5918,9 +5716,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "34.0.0" +version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3cb126971e7db2f0fcf8053dce740684c438c7180cfca1959598230f342c58" +checksum = "42ce931b7fbfdeeca1340801dbd4a1cae54ad4c97a1e3dcfcc79709bc800dd46" dependencies = [ "docify", "either", @@ -5943,14 +5741,14 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a675ea4858333d4d755899ed5ed780174aa34fec15953428d516af5452295" +checksum = "647db5e1dc481686628b41554e832df6ab400c4b43a6a54e54d3b0a71ca404aa" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "polkavm-derive 0.8.0", + "polkavm-derive", "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", @@ -5972,14 +5770,14 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "sp-session" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a61ea4ca90f644da2c25edee711b53b1c0b8d50628ceef372224ea24d252b57" +checksum = "3d66f0f2f00e4c520deae07eeab7acf04c1a41dd875c7a4689e4e4302fb89925" dependencies = [ "parity-scale-codec", "scale-info", @@ -5988,14 +5786,13 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std", ] [[package]] name = "sp-staking" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114cde17987eaa2f17b8850a8c856b90364666cdbc920d511e7a1cde0574d24" +checksum = "09a43ec7f6c9759ba3011a16bb022afe056bc26f88b3c424598737cba71d3ef0" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6003,14 +5800,13 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std", ] [[package]] name = "sp-state-machine" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eae0eac8034ba14437e772366336f579398a46d101de13dbb781ab1e35e67c5" +checksum = "21d9078306c3066f1824e41153e1ceec34231d39d9a7e7956b101eadf7b9fd3a" dependencies = [ "hash-db", "log", @@ -6021,7 +5817,6 @@ dependencies = [ "sp-core", "sp-externalities", "sp-panic-handler", - "sp-std", "sp-trie", "thiserror", "tracing", @@ -6036,40 +5831,37 @@ checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-storage" -version = "20.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dba5791cb3978e95daf99dad919ecb3ec35565604e88cd38d805d9d4981e8bd" +checksum = "99c82989b3a4979a7e1ad848aad9f5d0b4388f1f454cc131766526601ab9e8f8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", "sp-debug-derive", - "sp-std", ] [[package]] name = "sp-timestamp" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d51fcd008fd5a79d61dba98c7ae89c2460a49dff07001bf1e9b12535d49536" +checksum = "d6d3965ef60cc066fcc01dbcb7837404f40de8ac58f1115e3a3a1d6550575ff6" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", "sp-runtime", - "sp-std", "thiserror", ] [[package]] name = "sp-tracing" -version = "16.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" +checksum = "90b3decf116db9f1dfaf1f1597096b043d0e12c952d3bcdc018c6d6b77deec7e" dependencies = [ "parity-scale-codec", - "sp-std", "tracing", "tracing-core", "tracing-subscriber 0.2.25", @@ -6077,9 +5869,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1aa91ad26c62b93d73e65f9ce7ebd04459c4bad086599348846a81988d6faa4" +checksum = "d1f5b3620a1c87c265a83d85d7519c6b60c47acf7f77593966afe313d086f00e" dependencies = [ "ahash 0.8.11", "hash-db", @@ -6093,7 +5885,6 @@ dependencies = [ "schnellru", "sp-core", "sp-externalities", - "sp-std", "thiserror", "tracing", "trie-db", @@ -6102,9 +5893,9 @@ dependencies = [ [[package]] name = "sp-version" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c0219b1aeb89e36d13bd43a718920a9087dbb66c567e672c4639cefb2fefc05" +checksum = "3ba2f18b89ac5f356fb247f70163098bc976117221c373d5590079a5797a3b43" dependencies = [ "impl-serde", "parity-scale-codec", @@ -6120,35 +5911,32 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9bc3fed32d6dacbbbfb28dd1fe0224affbb737cb6cbfca1d9149351c2b69a7d" +checksum = "5aee8f6730641a65fcf0c8f9b1e448af4b3bb083d08058b47528188bccc7b7a7" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "sp-wasm-interface" -version = "20.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef97172c42eb4c6c26506f325f48463e9bc29b2034a587f1b9e48c751229bee" +checksum = "3b04b919e150b4736d85089d49327eab65507deb1485eec929af69daa2278eb3" dependencies = [ - "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std", - "wasmtime", ] [[package]] name = "sp-weights" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af6c661fe3066b29f9e1d258000f402ff5cc2529a9191972d214e5871d0ba87" +checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -6157,7 +5945,6 @@ dependencies = [ "smallvec", "sp-arithmetic", "sp-debug-derive", - "sp-std", ] [[package]] @@ -6191,17 +5978,11 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "staging-xcm" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ee775f7fc9dfae15d9d5a806efa7d3215f7b7b1cfd225809285a0281addeab" +checksum = "aded0292274ad473250c22ed3deaf2d9ed47d15786d700e9e83ab7c1cad2ad44" dependencies = [ "array-bytes", "bounded-collections", @@ -6218,9 +5999,9 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c905c7e545eb80efdbf62470575a37935260503494453ffa3c1ac6207d06c9" +checksum = "0681b0a478c2f5e1f1ae9b7e8e4970d79ec8ef94f4efebc011ea335822bc264e" dependencies = [ "frame-support", "frame-system", @@ -6241,9 +6022,9 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e30434a78d4392b698bc7854c00f52d83c1c544da4be1912f898958c3e32f062" +checksum = "cb518e82e9982c90c32b66263642385fc186c76f329766884d3360b65e84dd46" dependencies = [ "environmental", "frame-benchmarking", @@ -6284,9 +6065,6 @@ name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros 0.24.3", -] [[package]] name = "strum" @@ -6320,14 +6098,14 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "substrate-bip39" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b564c293e6194e8b222e52436bcb99f60de72043c7f845cf6c4406db4df121" +checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -6394,7 +6172,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.52", + "syn 2.0.58", "thiserror", "tokio", ] @@ -6428,7 +6206,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -6481,9 +6259,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -6498,7 +6276,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -6507,12 +6285,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "target-lexicon" -version = "0.12.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" - [[package]] name = "temp-env" version = "0.3.6" @@ -6530,7 +6302,7 @@ checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "rustix 0.38.31", + "rustix", "windows-sys 0.52.0", ] @@ -6570,7 +6342,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -6663,7 +6435,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -6828,7 +6600,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -7152,7 +6924,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-shared", ] @@ -7174,7 +6946,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7274,16 +7046,6 @@ dependencies = [ "paste", ] -[[package]] -name = "wasmparser" -version = "0.102.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" -dependencies = [ - "indexmap 1.9.3", - "url", -] - [[package]] name = "wasmparser-nostd" version = "0.100.1" @@ -7293,138 +7055,6 @@ dependencies = [ "indexmap-nostd", ] -[[package]] -name = "wasmtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "object 0.30.4", - "once_cell", - "paste", - "psm", - "serde", - "target-lexicon", - "wasmparser", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-asm-macros" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "wasmtime-environ" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" -dependencies = [ - "anyhow", - "cranelift-entity", - "gimli 0.27.3", - "indexmap 1.9.3", - "log", - "object 0.30.4", - "serde", - "target-lexicon", - "thiserror", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "wasmtime-jit" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" -dependencies = [ - "addr2line 0.19.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli 0.27.3", - "log", - "object 0.30.4", - "rustc-demangle", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" -dependencies = [ - "once_cell", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "mach", - "memfd", - "memoffset", - "paste", - "rand", - "rustix 0.36.17", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-jit-debug", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-types" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" -dependencies = [ - "cranelift-entity", - "serde", - "thiserror", - "wasmparser", -] - [[package]] name = "wast" version = "202.0.0" @@ -7455,7 +7085,7 @@ checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" dependencies = [ "either", "home", - "rustix 0.38.31", + "rustix", "winsafe", ] @@ -7509,15 +7139,6 @@ dependencies = [ "windows-targets 0.52.4", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -7536,21 +7157,6 @@ dependencies = [ "windows-targets 0.52.4", ] -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-targets" version = "0.48.5" @@ -7581,12 +7187,6 @@ dependencies = [ "windows_x86_64_msvc 0.52.4", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7599,12 +7199,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7617,12 +7211,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7635,12 +7223,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7653,12 +7235,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7671,12 +7247,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7689,12 +7259,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7752,6 +7316,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "xcm-fee-payment-runtime-api" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9c9513e249ed6d355d0243748c70cb0d7ca81d0604707f334fd481d54e8264" +dependencies = [ + "frame-support", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-runtime", + "sp-std", + "sp-weights", + "staging-xcm", +] + [[package]] name = "xcm-procedural" version = "8.0.0" @@ -7761,14 +7341,14 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "xcm-simulator" -version = "10.0.0" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2039d951ee20d6047f573b979522fa5ba297398cd5a8e2150961f32ab975bd08" +checksum = "3bc066f8fb323311921b07e88cb853e84d95d055673884b2bea0fb1664c34ea3" dependencies = [ "frame-support", "parity-scale-codec", @@ -7818,7 +7398,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -7838,7 +7418,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 960f91303c..0f3a7be88a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -85,20 +85,20 @@ wat = { version = "1.202.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } -frame-system = { version = "31.0.0", default-features = false } -frame-support = { version = "31.0.0", default-features = false } -pallet-contracts = { version = "30.0.0", default-features = false } -pallet-balances = { version = "31.0.0", default-features = false } -pallet-timestamp = { version = "30.0.0", default-features = false } -pallet-contracts-uapi = { package = "pallet-contracts-uapi-next", version = "=6.0.3", default-features = false } -pallet-contracts-mock-network = { version = "6.0.0", default-features = false } -sp-externalities = { version = "0.27.0", default-features = false } -sp-io = { version = "33.0.0", default-features = false } -sp-runtime-interface = { version = "26.0.0" } -sp-core = { version = "31.0.0", default-features = false } -sp-keyring = { version = "34.0.0", default-features = false } -sp-runtime = { version = "34.0.0", default-features = false } -sp-weights = { version = "30.0.0", default-features = false } +frame-system = { version = "32.0.0", default-features = false } +frame-support = { version = "32.0.0", default-features = false } +pallet-contracts = { version = "31.0.0", default-features = false } +pallet-balances = { version = "33.0.0", default-features = false } +pallet-timestamp = { version = "31.0.0", default-features = false } +pallet-contracts-uapi = { version = "9.0.0", default-features = false } +pallet-contracts-mock-network = { version = "7.0.0", default-features = false } +sp-externalities = { version = "0.28.0", default-features = false } +sp-io = { version = "34.0.0", default-features = false } +sp-runtime-interface = { version = "27.0.0" } +sp-core = { version = "32.0.0", default-features = false } +sp-keyring = { version = "35.0.0", default-features = false } +sp-runtime = { version = "35.0.0", default-features = false } +sp-weights = { version = "31.0.0", default-features = false } # Local dependencies ink = { version = "=5.0.0", path = "crates/ink", default-features = false } diff --git a/integration-tests/public/runtime-call-contract/Cargo.toml b/integration-tests/public/runtime-call-contract/Cargo.toml index 87b0b33274..1545955eb8 100644 --- a/integration-tests/public/runtime-call-contract/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/Cargo.toml @@ -10,9 +10,9 @@ license = "Apache-2.0" repository = "https://github.com/paritytech/ink" [workspace.dependencies] -frame-support = { version = "31.0.0", default-features = false } -frame-system = { version = "31.0.0", default-features = false } -pallet-contracts = { version = "30.0.0", default-features = false } +frame-support = { version = "32.0.0", default-features = false } +frame-system = { version = "32.0.0", default-features = false } +pallet-contracts = { version = "31.0.0", default-features = false } codec = { package = "parity-scale-codec", version = "3.6.9", default-features = false } scale-info = { version = "2.11.1", default-features = false } @@ -33,7 +33,7 @@ sandbox-runtime = { path = "sandbox-runtime", default-features = false } scale-value = "0.14.1" # can't use workspace dependency because of `cargo-contract` build not # working with workspace dependencies -frame-support = { version = "31.0.0", default-features = false } +frame-support = { version = "32.0.0", default-features = false } [lib] path = "lib.rs" From f0e968b7c4251b3d42d3a73621137b01952c11c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 19:37:07 +0000 Subject: [PATCH 02/51] Bump quote from 1.0.35 to 1.0.36 (#2197) Bumps [quote](https://github.com/dtolnay/quote) from 1.0.35 to 1.0.36. - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36) --- updated-dependencies: - dependency-name: quote dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a7fddeb118..6d3cad9e61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4341,9 +4341,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] From db7260e49c53d79097494f027b25694629036fd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 19:32:39 +0000 Subject: [PATCH 03/51] Bump subxt from 0.35.2 to 0.35.3 (#2202) Bumps [subxt](https://github.com/paritytech/subxt) from 0.35.2 to 0.35.3. - [Release notes](https://github.com/paritytech/subxt/releases) - [Changelog](https://github.com/paritytech/subxt/blob/v0.35.3/CHANGELOG.md) - [Commits](https://github.com/paritytech/subxt/compare/v0.35.2...v0.35.3) --- updated-dependencies: - dependency-name: subxt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 24 ++++++++++++------------ Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d3cad9e61..880fa3c938 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4802,9 +4802,9 @@ dependencies = [ [[package]] name = "scale-typegen" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6108609f017741c78d35967c7afe4aeaa3999b848282581041428e10d23b63" +checksum = "d470fa75e71b12b3244a4113adc4bc49891f3daba2054703cacd06256066397e" dependencies = [ "proc-macro2", "quote", @@ -6122,9 +6122,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subxt" -version = "0.35.2" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388162448313740aabe675bff00698e72f876b1c6ec85d4d2c34783cfa32a0f7" +checksum = "bd68bef23f4de5e513ab4c29af69053e232b098f9c87ab552d7ea153b4a1fbc5" dependencies = [ "async-trait", "base58", @@ -6158,9 +6158,9 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.35.0" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2afcd8f197bd7fc8bc215b381d6464005dd0a594e1ec3ff5ef310930019ac69f" +checksum = "9d9e2b256b71d31a2629e44eb9cbfd944eb7d577c9e0c8e9802cc3c3943af2d9" dependencies = [ "frame-metadata 16.0.0", "heck 0.4.1", @@ -6179,9 +6179,9 @@ dependencies = [ [[package]] name = "subxt-lightclient" -version = "0.35.0" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e8ec205884dfb7aae0ec9755233c2006b54d9e0135efedc6095682f01f3437" +checksum = "1d51f1ac12e3be7aafea4d037730a57da4f22f2e9c73955666081ffa2697c6f1" dependencies = [ "futures", "futures-util", @@ -6196,9 +6196,9 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.35.0" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48afc319f8f413270da8cefda8141228bd1b3d17394f6daccfc03b7623fe24f" +checksum = "98dc84d7e6a0abd7ed407cce0bf60d7d58004f699460cffb979640717d1ab506" dependencies = [ "darling 0.20.8", "parity-scale-codec", @@ -6211,9 +6211,9 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.35.2" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65ffc8b7d246ebd38611f818547ee8e09fd69717cb79aae22e3a54fc423e6e14" +checksum = "cc10c54028d079a9f1be65188707cd29e5ffd8d0031a2b1346a0941d57b7ab7e" dependencies = [ "derive_more", "frame-metadata 16.0.0", diff --git a/Cargo.toml b/Cargo.toml index 0f3a7be88a..bdb94cee04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,7 +67,7 @@ serde_json = { version = "1.0.115" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } static_assertions = { version = "1.1" } -subxt = { version = "0.35.2" } +subxt = { version = "0.35.3" } subxt-metadata = { version = "0.35.2" } subxt-signer = { version = "0.35.2" } syn = { version = "2" } From f902b51deeaa0022f9a3df785dbca20a059c3fd7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:09:35 +0000 Subject: [PATCH 04/51] Bump baptiste0928/cargo-install from 3.0.1 to 3.1.0 (#2199) --- .github/workflows/examples.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index a746dac317..3fd1ee49ec 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -48,13 +48,13 @@ jobs: components: rust-src - name: Install cargo-dylint - uses: baptiste0928/cargo-install@94e1849646e5797d0c8b34d8e525124ae9ae1d86 # v3.0.1 + uses: baptiste0928/cargo-install@9f6037ed331dcf7da101461a20656273fa72abf0 # v3.1.0 with: crate: cargo-dylint version: 1 - name: Install dylint-link - uses: baptiste0928/cargo-install@94e1849646e5797d0c8b34d8e525124ae9ae1d86 # v3.0.1 + uses: baptiste0928/cargo-install@9f6037ed331dcf7da101461a20656273fa72abf0 # v3.1.0 with: crate: dylint-link version: 1 @@ -77,7 +77,7 @@ jobs: uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 - name: Install `cargo-contract` `master` - uses: baptiste0928/cargo-install@94e1849646e5797d0c8b34d8e525124ae9ae1d86 # v3.0.1 + uses: baptiste0928/cargo-install@9f6037ed331dcf7da101461a20656273fa72abf0 # v3.1.0 with: crate: cargo-contract git: https://github.com/paritytech/cargo-contract.git From 9a39fa944e604549eccaa39d0cd7bf25f9325ff0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 19:52:10 +0000 Subject: [PATCH 05/51] Bump subxt-signer from 0.35.2 to 0.35.3 (#2204) Bumps [subxt-signer](https://github.com/paritytech/subxt) from 0.35.2 to 0.35.3. - [Release notes](https://github.com/paritytech/subxt/releases) - [Changelog](https://github.com/paritytech/subxt/blob/v0.35.3/CHANGELOG.md) - [Commits](https://github.com/paritytech/subxt/compare/v0.35.2...v0.35.3) --- updated-dependencies: - dependency-name: subxt-signer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 880fa3c938..dd319481ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6225,9 +6225,9 @@ dependencies = [ [[package]] name = "subxt-signer" -version = "0.35.2" +version = "0.35.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccee87fcaa2c64a57d098f5d0b26c315a9febf7eac91990be8ff1f37c78a308" +checksum = "6ccb59a38fe357fab55247756174435e8626b93929864e8a498635a15e779df8" dependencies = [ "bip39", "cfg-if", diff --git a/Cargo.toml b/Cargo.toml index bdb94cee04..57cfbafbaa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,7 +69,7 @@ sha3 = { version = "0.10" } static_assertions = { version = "1.1" } subxt = { version = "0.35.3" } subxt-metadata = { version = "0.35.2" } -subxt-signer = { version = "0.35.2" } +subxt-signer = { version = "0.35.3" } syn = { version = "2" } synstructure = { version = "0.13.1" } thiserror = { version = "1.0.58" } From 9fa7400f66ad4001382566c45806b75a9237a8db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:00:24 +0000 Subject: [PATCH 06/51] Bump proc-macro2 from 1.0.79 to 1.0.80 (#2208) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.79 to 1.0.80. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.79...1.0.80) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dd319481ca..03212ef4f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4310,9 +4310,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" dependencies = [ "unicode-ident", ] From 37dd41f48bb39eb25b732db10e3b1f6c256a5dc5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:09:03 +0000 Subject: [PATCH 07/51] Bump either from 1.10.0 to 1.11.0 (#2206) --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 03212ef4f6..2fad5c8e7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1574,9 +1574,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "elliptic-curve" diff --git a/Cargo.toml b/Cargo.toml index 57cfbafbaa..eaf00ae462 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,7 +41,7 @@ cfg-if = { version = "1.0" } contract-build = { version = "4.0.2" } darling = { version = "0.20.8" } derive_more = { version = "0.99.17", default-features = false } -either = { version = "1.5", default-features = false } +either = { version = "1.11", default-features = false } funty = { version = "2.0.0" } heck = { version = "0.5.0" } impl-serde = { version = "0.4.0", default-features = false } From 96943c22c14e606ea0b85904102d99f0452cc523 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:09:51 +0000 Subject: [PATCH 08/51] Bump dtolnay/rust-toolchain (#2205) --- .github/workflows/examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 3fd1ee49ec..632286a98c 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -42,7 +42,7 @@ jobs: - name: Install toolchain id: toolchain - uses: dtolnay/rust-toolchain@dc6353516c68da0f06325f42ad880f76a5e77ec9 # Master branch, Rust up to 1.74.1 + uses: dtolnay/rust-toolchain@bb45937a053e097f8591208d8e74c90db1873d07 # Master branch, Rust up to 1.74.1 with: toolchain: ${{ matrix.toolchain }} components: rust-src From 54909310490915bc2bf5d93a30d68fc251a0e197 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:17:08 +0000 Subject: [PATCH 09/51] Bump wat from 1.202.0 to 1.203.0 (#2207) --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2fad5c8e7a..fd5411d7ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6959,9 +6959,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" -version = "0.202.0" +version = "0.203.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd106365a7f5f7aa3c1916a98cbb3ad477f5ff96ddb130285a91c6e7429e67a" +checksum = "87e3b46a0d9d9143d57aa926c42e2af284b5cb8f0c7b71079afc7a6fca42db50" dependencies = [ "leb128", ] @@ -7057,9 +7057,9 @@ dependencies = [ [[package]] name = "wast" -version = "202.0.0" +version = "203.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbcb11204515c953c9b42ede0a46a1c5e17f82af05c4fae201a8efff1b0f4fe" +checksum = "872020f79fa7a09aeaec308d0ba60816e2f808d9b402e2f89d2a9c76eda482cd" dependencies = [ "bumpalo", "leb128", @@ -7070,9 +7070,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.202.0" +version = "1.203.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de4b15a47135c56a3573406e9977b9518787a6154459b4842a9b9d3d1684848" +checksum = "e2913b554125048798744fce03832d5330d87624782f8ec6ad8c9716a1ef7a37" dependencies = [ "wast", ] diff --git a/Cargo.toml b/Cargo.toml index eaf00ae462..9f6be76615 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } const_env = { version = "0.1"} -wat = { version = "1.202.0" } +wat = { version = "1.203.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } From 69636e51b6543da18247bd4b364869cf521e8ee7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:00:51 +0000 Subject: [PATCH 10/51] Bump contract-build from 4.0.2 to 4.1.0 (#2198) --- Cargo.lock | 32 ++++++++++++++++---------------- Cargo.toml | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fd5411d7ef..7f0ab33c8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -862,9 +862,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.2" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -884,11 +884,11 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.58", @@ -1007,9 +1007,9 @@ checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" [[package]] name = "contract-build" -version = "4.0.2" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1419d360c4519b3995a7e390f0f6a72a386c2cfb9a187f1114a3e9c719e02c1" +checksum = "3a763393bc398ab511cf51628627d9588a2fa893fc1ec0e1dfe05d7b173fd786" dependencies = [ "anyhow", "blake2", @@ -1047,9 +1047,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "4.0.2" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b31736c09a0d23fec6263686d4bce595634faeed1875520fecf191985f7a2db" +checksum = "6677355cffc5ddf3619573fb10da3cd4464e4995444d2e3b5d6811cb29056116" dependencies = [ "anyhow", "impl-serde", @@ -6487,14 +6487,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.10" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.6", + "toml_edit 0.22.9", ] [[package]] @@ -6541,9 +6541,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.6" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" dependencies = [ "indexmap 2.2.5", "serde", @@ -6977,9 +6977,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.116.0" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc942673e7684671f0c5708fc18993569d184265fd5223bb51fc8e5b9b6cfd52" +checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" dependencies = [ "anyhow", "libc", diff --git a/Cargo.toml b/Cargo.toml index 9f6be76615..49c4ebe80d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ array-init = { version = "2.0", default-features = false } blake2 = { version = "0.10" } cargo_metadata = { version = "0.18.0" } cfg-if = { version = "1.0" } -contract-build = { version = "4.0.2" } +contract-build = { version = "4.1.0" } darling = { version = "0.20.8" } derive_more = { version = "0.99.17", default-features = false } either = { version = "1.11", default-features = false } From 46a4c8efa82cef05d4a71b18ac26464abfd529b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 19:30:48 +0000 Subject: [PATCH 11/51] Bump serde_json from 1.0.115 to 1.0.116 (#2210) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.115 to 1.0.116. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.115...v1.0.116) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7f0ab33c8a..6e8a004f7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5050,9 +5050,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", diff --git a/Cargo.toml b/Cargo.toml index 49c4ebe80d..7ffafa92b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } serde = { version = "1.0.197", default-features = false } -serde_json = { version = "1.0.115" } +serde_json = { version = "1.0.116" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } static_assertions = { version = "1.1" } From deb360d28588572bfd9f644321d71ea102f8b484 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 20:19:49 +0000 Subject: [PATCH 12/51] Bump serde from 1.0.197 to 1.0.198 (#2213) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.197 to 1.0.198. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.198) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6e8a004f7a..ff4ef173ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5010,9 +5010,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" dependencies = [ "serde_derive", ] @@ -5028,9 +5028,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 7ffafa92b8..3195cf632f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ scale-encode = { version = "0.6.0", default-features = false } scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } -serde = { version = "1.0.197", default-features = false } +serde = { version = "1.0.198", default-features = false } serde_json = { version = "1.0.116" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } From 03c9aae8f29fa07cf2209862d8a6a5499258243d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 20:20:08 +0000 Subject: [PATCH 13/51] Bump proc-macro2 from 1.0.80 to 1.0.81 (#2214) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.80 to 1.0.81. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.80...1.0.81) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff4ef173ba..4cc293778e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4310,9 +4310,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] From e0ca3badcaf934e1a0029edcd58402936749c43e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 20:20:23 +0000 Subject: [PATCH 14/51] Bump contract-build from 4.1.0 to 4.1.1 (#2212) Bumps [contract-build](https://github.com/paritytech/cargo-contract) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/paritytech/cargo-contract/releases) - [Changelog](https://github.com/paritytech/cargo-contract/blob/master/CHANGELOG.md) - [Commits](https://github.com/paritytech/cargo-contract/compare/v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: contract-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4cc293778e..b5a0f078ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1007,9 +1007,9 @@ checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" [[package]] name = "contract-build" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a763393bc398ab511cf51628627d9588a2fa893fc1ec0e1dfe05d7b173fd786" +checksum = "d30f629d8cb26692c4e5f4155e8ab37649f1b2fd0abab64a4c1b3c95c9bcf3df" dependencies = [ "anyhow", "blake2", @@ -1047,9 +1047,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6677355cffc5ddf3619573fb10da3cd4464e4995444d2e3b5d6811cb29056116" +checksum = "dd54ed69476dc2076d6ebda17351babe1c2f33751170877f66719e8129078d3a" dependencies = [ "anyhow", "impl-serde", diff --git a/Cargo.toml b/Cargo.toml index 3195cf632f..1c0cc062eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ array-init = { version = "2.0", default-features = false } blake2 = { version = "0.10" } cargo_metadata = { version = "0.18.0" } cfg-if = { version = "1.0" } -contract-build = { version = "4.1.0" } +contract-build = { version = "4.1.1" } darling = { version = "0.20.8" } derive_more = { version = "0.99.17", default-features = false } either = { version = "1.11", default-features = false } From 0d28fc97cff7311e3bd1690cedb20e0d8ef75076 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 10:44:59 +0100 Subject: [PATCH 15/51] Bump wat from 1.203.0 to 1.204.0 (#2209) Bumps [wat](https://github.com/bytecodealliance/wasm-tools) from 1.203.0 to 1.204.0. - [Release notes](https://github.com/bytecodealliance/wasm-tools/releases) - [Commits](https://github.com/bytecodealliance/wasm-tools/compare/v1.203.0...v1.204.0) --- updated-dependencies: - dependency-name: wat dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5a0f078ca..88ee911ae7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6959,9 +6959,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" -version = "0.203.0" +version = "0.204.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e3b46a0d9d9143d57aa926c42e2af284b5cb8f0c7b71079afc7a6fca42db50" +checksum = "500cbde9b4d8dfc0335ec729d226dbf083e51e47501ac71e6addaed10ccb0a51" dependencies = [ "leb128", ] @@ -7057,9 +7057,9 @@ dependencies = [ [[package]] name = "wast" -version = "203.0.0" +version = "204.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872020f79fa7a09aeaec308d0ba60816e2f808d9b402e2f89d2a9c76eda482cd" +checksum = "a0e3de19692b3d4c2fa13775271a751935decf530ae59c408c9f0b510b4ead62" dependencies = [ "bumpalo", "leb128", @@ -7070,9 +7070,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.203.0" +version = "1.204.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2913b554125048798744fce03832d5330d87624782f8ec6ad8c9716a1ef7a37" +checksum = "4280322d523214024d03bc05e25bdda6088d5229d9515aecd78c5914b1f3e734" dependencies = [ "wast", ] diff --git a/Cargo.toml b/Cargo.toml index 1c0cc062eb..2fbf1f930a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } const_env = { version = "0.1"} -wat = { version = "1.203.0" } +wat = { version = "1.204.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } From 6530c2dfe4fb3be787a0665a05e048f2b6267538 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 20:12:44 +0000 Subject: [PATCH 16/51] Bump rustls from 0.21.10 to 0.21.11 (#2216) Bumps [rustls](https://github.com/rustls/rustls) from 0.21.10 to 0.21.11. - [Release notes](https://github.com/rustls/rustls/releases) - [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md) - [Commits](https://github.com/rustls/rustls/compare/v/0.21.10...v/0.21.11) --- updated-dependencies: - dependency-name: rustls dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 88ee911ae7..d55024f331 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2380,7 +2380,7 @@ dependencies = [ "http 0.2.12", "hyper 0.14.28", "log", - "rustls 0.21.10", + "rustls 0.21.11", "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", @@ -4551,9 +4551,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" dependencies = [ "log", "ring", @@ -6444,7 +6444,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.11", "tokio", ] From e528a87b1058bc80b7c22968bb437e0251495823 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 20:14:56 +0000 Subject: [PATCH 17/51] Bump thiserror from 1.0.58 to 1.0.59 (#2217) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.58 to 1.0.59. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d55024f331..1dd69b226b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6327,18 +6327,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 2fbf1f930a..b3aeb6409b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,7 @@ subxt-metadata = { version = "0.35.2" } subxt-signer = { version = "0.35.3" } syn = { version = "2" } synstructure = { version = "0.13.1" } -thiserror = { version = "1.0.58" } +thiserror = { version = "1.0.59" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } From ef91c60e52eb5d3ae80fd25082bc0a9468332e36 Mon Sep 17 00:00:00 2001 From: Georgiy Komarov Date: Wed, 24 Apr 2024 11:03:25 -0400 Subject: [PATCH 18/51] Update `ink_linting` toolchain (#2112) * chore: remove redundant file * feat: Update `clippy_utils` * feat: Unpin `curve25519-dalek` * feat: Update linting toolchain * chore: Remove a redundant file * feat(linter): Support a new version of toolchain * chore: Clippy warning * chore: Unpin `curve25519-dalek` --- linting/Cargo.toml | 7 +------ linting/extra/src/strict_balance_equality.rs | 18 +++++++++++++----- linting/mandatory/Cargo.toml | 1 - linting/rust-toolchain.toml | 2 +- linting/utils/Cargo.toml | 2 +- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/linting/Cargo.toml b/linting/Cargo.toml index 9d8ce9e886..b40ed14155 100644 --- a/linting/Cargo.toml +++ b/linting/Cargo.toml @@ -17,12 +17,7 @@ keywords = ["parity", "blockchain", "edsl", "dylint", "linting"] [workspace.dependencies] ink_linting_utils = { version = "=5.0.0", path = "utils" } -curve25519-dalek = { version = "=4.1.1", default-features = false, features = [ - "digest", - "zeroize", - "precomputed-tables", - "legacy_compatibility", -] } + [workspace.metadata.dylint] libraries = [ { path = "mandatory" }, diff --git a/linting/extra/src/strict_balance_equality.rs b/linting/extra/src/strict_balance_equality.rs index 67d961f6c8..882153cc0e 100644 --- a/linting/extra/src/strict_balance_equality.rs +++ b/linting/extra/src/strict_balance_equality.rs @@ -65,7 +65,10 @@ use rustc_session::{ declare_lint, declare_lint_pass, }; -use rustc_span::Span; +use rustc_span::{ + source_map::Spanned, + Span, +}; use std::collections::{ HashMap, HashSet, @@ -394,7 +397,7 @@ impl<'tcx> TransferFunction<'_, 'tcx> { // with balance after calling the function. fn get_tainted_input_args( &self, - input_args: &[Operand], + input_args: &[Spanned>], fn_mir: &Body, fn_state: &BitSet, ) -> Vec { @@ -403,7 +406,7 @@ impl<'tcx> TransferFunction<'_, 'tcx> { |mut acc, (caller_op, callee_local)| { if_chain! { if fn_state.contains(callee_local); - if let Some(caller_place) = caller_op.place(); + if let Some(caller_place) = caller_op.node.place(); then { let ref_local = caller_place.local; acc.push(ref_local); @@ -421,9 +424,14 @@ impl<'tcx> TransferFunction<'_, 'tcx> { fn_def_id.is_local() } - fn visit_call(&mut self, func: &ConstOperand, args: &[Operand], destination: &Place) { + fn visit_call( + &mut self, + func: &ConstOperand, + args: &[Spanned>], + destination: &Place, + ) { let init_taints = args.iter().fold(Vec::new(), |mut acc, arg| { - if let Operand::Move(place) | Operand::Copy(place) = arg { + if let Operand::Move(place) | Operand::Copy(place) = arg.node { acc.push(self.state.contains(place.local)) } acc diff --git a/linting/mandatory/Cargo.toml b/linting/mandatory/Cargo.toml index 0a58cc33de..325674f5c7 100644 --- a/linting/mandatory/Cargo.toml +++ b/linting/mandatory/Cargo.toml @@ -22,7 +22,6 @@ if_chain = "1.0.2" log = "0.4.14" regex = "1.5.4" ink_linting_utils = { workspace = true } -curve25519-dalek = { workspace = true } [dev-dependencies] dylint_testing = "2.6.0" diff --git a/linting/rust-toolchain.toml b/linting/rust-toolchain.toml index 19e193e3ff..52abcef67d 100644 --- a/linting/rust-toolchain.toml +++ b/linting/rust-toolchain.toml @@ -2,5 +2,5 @@ # https://github.com/trailofbits/dylint/blob/ef7210cb08aac920c18d2141604efe210029f2a2/internal/template/rust-toolchain [toolchain] -channel = "nightly-2023-12-28" +channel = "nightly-2024-02-08" components = ["llvm-tools-preview", "rustc-dev"] diff --git a/linting/utils/Cargo.toml b/linting/utils/Cargo.toml index de72bd6dca..6cd892f1a0 100644 --- a/linting/utils/Cargo.toml +++ b/linting/utils/Cargo.toml @@ -15,7 +15,7 @@ include = ["Cargo.toml", "*.rs", "LICENSE"] [dependencies] if_chain = "1.0.2" -parity_clippy_utils = { package = "clippy_utils", git = "https://github.com/rust-lang/rust-clippy", rev = "3fceca23bb64e304df56b3bd86d26790b5301bdf" } +parity_clippy_utils = { package = "clippy_utils", git = "https://github.com/rust-lang/rust-clippy", rev = "2ca6c8419432b18474516a3b62d6d1ea46b9df78" } [package.metadata.rust-analyzer] rustc_private = true From a0063f7c7c18a36b55fb324420eccb6f14c2fce8 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Wed, 24 Apr 2024 16:05:56 +0100 Subject: [PATCH 19/51] `[E2E]` Add sandbox err message (#2218) * Add sandbox err message * Comment and `From` impl * runtime_call error --- crates/e2e/src/error.rs | 23 ++++++++++++++++++++--- crates/e2e/src/sandbox_client.rs | 22 ++++++++++------------ 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/crates/e2e/src/error.rs b/crates/e2e/src/error.rs index d8861e348d..03d6e1dc1c 100644 --- a/crates/e2e/src/error.rs +++ b/crates/e2e/src/error.rs @@ -73,16 +73,33 @@ where /// Dummy error type for sandbox_client #[derive(Debug, thiserror::Error)] -pub struct SandboxErr; +pub struct SandboxErr { + msg: String, +} + +impl SandboxErr { + /// Create a new `SandboxErr` with the given message. + pub fn new(msg: String) -> Self { + Self { msg } + } +} + +impl From for SandboxErr { + fn from(msg: String) -> Self { + Self { msg } + } +} impl fmt::Display for SandboxErr { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "SandboxErr") + write!(f, "SandboxErr: {}", self.msg) } } impl From> for SandboxErr { fn from(_value: ContractExecResult) -> Self { - Self {} + Self { + msg: "ContractExecResult".to_string(), + } } } diff --git a/crates/e2e/src/sandbox_client.rs b/crates/e2e/src/sandbox_client.rs index de8d92d2f1..524a855547 100644 --- a/crates/e2e/src/sandbox_client.rs +++ b/crates/e2e/src/sandbox_client.rs @@ -180,9 +180,9 @@ where // Encode the call object. let call = subxt::dynamic::tx(pallet_name, call_name, call_data); - let encoded_call = call - .encode_call_data(&metadata.into()) - .map_err(|_| SandboxErr)?; + let encoded_call = call.encode_call_data(&metadata.into()).map_err(|err| { + SandboxErr::new(format!("runtime_call: Error encoding call: {err:?}")) + })?; // Decode the call object. // Panic on error - we just encoded a validated call object, so it should be @@ -197,7 +197,9 @@ where decoded_call, S::convert_account_to_origin(keypair_to_account(origin)), ) - .map_err(|_| SandboxErr)?; + .map_err(|err| { + SandboxErr::new(format!("runtime_call: execution error {:?}", err.error)) + })?; Ok(()) } @@ -244,7 +246,7 @@ where let account_id_raw = match &result.result { Err(err) => { log_error(&format!("Instantiation failed: {err:?}")); - return Err(SandboxErr); + return Err(SandboxErr::new(format!("bare_instantiate: {err:?}"))); } Ok(res) => *res.account_id.as_ref(), }; @@ -319,7 +321,7 @@ where Ok(result) => result, Err(err) => { log_error(&format!("Upload failed: {err:?}")); - return Err(SandboxErr); + return Err(SandboxErr::new(format!("bare_upload: {err:?}"))) } }; @@ -362,8 +364,7 @@ where let exec_input = Encode::encode(message.clone().params().exec_input()); let account_id = (*account_id.as_ref()).into(); - if self - .sandbox + self.sandbox .call_contract( account_id, value, @@ -374,10 +375,7 @@ where pallet_contracts::Determinism::Enforced, ) .result - .is_err() - { - return Err(SandboxErr); - } + .map_err(|err| SandboxErr::new(format!("bare_call: {err:?}")))?; Ok(()) } From 225c5d53f7d12659346ebc7f88ea578be552dee6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:14:55 +0000 Subject: [PATCH 20/51] Bump wat from 1.204.0 to 1.205.0 (#2215) --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1dd69b226b..69d72290a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6959,9 +6959,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" -version = "0.204.0" +version = "0.205.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbde9b4d8dfc0335ec729d226dbf083e51e47501ac71e6addaed10ccb0a51" +checksum = "90e95b3563d164f33c1cfb0a7efbd5940c37710019be10cd09f800fdec8b0e5c" dependencies = [ "leb128", ] @@ -7057,9 +7057,9 @@ dependencies = [ [[package]] name = "wast" -version = "204.0.0" +version = "205.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e3de19692b3d4c2fa13775271a751935decf530ae59c408c9f0b510b4ead62" +checksum = "441a6a195b3b5245e26d450bbcc91366c6b652382a22f63cbe3c73240e13b2bb" dependencies = [ "bumpalo", "leb128", @@ -7070,9 +7070,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.204.0" +version = "1.205.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4280322d523214024d03bc05e25bdda6088d5229d9515aecd78c5914b1f3e734" +checksum = "19832624d606e7c6bf3cd4caa73578ecec5eac30c768269256d19c79900beb18" dependencies = [ "wast", ] diff --git a/Cargo.toml b/Cargo.toml index b3aeb6409b..ba26e91e7a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } const_env = { version = "0.1"} -wat = { version = "1.204.0" } +wat = { version = "1.205.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } From bf00de444a23e12a4f4dd083591e90eab8958825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 26 Apr 2024 12:02:45 +0200 Subject: [PATCH 21/51] Remove `@paritytech/ci` user from code owners (#2221) --- CODEOWNERS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index c7c74828dd..2e419f3f7e 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -20,7 +20,7 @@ * @cmichi @ascjones @smiasojed # CI -/.github/workflows/ @paritytech/ci @cmichi @ascjones @smiasojed -/.github/scripts/ @paritytech/ci @cmichi @ascjones @smiasojed -/.github/download-artifact/ @paritytech/ci @cmichi @ascjones @smiasojed -/.github/rust-info/ @paritytech/ci @cmichi @ascjones @smiasojed +/.github/workflows/ @cmichi @ascjones @smiasojed +/.github/scripts/ @cmichi @ascjones @smiasojed +/.github/download-artifact/ @cmichi @ascjones @smiasojed +/.github/rust-info/ @cmichi @ascjones @smiasojed From 5cb284604b7c8baf572516c83e9939d012cc4232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 26 Apr 2024 12:03:03 +0200 Subject: [PATCH 22/51] Update repository URLs (#2220) * Update `ink` repo url * Update `cargo-contract` repo url * Update `awesome-ink` repo url * Update changelog * Update `ink` GH pages url --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/scripts/contract_sizes_submit.sh | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/examples.yml | 2 +- ARCHITECTURE.md | 32 +- CHANGELOG.md | 849 +++++++++--------- CONTRIBUTING.md | 2 +- Cargo.toml | 2 +- README.md | 56 +- RELEASES_CHECKLIST.md | 10 +- crates/e2e/macro/src/lib.rs | 4 +- crates/env/src/api.rs | 2 +- crates/env/src/engine/off_chain/test_api.rs | 2 +- crates/env/src/types.rs | 2 +- crates/ink/macro/src/lib.rs | 2 +- crates/ink/src/env_access.rs | 4 +- crates/prelude/src/lib.rs | 2 +- crates/storage/src/lazy/mapping.rs | 2 +- integration-tests/README.md | 4 +- .../public/psp22-extension/README.md | 2 +- .../public/runtime-call-contract/Cargo.toml | 2 +- .../pallet-contract-caller/Cargo.toml | 2 +- linting/Cargo.toml | 2 +- linting/README.md | 6 +- linting/extra/src/non_fallible_api.rs | 2 +- linting/extra/src/storage_never_freed.rs | 4 +- linting/extra/src/strict_balance_equality.rs | 2 +- scripts/generate_linter_docs.sh | 2 +- 28 files changed, 504 insertions(+), 503 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 89b009ad16..9c54722a93 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -10,7 +10,7 @@ assignees: '' **Questions** - Is this a bug concerning building of ink! smart contracts? - - If **yes** then you might instead want to file a bug report to ink!'s build tool: https://github.com/paritytech/cargo-contract + - If **yes** then you might instead want to file a bug report to ink!'s build tool: https://github.com/use-ink/cargo-contract - Is this a bug that appears when interacting with smart contracts via the Polkadot JS browser UI? - If **yes** then you might instead want to file a bug report to the Polkadot JS Apps project instead: https://github.com/polkadot-js/apps diff --git a/.github/scripts/contract_sizes_submit.sh b/.github/scripts/contract_sizes_submit.sh index 1c27bc54bf..fce3df45d9 100755 --- a/.github/scripts/contract_sizes_submit.sh +++ b/.github/scripts/contract_sizes_submit.sh @@ -34,7 +34,7 @@ fi echo $verb echo $pr_comments_url -ink_master_head=$(curl -s "https://api.github.com/repos/paritytech/ink/commits/master" | jq -r .sha) +ink_master_head=$(curl -s "https://api.github.com/repos/use-ink/ink/commits/master" | jq -r .sha) head_in_branch=$(git log | grep -q $ink_master_head; echo $?) master_ahead="" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f44b7aec10..8446532080 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -653,7 +653,7 @@ jobs: run: | # `--document-private-items` needs to be in here because currently our contract macro # puts the contract functions in a private module. - # Once https://github.com/paritytech/ink/issues/336 has been implemented we can get rid + # Once https://github.com/use-ink/ink/issues/336 has been implemented we can get rid # of this flag. scripts/for_all_contracts_exec.sh --path integration-tests -- cargo doc --manifest-path {} \ --document-private-items --no-deps diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 632286a98c..82b1a53efa 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -80,7 +80,7 @@ jobs: uses: baptiste0928/cargo-install@9f6037ed331dcf7da101461a20656273fa72abf0 # v3.1.0 with: crate: cargo-contract - git: https://github.com/paritytech/cargo-contract.git + git: https://github.com/use-ink/cargo-contract.git branch: master - name: Output versions diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index f1e4fec3c7..b0f6ee0909 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -10,16 +10,16 @@ You can find the crate documentation on docs.rs or for our `master` branch under GitHub pages. So for `ink` e.g.: * [https://docs.rs/ink/latest/ink](https://docs.rs/ink/latest/ink) (latest published release) -* [https://paritytech.github.io/ink/ink](https://paritytech.github.io/ink/ink) (`master`) +* [https://use-ink.github.io/ink/ink](https://use-ink.github.io/ink/ink) (`master`) ink! is composed of a number of crates that are all found in the `crates/` folder. On a high-level those can be grouped as: -* [`ink`](https://github.com/paritytech/ink/tree/master/crates/ink): +* [`ink`](https://github.com/use-ink/ink/tree/master/crates/ink): The ink! language itself. -* [`allocator`](https://github.com/paritytech/ink/tree/master/crates/allocator): +* [`allocator`](https://github.com/use-ink/ink/tree/master/crates/allocator): The allocator used for dynamic memory allocation in a contract. -* [`env`](https://github.com/paritytech/ink/tree/master/crates/env): +* [`env`](https://github.com/use-ink/ink/tree/master/crates/env): Serves two roles: * Exposes environmental functions, like information about the caller of a contract call or e.g. self-terminating the contract. @@ -27,23 +27,23 @@ ink! is composed of a number of crates that are all found in the so anything that calls into the underlying execution engine of the smart contract. This includes getting and setting a smart contracts storage, as well as the mentioned environmental functions. -* [`metadata`](https://github.com/paritytech/ink/tree/master/crates/metadata): +* [`metadata`](https://github.com/use-ink/ink/tree/master/crates/metadata): Describes the contract in a platform agnostic way, i.e. its interface and the types, its storage layout, etc. -* [`prelude`](https://github.com/paritytech/ink/tree/master/crates/prelude): +* [`prelude`](https://github.com/use-ink/ink/tree/master/crates/prelude): Provides an interface to typical standard library types and functionality (like `vec` or `string`). Since contracts are run in a `no_std` environment we provide this crate as an entrypoint for accessing functionality of the standard library. -* [`primitives`](https://github.com/paritytech/ink/tree/master/crates/primitives): +* [`primitives`](https://github.com/use-ink/ink/tree/master/crates/primitives): Utilities that are used internally by multiple ink! crates. -* [`storage`](https://github.com/paritytech/ink/tree/master/crates/storage): +* [`storage`](https://github.com/use-ink/ink/tree/master/crates/storage): The collections that are available for contract developers to put in a smart contracts storage. -* [`engine`](https://github.com/paritytech/ink/tree/master/crates/engine): +* [`engine`](https://github.com/use-ink/ink/tree/master/crates/engine): An off-chain testing engine, it simulates a blockchain environment and allows mocking specified conditions. -* [`e2e`](https://github.com/paritytech/ink/tree/master/crates/e2e): +* [`e2e`](https://github.com/use-ink/ink/tree/master/crates/e2e): An end-to-end testing framework for ink! contracts. It requires a Substrate node which includes `pallet-contracts` running in the background. The crate provides a macro which can be used @@ -84,7 +84,7 @@ crates on which `ink` relies heavily: ## Building ink! contracts While you can build an ink! smart contract with just `cargo build`, we -recommend using our build tool [`cargo-contract`](https://github.com/paritytech/cargo-contract). +recommend using our build tool [`cargo-contract`](https://github.com/use-ink/cargo-contract). It automatically compiles for the correct WebAssembly target architecture and uses an optimal set of compiler flags. @@ -141,9 +141,9 @@ to move data between the pallet and a smart contract. The advantage of a static buffer is that no gas-expensive heap allocations are necessary, all allocations are done using simple pointer arithmetic. The implementation of this static buffer is found in -[`ink_env/src/engine/on_chain/buffer.rs`](https://github.com/paritytech/ink/blob/master/crates/env/src/engine/on_chain/buffer.rs). +[`ink_env/src/engine/on_chain/buffer.rs`](https://github.com/use-ink/ink/blob/master/crates/env/src/engine/on_chain/buffer.rs). -The methods for communicating with the pallet are found in [`ink_env/src/engine/on_chain/impls.rs`](https://github.com/paritytech/ink/blob/master/crates/env/src/engine/on_chain/impls.rs). +The methods for communicating with the pallet are found in [`ink_env/src/engine/on_chain/impls.rs`](https://github.com/use-ink/ink/blob/master/crates/env/src/engine/on_chain/impls.rs). If you look at the implementations you'll see a common pattern of * SCALE-encoding values on the ink! side in order to pass them as a slice @@ -203,15 +203,15 @@ type as Ethereum for their `AccountId`. The `Environment` trait is how ink! knows the concretes types of the chain to which the contract will be deployed to. -Specifically, our `ink_env` crate defines a trait [`Environment`](https://paritytech.github.io/ink/ink_env/trait.Environment.html) +Specifically, our `ink_env` crate defines a trait [`Environment`](https://use-ink.github.io/ink/ink_env/trait.Environment.html) which specifies the types. By default, ink! uses the default Substrate types, the `ink_env` crate exports an implementation of the `Environment` trait for that: -[`DefaultEnvironment`](https://paritytech.github.io/ink/ink_env/enum.DefaultEnvironment.html). +[`DefaultEnvironment`](https://use-ink.github.io/ink/ink_env/enum.DefaultEnvironment.html). If you are developing for a chain that uses different types than the Substrate default types you can configure a different environment in -the contract macro ([documentation here](https://paritytech.github.io/ink/ink/attr.contract.html#header-arguments)): +the contract macro ([documentation here](https://use-ink.github.io/ink/ink/attr.contract.html#header-arguments)): ```rust #[ink::contract(env = MyCustomTypes)] diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c6bcef318..5fd1d75732 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added -- [Linter] Add links to detailed lint description ‒ [#2170](https://github.com/paritytech/ink/pull/2170) +- [Linter] Add links to detailed lint description ‒ [#2170](https://github.com/use-ink/ink/pull/2170) ### Changed -- [E2E] Update `subxt` and `polkadot-sdk` dependencies ‒ [#2174](https://github.com/paritytech/ink/pull/2174) +- [E2E] Update `subxt` and `polkadot-sdk` dependencies ‒ [#2174](https://github.com/use-ink/ink/pull/2174) +- Update repository URLs from `paritytech` GitHub organization to new `use-ink` one ‒ [#2220](https://github.com/use-ink/ink/pull/2220) ### Fixed -- Fix outdated docs for `[ink_e2e::test]` ‒ [#2162](https://github.com/paritytech/ink/pull/2162) -- [E2E] build contracts before initializing node rpc ‒ [#2168](https://github.com/paritytech/ink/pull/2162) +- Fix outdated docs for `[ink_e2e::test]` ‒ [#2162](https://github.com/use-ink/ink/pull/2162) +- [E2E] build contracts before initializing node rpc ‒ [#2168](https://github.com/use-ink/ink/pull/2162) ## Version 5.0.0 @@ -27,16 +28,16 @@ overview over all breaking changes and newly added features._ This release addresses the rest of the severities described in the [OpenZeppelin security review](https://blog.openzeppelin.com/security-review-ink-cargo-contract) of ink! and `cargo-contract`. One of the notable addressed issues is the proxy selector clashing attack. As of this release, ink! only allows exactly one other message with a well-known reserved selector to be defined. -You can read more about the change in the [#1827](https://github.com/paritytech/ink/pull/1827) and [#2031](https://github.com/paritytech/ink/pull/2031). +You can read more about the change in the [#1827](https://github.com/use-ink/ink/pull/1827) and [#2031](https://github.com/use-ink/ink/pull/2031). ink! 5.0.0 features a significant number of new features: -- We have introduced a new API based on the calculated or specified selectors for the event definition. This allows events to be defined in separate files and modules, and be shared across multiple ink! contracts - [#1827](https://github.com/paritytech/ink/pull/1827) and [#2031](https://github.com/paritytech/ink/pull/2031). +- We have introduced a new API based on the calculated or specified selectors for the event definition. This allows events to be defined in separate files and modules, and be shared across multiple ink! contracts - [#1827](https://github.com/use-ink/ink/pull/1827) and [#2031](https://github.com/use-ink/ink/pull/2031). - [@pmikolajczyk41](https://github.com/pmikolajczyk41) has introduced an alternative E2E testing framework, [DRink!](https://github.com/inkdevhub/drink?tab=readme-ov-file#as-an-alternative-backend-to-inks-e2e-testing-framework), that support quasi-testing model, it allows the test simulate a running node as part of the E2E test while improving debugging experience such as allowing to set breakpoint and step through each stage of execution cycle. -- Following improvements in E2E, we have added a call builder API that allows to easily build calls while significantly reducing boilerplate code - [#1917](https://github.com/paritytech/ink/pull/1917) and [#2075](https://github.com/paritytech/ink/pull/2075) +- Following improvements in E2E, we have added a call builder API that allows to easily build calls while significantly reducing boilerplate code - [#1917](https://github.com/use-ink/ink/pull/1917) and [#2075](https://github.com/use-ink/ink/pull/2075) - Another notable introduction in 5.0.0 release is the support for multiple chain extensions that empower developers -to build even more sophisticated and advanced contracts for supported chains - [#1958](https://github.com/paritytech/ink/pull/1958). +to build even more sophisticated and advanced contracts for supported chains - [#1958](https://github.com/use-ink/ink/pull/1958). - To further address our consideration of the intrinsic security of ink! smart contracts, -we have disallowed unchecked arithmetic expressions. `cargo-contract` will fail to compile the contract with the raw arithmetic operation - [#1831](https://github.com/paritytech/ink/pull/1831). +we have disallowed unchecked arithmetic expressions. `cargo-contract` will fail to compile the contract with the raw arithmetic operation - [#1831](https://github.com/use-ink/ink/pull/1831). These are the main features we have introduced in this release. We also encourage developers to have a look at more detailed changelog entries to find out about any breaking changes that may affect @@ -48,154 +49,154 @@ See [the compatibility section](https://use.ink/faq/migrating-from-ink-4-to-5/#c - Rust: `>= 1.70` - `cargo-contract`: `>= 4.0.0` -- polkadot-sdk: [>= 0.9.3](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v0.9.3). But if using the new functions introduced in [#2123](https://github.com/paritytech/ink/pull/2123) and [#2077](https://github.com/paritytech/ink/pull/2077) [>= 1.8.0](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.8.0) and if using the new functions introduced in [#2076](https://github.com/paritytech/ink/pull/2076) [>= 1.9.0](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.8.0). +- polkadot-sdk: [>= 0.9.3](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v0.9.3). But if using the new functions introduced in [#2123](https://github.com/use-ink/ink/pull/2123) and [#2077](https://github.com/use-ink/ink/pull/2077) [>= 1.8.0](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.8.0) and if using the new functions introduced in [#2076](https://github.com/use-ink/ink/pull/2076) [>= 1.9.0](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.8.0). - `polkadot-js/api` and `polkadot-js/api-contract`: `>= 10.12.1` - `substrate-contracts-node`: `>= 0.39.0` ### Changelog #### Added -- Add Hash trait to Selector struct - [#2149](https://github.com/paritytech/ink/pull/2149) -- `instantiate_v2` with additional limit parameters [#2123](https://github.com/paritytech/ink/pull/2123) -- Custom signature topic in Events - [#2031](https://github.com/paritytech/ink/pull/2031) -- [Linter] `non_fallible_api` lint - [#2004](https://github.com/paritytech/ink/pull/2004) -- [Linter] Publish the linting crates on crates.io - [#2060](https://github.com/paritytech/ink/pull/2060) -- [E2E] Added `create_call_builder` for testing existing contracts - [#2075](https://github.com/paritytech/ink/pull/2075) -- `call_v2` cross-contract calls with additional limit parameters - [#2077](https://github.com/paritytech/ink/pull/2077) -- `delegate_dependency` api calls - [#2076](https://github.com/paritytech/ink/pull/2076) -- Allow mutable parameters in messages - [#2004](https://github.com/paritytech/ink/pull/2004) -- Clean E2E configuration parsing - [#1922](https://github.com/paritytech/ink/pull/1922) -- Make `set_code_hash` generic - [#1906](https://github.com/paritytech/ink/pull/1906) -- Provide a `StorageVec` datastructure built on top of `Lazy` - [#1995](https://github.com/paritytech/ink/pull/1995) -- Add fallible methods for `Mapping` and `Lazy` - [#1910](https://github.com/paritytech/ink/pull/1910) -- [E2E] Allow testing with live-chain state - [#1949](https://github.com/paritytech/ink/pull/1949) -- [E2E] Call builders and extra gas margin option - [#1917](https://github.com/paritytech/ink/pull/1917) -- [Linter] `storage_never_freed` lint - [#1932](https://github.com/paritytech/ink/pull/1932) -- [Linter] `strict_balance_equality` lint - [#1914](https://github.com/paritytech/ink/pull/1914) -- [Linter] `no_main` lint - [#2001](https://github.com/paritytech/ink/pull/2001) -- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` - [#1890](https://github.com/paritytech/ink/pull/1890) -- Upgradeable contracts example - [#1889](https://github.com/paritytech/ink/pull/1889) -- Persist static buffer size in metadata - [#1880](https://github.com/paritytech/ink/pull/1880) -- Modify static buffer size via environmental variables - [#1869](https://github.com/paritytech/ink/pull/1869) -- Added `sr25519_verify` function to `ink_env` [#1840](https://github.com/paritytech/ink/pull/1840) -- Events `2.0` - [#1827](https://github.com/paritytech/ink/pull/1827) -- Add `set_block_number` to off-chain test api `Engine` - [#1806](https://github.com/paritytech/ink/pull/1806) -- Stabilize `call_runtime` ‒ [#1749](https://github.com/paritytech/ink/pull/1749) -- Schema generation - [#1765](https://github.com/paritytech/ink/pull/1765) -- Restrict wildcard selectors to have exactly one other message - [#1708](https://github.com/paritytech/ink/pull/1708) -- [Linter] Warn when primitive number is annotated as event topic - [#1837](https://github.com/paritytech/ink/pull/1837) -- [Drink backend] allow for arbitrary runtime - [#1892](https://github.com/paritytech/ink/pull/1892) -- [Drink backend] support runtime call - [#1891](https://github.com/paritytech/ink/pull/1891) -- [Drink backend] Make tests generic `E2EBackend` trait - [#1867](https://github.com/paritytech/ink/pull/1867) -- [Drink backend] Backend choice ‒ [#1864](https://github.com/paritytech/ink/pull/1864) -- [Drink backend] Backend traits - [#1857](https://github.com/paritytech/ink/pull/1857) -- [Drink backend] Abstract error and result structs - [#1844](https://github.com/paritytech/ink/pull/1844) +- Add Hash trait to Selector struct - [#2149](https://github.com/use-ink/ink/pull/2149) +- `instantiate_v2` with additional limit parameters [#2123](https://github.com/use-ink/ink/pull/2123) +- Custom signature topic in Events - [#2031](https://github.com/use-ink/ink/pull/2031) +- [Linter] `non_fallible_api` lint - [#2004](https://github.com/use-ink/ink/pull/2004) +- [Linter] Publish the linting crates on crates.io - [#2060](https://github.com/use-ink/ink/pull/2060) +- [E2E] Added `create_call_builder` for testing existing contracts - [#2075](https://github.com/use-ink/ink/pull/2075) +- `call_v2` cross-contract calls with additional limit parameters - [#2077](https://github.com/use-ink/ink/pull/2077) +- `delegate_dependency` api calls - [#2076](https://github.com/use-ink/ink/pull/2076) +- Allow mutable parameters in messages - [#2004](https://github.com/use-ink/ink/pull/2004) +- Clean E2E configuration parsing - [#1922](https://github.com/use-ink/ink/pull/1922) +- Make `set_code_hash` generic - [#1906](https://github.com/use-ink/ink/pull/1906) +- Provide a `StorageVec` datastructure built on top of `Lazy` - [#1995](https://github.com/use-ink/ink/pull/1995) +- Add fallible methods for `Mapping` and `Lazy` - [#1910](https://github.com/use-ink/ink/pull/1910) +- [E2E] Allow testing with live-chain state - [#1949](https://github.com/use-ink/ink/pull/1949) +- [E2E] Call builders and extra gas margin option - [#1917](https://github.com/use-ink/ink/pull/1917) +- [Linter] `storage_never_freed` lint - [#1932](https://github.com/use-ink/ink/pull/1932) +- [Linter] `strict_balance_equality` lint - [#1914](https://github.com/use-ink/ink/pull/1914) +- [Linter] `no_main` lint - [#2001](https://github.com/use-ink/ink/pull/2001) +- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` - [#1890](https://github.com/use-ink/ink/pull/1890) +- Upgradeable contracts example - [#1889](https://github.com/use-ink/ink/pull/1889) +- Persist static buffer size in metadata - [#1880](https://github.com/use-ink/ink/pull/1880) +- Modify static buffer size via environmental variables - [#1869](https://github.com/use-ink/ink/pull/1869) +- Added `sr25519_verify` function to `ink_env` [#1840](https://github.com/use-ink/ink/pull/1840) +- Events `2.0` - [#1827](https://github.com/use-ink/ink/pull/1827) +- Add `set_block_number` to off-chain test api `Engine` - [#1806](https://github.com/use-ink/ink/pull/1806) +- Stabilize `call_runtime` ‒ [#1749](https://github.com/use-ink/ink/pull/1749) +- Schema generation - [#1765](https://github.com/use-ink/ink/pull/1765) +- Restrict wildcard selectors to have exactly one other message - [#1708](https://github.com/use-ink/ink/pull/1708) +- [Linter] Warn when primitive number is annotated as event topic - [#1837](https://github.com/use-ink/ink/pull/1837) +- [Drink backend] allow for arbitrary runtime - [#1892](https://github.com/use-ink/ink/pull/1892) +- [Drink backend] support runtime call - [#1891](https://github.com/use-ink/ink/pull/1891) +- [Drink backend] Make tests generic `E2EBackend` trait - [#1867](https://github.com/use-ink/ink/pull/1867) +- [Drink backend] Backend choice ‒ [#1864](https://github.com/use-ink/ink/pull/1864) +- [Drink backend] Backend traits - [#1857](https://github.com/use-ink/ink/pull/1857) +- [Drink backend] Abstract error and result structs - [#1844](https://github.com/use-ink/ink/pull/1844) #### Changed -- Use name-only syntax for `anonymous` ink! event item configuration argument - [#2140](https://github.com/paritytech/ink/pull/2140) -- Restrict syntax for setting default ink! e2e test runtime-only emulator - [#2143](https://github.com/paritytech/ink/pull/2143) -- Restrict syntax for setting ink! e2e test node to auto - [#2146](https://github.com/paritytech/ink/pull/2146) -- Bump Substrate crates - [#2141](https://github.com/paritytech/ink/pull/2141) -- Minor fixes - [#2144](https://github.com/paritytech/ink/pull/2144), -[#2137](https://github.com/paritytech/ink/pull/2137), [#2132](https://github.com/paritytech/ink/pull/2132) -- Bump metadata version to 5 [#2126](https://github.com/paritytech/ink/pull/2126) -- Use `MaxEncodedLen` for output buffer size [#2128](https://github.com/paritytech/ink/pull/2128) -- `Mapping`: Reflect all possible failure cases in comments ‒ [#2079](https://github.com/paritytech/ink/pull/2079) -- [E2E] Rename `.call` to `.call_builder` ‒ [#2078](https://github.com/paritytech/ink/pull/2078) -- Improve syntax for ink! e2e `runtime_only` attribute argument - [#2083](https://github.com/paritytech/ink/pull/2083) -- [E2E] Remove `additional_contracts` parameter [#2098](https://github.com/paritytech/ink/pull/2098) -- [E2E] change node url backend config - [#2101](https://github.com/paritytech/ink/pull/2101) -- Messages return `TypeSpec` directly - [#1999](https://github.com/paritytech/ink/pull/1999) -- Fail when decoding from storage and not all bytes consumed - [#1897](https://github.com/paritytech/ink/pull/1897) -- Support multiple chain extensions - [#1958](https://github.com/paritytech/ink/pull/1958) +- Use name-only syntax for `anonymous` ink! event item configuration argument - [#2140](https://github.com/use-ink/ink/pull/2140) +- Restrict syntax for setting default ink! e2e test runtime-only emulator - [#2143](https://github.com/use-ink/ink/pull/2143) +- Restrict syntax for setting ink! e2e test node to auto - [#2146](https://github.com/use-ink/ink/pull/2146) +- Bump Substrate crates - [#2141](https://github.com/use-ink/ink/pull/2141) +- Minor fixes - [#2144](https://github.com/use-ink/ink/pull/2144), +[#2137](https://github.com/use-ink/ink/pull/2137), [#2132](https://github.com/use-ink/ink/pull/2132) +- Bump metadata version to 5 [#2126](https://github.com/use-ink/ink/pull/2126) +- Use `MaxEncodedLen` for output buffer size [#2128](https://github.com/use-ink/ink/pull/2128) +- `Mapping`: Reflect all possible failure cases in comments ‒ [#2079](https://github.com/use-ink/ink/pull/2079) +- [E2E] Rename `.call` to `.call_builder` ‒ [#2078](https://github.com/use-ink/ink/pull/2078) +- Improve syntax for ink! e2e `runtime_only` attribute argument - [#2083](https://github.com/use-ink/ink/pull/2083) +- [E2E] Remove `additional_contracts` parameter [#2098](https://github.com/use-ink/ink/pull/2098) +- [E2E] change node url backend config - [#2101](https://github.com/use-ink/ink/pull/2101) +- Messages return `TypeSpec` directly - [#1999](https://github.com/use-ink/ink/pull/1999) +- Fail when decoding from storage and not all bytes consumed - [#1897](https://github.com/use-ink/ink/pull/1897) +- Support multiple chain extensions - [#1958](https://github.com/use-ink/ink/pull/1958) - New example of how to use multiple chain extensions in one contract. - Affects the usage of the `#[ink::chain_extension]` macro and the definition of the chain extension. -- Split up `ink_linting` to mandatory and extra libraries - [#2032](https://github.com/paritytech/ink/pull/2032) -- [E2E] resolve DispatchError error details for dry-runs - [#1994](https://github.com/paritytech/ink/pull/1994) -- [E2E] update to new `drink` API - [#2005](https://github.com/paritytech/ink/pull/2005) -- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` ‒ [#1890](https://github.com/paritytech/ink/pull/1890) -- Use of workspace dependencies and properties - [#1835](https://github.com/paritytech/ink/pull/1835) -- Remove of unchecked arithmetic - [#1831](https://github.com/paritytech/ink/pull/1831) -- Use `decode_all` for decoding cross contract call result - [#1810](https://github.com/paritytech/ink/pull/1810) -- [E2E] build contracts at runtime instead of during codegen - [#1881](https://github.com/paritytech/ink/pull/1881) -- [E2E] crate refactoring - [#1830](https://github.com/paritytech/ink/pull/1830) -- [E2E] improve call API, remove `build_message` + callback - [#1782](https://github.com/paritytech/ink/pull/1782) +- Split up `ink_linting` to mandatory and extra libraries - [#2032](https://github.com/use-ink/ink/pull/2032) +- [E2E] resolve DispatchError error details for dry-runs - [#1994](https://github.com/use-ink/ink/pull/1994) +- [E2E] update to new `drink` API - [#2005](https://github.com/use-ink/ink/pull/2005) +- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` ‒ [#1890](https://github.com/use-ink/ink/pull/1890) +- Use of workspace dependencies and properties - [#1835](https://github.com/use-ink/ink/pull/1835) +- Remove of unchecked arithmetic - [#1831](https://github.com/use-ink/ink/pull/1831) +- Use `decode_all` for decoding cross contract call result - [#1810](https://github.com/use-ink/ink/pull/1810) +- [E2E] build contracts at runtime instead of during codegen - [#1881](https://github.com/use-ink/ink/pull/1881) +- [E2E] crate refactoring - [#1830](https://github.com/use-ink/ink/pull/1830) +- [E2E] improve call API, remove `build_message` + callback - [#1782](https://github.com/use-ink/ink/pull/1782) #### Fixed -- Fix alignment in allocator [#2100](https://github.com/paritytech/ink/pull/2100) -- Fix the `StorageVec` type by excluding the `len_cached` field from its type info - [#2052](https://github.com/paritytech/ink/pull/2052) -- Fix panic in `approve_for` in the ERC-721 example - [#2092](https://github.com/paritytech/ink/pull/2092) -- ERC-721: `transfer_token_from` now ensures the token owner is correct - [#2093](https://github.com/paritytech/ink/pull/2093) -- `RootLayout::new()` is generic again to allow using `ink_metadata` in pure `PortableForm` contexts - [#1989](https://github.com/paritytech/ink/pull/1989) +- Fix alignment in allocator [#2100](https://github.com/use-ink/ink/pull/2100) +- Fix the `StorageVec` type by excluding the `len_cached` field from its type info - [#2052](https://github.com/use-ink/ink/pull/2052) +- Fix panic in `approve_for` in the ERC-721 example - [#2092](https://github.com/use-ink/ink/pull/2092) +- ERC-721: `transfer_token_from` now ensures the token owner is correct - [#2093](https://github.com/use-ink/ink/pull/2093) +- `RootLayout::new()` is generic again to allow using `ink_metadata` in pure `PortableForm` contexts - [#1989](https://github.com/use-ink/ink/pull/1989) ## Version 5.0.0-rc.3 ### Changed -- Use name-only syntax for `anonymous` ink! event item configuration argument - [#2140](https://github.com/paritytech/ink/pull/2140) -- Restrict syntax for setting default ink! e2e test runtime-only emulator - [#2143](https://github.com/paritytech/ink/pull/2143) -- Restrict syntax for setting ink! e2e test node to auto - [#2146](https://github.com/paritytech/ink/pull/2146) -- Bump Substrate crates - [#2141](https://github.com/paritytech/ink/pull/2141) -- Minor fixes - [#2144](https://github.com/paritytech/ink/pull/2144), -[#2137](https://github.com/paritytech/ink/pull/2137), [#2132](https://github.com/paritytech/ink/pull/2132) +- Use name-only syntax for `anonymous` ink! event item configuration argument - [#2140](https://github.com/use-ink/ink/pull/2140) +- Restrict syntax for setting default ink! e2e test runtime-only emulator - [#2143](https://github.com/use-ink/ink/pull/2143) +- Restrict syntax for setting ink! e2e test node to auto - [#2146](https://github.com/use-ink/ink/pull/2146) +- Bump Substrate crates - [#2141](https://github.com/use-ink/ink/pull/2141) +- Minor fixes - [#2144](https://github.com/use-ink/ink/pull/2144), +[#2137](https://github.com/use-ink/ink/pull/2137), [#2132](https://github.com/use-ink/ink/pull/2132) ## Version 5.0.0-rc.2 ### Added -- `instantiate_v2` with additional limit parameters [#2123](https://github.com/paritytech/ink/pull/2123) +- `instantiate_v2` with additional limit parameters [#2123](https://github.com/use-ink/ink/pull/2123) ### Changed -- Bump metadata version to 5 [#2126](https://github.com/paritytech/ink/pull/2126) -- Use `MaxEncodedLen` for output buffer size [#2128](https://github.com/paritytech/ink/pull/2128) +- Bump metadata version to 5 [#2126](https://github.com/use-ink/ink/pull/2126) +- Use `MaxEncodedLen` for output buffer size [#2128](https://github.com/use-ink/ink/pull/2128) ### Fixed -- Fix alignment in allocator [#2100](https://github.com/paritytech/ink/pull/2100) +- Fix alignment in allocator [#2100](https://github.com/use-ink/ink/pull/2100) ## Version 5.0.0-rc.1 ### Added -- Custom signature topic in Events - [#2031](https://github.com/paritytech/ink/pull/2031) -- [Linter] `non_fallible_api` lint - [#2004](https://github.com/paritytech/ink/pull/2004) -- [Linter] Publish the linting crates on crates.io - [#2060](https://github.com/paritytech/ink/pull/2060) -- [E2E] Added `create_call_builder` for testing existing contracts - [#2075](https://github.com/paritytech/ink/pull/2075) -- `call_v2` cross-contract calls with additional limit parameters - [#2077](https://github.com/paritytech/ink/pull/2077) -- `instantiate_v2` with additional limit parameters - [#2123](https://github.com/paritytech/ink/pull/2123) -- `delegate_dependency` api calls - [#2076](https://github.com/paritytech/ink/pull/2076) +- Custom signature topic in Events - [#2031](https://github.com/use-ink/ink/pull/2031) +- [Linter] `non_fallible_api` lint - [#2004](https://github.com/use-ink/ink/pull/2004) +- [Linter] Publish the linting crates on crates.io - [#2060](https://github.com/use-ink/ink/pull/2060) +- [E2E] Added `create_call_builder` for testing existing contracts - [#2075](https://github.com/use-ink/ink/pull/2075) +- `call_v2` cross-contract calls with additional limit parameters - [#2077](https://github.com/use-ink/ink/pull/2077) +- `instantiate_v2` with additional limit parameters - [#2123](https://github.com/use-ink/ink/pull/2123) +- `delegate_dependency` api calls - [#2076](https://github.com/use-ink/ink/pull/2076) ### Changed -- `Mapping`: Reflect all possible failure cases in comments ‒ [#2079](https://github.com/paritytech/ink/pull/2079) -- [E2E] Rename `.call` to `.call_builder` ‒ [#2078](https://github.com/paritytech/ink/pull/2078) -- Improve syntax for ink! e2e `runtime_only` attribute argument - [#2083](https://github.com/paritytech/ink/pull/2083) -- [E2E] Remove `additional_contracts` parameter [#2098](https://github.com/paritytech/ink/pull/2098) -- [E2E] change node url backend config - [#2101](https://github.com/paritytech/ink/pull/2101) +- `Mapping`: Reflect all possible failure cases in comments ‒ [#2079](https://github.com/use-ink/ink/pull/2079) +- [E2E] Rename `.call` to `.call_builder` ‒ [#2078](https://github.com/use-ink/ink/pull/2078) +- Improve syntax for ink! e2e `runtime_only` attribute argument - [#2083](https://github.com/use-ink/ink/pull/2083) +- [E2E] Remove `additional_contracts` parameter [#2098](https://github.com/use-ink/ink/pull/2098) +- [E2E] change node url backend config - [#2101](https://github.com/use-ink/ink/pull/2101) ### Fixed -- Fix the `StorageVec` type by excluding the `len_cached` field from its type info - [#2052](https://github.com/paritytech/ink/pull/2052) -- Fix panic in `approve_for` in the ERC-721 example - [#2092](https://github.com/paritytech/ink/pull/2092) -- ERC-721: `transfer_token_from` now ensures the token owner is correct - [#2093](https://github.com/paritytech/ink/pull/2093) +- Fix the `StorageVec` type by excluding the `len_cached` field from its type info - [#2052](https://github.com/use-ink/ink/pull/2052) +- Fix panic in `approve_for` in the ERC-721 example - [#2092](https://github.com/use-ink/ink/pull/2092) +- ERC-721: `transfer_token_from` now ensures the token owner is correct - [#2093](https://github.com/use-ink/ink/pull/2093) ## Version 5.0.0-rc ### Added -- Allow mutable parameters in messages - [#2004](https://github.com/paritytech/ink/pull/2004) -- Clean E2E configuration parsing - [#1922](https://github.com/paritytech/ink/pull/1922) -- Make `set_code_hash` generic - [#1906](https://github.com/paritytech/ink/pull/1906) -- Provide a `StorageVec` datastructure built on top of `Lazy` - [#1995](https://github.com/paritytech/ink/pull/1995) -- Add fallible methods for `Mapping` and `Lazy` - [#1910](https://github.com/paritytech/ink/pull/1910) -- [E2E] Allow testing with live-chain state - [#1949](https://github.com/paritytech/ink/pull/1949) -- [E2E] Call builders and extra gas margin option - [#1917](https://github.com/paritytech/ink/pull/1917) -- [Linter] `storage_never_freed` lint - [#1932](https://github.com/paritytech/ink/pull/1932) -- [Linter] `strict_balance_equality` lint - [#1914](https://github.com/paritytech/ink/pull/1914) -- [Linter] `no_main` lint - [#2001](https://github.com/paritytech/ink/pull/2001) +- Allow mutable parameters in messages - [#2004](https://github.com/use-ink/ink/pull/2004) +- Clean E2E configuration parsing - [#1922](https://github.com/use-ink/ink/pull/1922) +- Make `set_code_hash` generic - [#1906](https://github.com/use-ink/ink/pull/1906) +- Provide a `StorageVec` datastructure built on top of `Lazy` - [#1995](https://github.com/use-ink/ink/pull/1995) +- Add fallible methods for `Mapping` and `Lazy` - [#1910](https://github.com/use-ink/ink/pull/1910) +- [E2E] Allow testing with live-chain state - [#1949](https://github.com/use-ink/ink/pull/1949) +- [E2E] Call builders and extra gas margin option - [#1917](https://github.com/use-ink/ink/pull/1917) +- [Linter] `storage_never_freed` lint - [#1932](https://github.com/use-ink/ink/pull/1932) +- [Linter] `strict_balance_equality` lint - [#1914](https://github.com/use-ink/ink/pull/1914) +- [Linter] `no_main` lint - [#2001](https://github.com/use-ink/ink/pull/2001) ### Changed -- Messages return `TypeSpec` directly - [#1999](https://github.com/paritytech/ink/pull/1999) -- Fail when decoding from storage and not all bytes consumed - [#1897](https://github.com/paritytech/ink/pull/1897) -- Support multiple chain extensions - [#1958](https://github.com/paritytech/ink/pull/1958) +- Messages return `TypeSpec` directly - [#1999](https://github.com/use-ink/ink/pull/1999) +- Fail when decoding from storage and not all bytes consumed - [#1897](https://github.com/use-ink/ink/pull/1897) +- Support multiple chain extensions - [#1958](https://github.com/use-ink/ink/pull/1958) - New example of how to use multiple chain extensions in one contract. - Affects the usage of the `#[ink::chain_extension]` macro and the definition of the chain extension. -- Split up `ink_linting` to mandatory and extra libraries - [#2032](https://github.com/paritytech/ink/pull/2032) -- [E2E] resolve DispatchError error details for dry-runs - [#1994](https://github.com/paritytech/ink/pull/1994) -- [E2E] update to new `drink` API - [#2005](https://github.com/paritytech/ink/pull/2005) +- Split up `ink_linting` to mandatory and extra libraries - [#2032](https://github.com/use-ink/ink/pull/2032) +- [E2E] resolve DispatchError error details for dry-runs - [#1994](https://github.com/use-ink/ink/pull/1994) +- [E2E] update to new `drink` API - [#2005](https://github.com/use-ink/ink/pull/2005) ## Version 5.0.0-alpha @@ -204,89 +205,89 @@ The preview release of the ink! 5.0.0 release. This release addresses the majority of issues raised in the OpenZeppelin audit in particular we addressed the proxy selector clashing attack. As of this release, ink! only allows exactly one other message with a well-known reserved selector to be defined. -You can read more about the change in the [PR](https://github.com/paritytech/ink/pull/1708). +You can read more about the change in the [PR](https://github.com/use-ink/ink/pull/1708). Other notable changes: -- Rework of event definitions - [#1827](https://github.com/paritytech/ink/pull/1827). -- Updated upgradeable contract example illustrating `delegate_call` - [#1889](https://github.com/paritytech/ink/pull/1889). -- Removal of unchecked arithmetic. `cargo-contract` will fail compiling the contract with raw arithmetic operations - [#1831](https://github.com/paritytech/ink/pull/1831). +- Rework of event definitions - [#1827](https://github.com/use-ink/ink/pull/1827). +- Updated upgradeable contract example illustrating `delegate_call` - [#1889](https://github.com/use-ink/ink/pull/1889). +- Removal of unchecked arithmetic. `cargo-contract` will fail compiling the contract with raw arithmetic operations - [#1831](https://github.com/use-ink/ink/pull/1831). - Introduction of an alternative off-chain E2E testing backend, [DRink!](https://github.com/inkdevhub/drink?tab=readme-ov-file#as-an-alternative-backend-to-inks-e2e-testing-framework). **Big thanks to [@pmikolajczyk41](https://github.com/pmikolajczyk41) for this massive contribution!** You can see a more detailed log of changes below: ### Added -- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` - [#1890](https://github.com/paritytech/ink/pull/1890) -- Upgradeable contracts example - [#1889](https://github.com/paritytech/ink/pull/1889) -- Persist static buffer size in metadata - [#1880](https://github.com/paritytech/ink/pull/1880) -- Modify static buffer size via environmental variables - [#1869](https://github.com/paritytech/ink/pull/1869) -- Added `sr25519_verify` function to `ink_env` [#1840](https://github.com/paritytech/ink/pull/1840) -- Events `2.0` - [#1827](https://github.com/paritytech/ink/pull/1827) -- Add `set_block_number` to off-chain test api `Engine` - [#1806](https://github.com/paritytech/ink/pull/1806) -- Stabilize `call_runtime` ‒ [#1749](https://github.com/paritytech/ink/pull/1749) -- Schema generation - [#1765](https://github.com/paritytech/ink/pull/1765) -- Restrict wildcard selectors to have exactly one other message - [#1708](https://github.com/paritytech/ink/pull/1708) -- [Linter] Warn when primitive number is annotated as event topic - [#1837](https://github.com/paritytech/ink/pull/1837) -- [Drink backend] allow for arbitrary runtime - [#1892](https://github.com/paritytech/ink/pull/1892) -- [Drink backend] support runtime call - [#1891](https://github.com/paritytech/ink/pull/1891) -- [Drink backend] Make tests generic `E2EBackend` trait - [#1867](https://github.com/paritytech/ink/pull/1867) -- [Drink backend] Backend choice ‒ [#1864](https://github.com/paritytech/ink/pull/1864) -- [Drink backend] Backend traits - [#1857](https://github.com/paritytech/ink/pull/1857) -- [Drink backend] Abstract error and result structs - [#1844](https://github.com/paritytech/ink/pull/1844) +- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` - [#1890](https://github.com/use-ink/ink/pull/1890) +- Upgradeable contracts example - [#1889](https://github.com/use-ink/ink/pull/1889) +- Persist static buffer size in metadata - [#1880](https://github.com/use-ink/ink/pull/1880) +- Modify static buffer size via environmental variables - [#1869](https://github.com/use-ink/ink/pull/1869) +- Added `sr25519_verify` function to `ink_env` [#1840](https://github.com/use-ink/ink/pull/1840) +- Events `2.0` - [#1827](https://github.com/use-ink/ink/pull/1827) +- Add `set_block_number` to off-chain test api `Engine` - [#1806](https://github.com/use-ink/ink/pull/1806) +- Stabilize `call_runtime` ‒ [#1749](https://github.com/use-ink/ink/pull/1749) +- Schema generation - [#1765](https://github.com/use-ink/ink/pull/1765) +- Restrict wildcard selectors to have exactly one other message - [#1708](https://github.com/use-ink/ink/pull/1708) +- [Linter] Warn when primitive number is annotated as event topic - [#1837](https://github.com/use-ink/ink/pull/1837) +- [Drink backend] allow for arbitrary runtime - [#1892](https://github.com/use-ink/ink/pull/1892) +- [Drink backend] support runtime call - [#1891](https://github.com/use-ink/ink/pull/1891) +- [Drink backend] Make tests generic `E2EBackend` trait - [#1867](https://github.com/use-ink/ink/pull/1867) +- [Drink backend] Backend choice ‒ [#1864](https://github.com/use-ink/ink/pull/1864) +- [Drink backend] Backend traits - [#1857](https://github.com/use-ink/ink/pull/1857) +- [Drink backend] Abstract error and result structs - [#1844](https://github.com/use-ink/ink/pull/1844) ### Changed -- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` ‒ [#1890](https://github.com/paritytech/ink/pull/1890) -- Use of workspace dependencies and properties - [#1835](https://github.com/paritytech/ink/pull/1835) -- Remove of unchecked arithmetic - [#1831](https://github.com/paritytech/ink/pull/1831) -- Use `decode_all` for decoding cross contract call result - [#1810](https://github.com/paritytech/ink/pull/1810) -- [E2E] build contracts at runtime instead of during codegen - [#1881](https://github.com/paritytech/ink/pull/1881) -- [E2E] crate refactoring - [#1830](https://github.com/paritytech/ink/pull/1830) -- [E2E] improve call API, remove `build_message` + callback - [#1782](https://github.com/paritytech/ink/pull/1782) +- Reexport `scale` dependencies, introduce `#[ink::scale_derive]` ‒ [#1890](https://github.com/use-ink/ink/pull/1890) +- Use of workspace dependencies and properties - [#1835](https://github.com/use-ink/ink/pull/1835) +- Remove of unchecked arithmetic - [#1831](https://github.com/use-ink/ink/pull/1831) +- Use `decode_all` for decoding cross contract call result - [#1810](https://github.com/use-ink/ink/pull/1810) +- [E2E] build contracts at runtime instead of during codegen - [#1881](https://github.com/use-ink/ink/pull/1881) +- [E2E] crate refactoring - [#1830](https://github.com/use-ink/ink/pull/1830) +- [E2E] improve call API, remove `build_message` + callback - [#1782](https://github.com/use-ink/ink/pull/1782) ### Fixed -- `RootLayout::new()` is generic again to allow using `ink_metadata` in pure `PortableForm` contexts - [#1989](https://github.com/paritytech/ink/pull/1989) +- `RootLayout::new()` is generic again to allow using `ink_metadata` in pure `PortableForm` contexts - [#1989](https://github.com/use-ink/ink/pull/1989) ## 4.3.0 ### Fixed -- Fix E2E tests for newer rust toolchain & contracts node - #[1884](https://github.com/paritytech/ink/pull/1884) -- Enable Rust >= `1.70`, update `subxt` and `contract-build` - [#1855](https://github.com/paritytech/ink/pull/1855) -- Fix unsupported `--ws-port` argument - [#1850](https://github.com/paritytech/ink/pull/1850) +- Fix E2E tests for newer rust toolchain & contracts node - #[1884](https://github.com/use-ink/ink/pull/1884) +- Enable Rust >= `1.70`, update `subxt` and `contract-build` - [#1855](https://github.com/use-ink/ink/pull/1855) +- Fix unsupported `--ws-port` argument - [#1850](https://github.com/use-ink/ink/pull/1850) ## Version 4.2.0 ### Added -- Persist `Environment` in metadata ‒ [#1741](https://github.com/paritytech/ink/pull/1741) -- Added possibility for `runtime_call` in E2E tests ‒ [#1736](https://github.com/paritytech/ink/pull/1736) -- Added `default` attribute to constructors and messages ‒ [#1724](https://github.com/paritytech/ink/pull/1724) -- Added clarification about `Mapping::size` unit ‒ [#1735](https://github.com/paritytech/ink/pull/1735) +- Persist `Environment` in metadata ‒ [#1741](https://github.com/use-ink/ink/pull/1741) +- Added possibility for `runtime_call` in E2E tests ‒ [#1736](https://github.com/use-ink/ink/pull/1736) +- Added `default` attribute to constructors and messages ‒ [#1724](https://github.com/use-ink/ink/pull/1724) +- Added clarification about `Mapping::size` unit ‒ [#1735](https://github.com/use-ink/ink/pull/1735) ### Changed -- Upgraded `syn` to version `2` ‒ [#1731](https://github.com/paritytech/ink/pull/1731) -- Update `scale-info` requirement to `2.5` ‒ [#1733](https://github.com/paritytech/ink/pull/1733) -- Bump `subxt` to `0.28.0` ‒ [#1750](https://github.com/paritytech/ink/pull/1750) +- Upgraded `syn` to version `2` ‒ [#1731](https://github.com/use-ink/ink/pull/1731) +- Update `scale-info` requirement to `2.5` ‒ [#1733](https://github.com/use-ink/ink/pull/1733) +- Bump `subxt` to `0.28.0` ‒ [#1750](https://github.com/use-ink/ink/pull/1750) ## Version 4.1.0 ### Added -- Basic support for `dyn Trait` to allow cross-contract calls only with trait - [#1673](https://github.com/paritytech/ink/pull/1673) -- E2E: auto detect contracts to be built - [#1691](https://github.com/paritytech/ink/pull/1691) -- Add `set_code_hash` to `EnvAccess` - [#1698](https://github.com/paritytech/ink/pull/1698) -- Add `set_block_timestamp` to off-chain test api `Engine` - [#1721](https://github.com/paritytech/ink/pull/1721) +- Basic support for `dyn Trait` to allow cross-contract calls only with trait - [#1673](https://github.com/use-ink/ink/pull/1673) +- E2E: auto detect contracts to be built - [#1691](https://github.com/use-ink/ink/pull/1691) +- Add `set_code_hash` to `EnvAccess` - [#1698](https://github.com/use-ink/ink/pull/1698) +- Add `set_block_timestamp` to off-chain test api `Engine` - [#1721](https://github.com/use-ink/ink/pull/1721) ### Changed -- Support conditional compilation - [#1707](https://github.com/paritytech/ink/pull/1707) +- Support conditional compilation - [#1707](https://github.com/use-ink/ink/pull/1707) ## Version 4.0.1 ### Fixed -- Fixing `ManualKey<0>` to act properly - [#1670](https://github.com/paritytech/ink/pull/1670) +- Fixing `ManualKey<0>` to act properly - [#1670](https://github.com/use-ink/ink/pull/1670) - Indicated latest release of `cargo-contract` in `e2e` crate ### Added -- Add `call-runtime` support - [#1641](https://github.com/paritytech/ink/pull/1641) +- Add `call-runtime` support - [#1641](https://github.com/use-ink/ink/pull/1641) ## Version 4.0.0 @@ -314,7 +315,7 @@ Thanks to everyone that helped make this release possible ❤️ In order to build contracts which use ink! `v4.0.0` you need to use `cargo-contract` -[`v2.0.0`](https://github.com/paritytech/cargo-contract/releases/tag/v2.0.0). +[`v2.0.0`](https://github.com/use-ink/cargo-contract/releases/tag/v2.0.0). You can install it as follows: `cargo install cargo-contract --force --locked` @@ -329,55 +330,55 @@ compatible with the ink! `4.0.0` release. For full compatibility requirements see the [migration guide](https://use.ink/faq/migrating-from-ink-3-to-4/#compatibility). -- Add `Mapping::contains(key)` and `Mapping::insert_return_size(key, val)` ‒ [#1224](https://github.com/paritytech/ink/pull/1224) -- Add [`payment-channel`](https://github.com/paritytech/ink-examples/tree/main/payment-channel) example ‒ [#1248](https://github.com/paritytech/ink/pull/1248) (thanks [@kanishkatn](https://github.com/kanishkatn)!) -- Add `version` field to ink! metadata ‒ [#1313](https://github.com/paritytech/ink/pull/1313) -- The `rand-extension` example has been adapted to an updated version of the `ChainExtension` API ‒ [#1356](https://github.com/paritytech/ink/pull/1356) -- Add `ink_env::pay_with_call!` helper macro for off-chain emulation of sending payments with contract message calls ‒ [#1379](https://github.com/paritytech/ink/pull/1379) -- Allow using `Result` as a return type in constructors ‒ [#1446](https://github.com/paritytech/ink/pull/1446) -- Add `Mapping::take()` function allowing to get a value removing it from storage ‒ [#1461](https://github.com/paritytech/ink/pull/1461) -- Add E2E testing framework MVP ‒ [#1395](https://github.com/paritytech/ink/pull/1395) -- Add E2E tests for `Mapping` functions - [#1492](https://github.com/paritytech/ink/pull/1492) -- E2E: expose call dry-run method ‒ [#1624](https://github.com/paritytech/ink/pull/1624) -- Make cross-contract callee non-optional ‒ [#1636](https://github.com/paritytech/ink/pull/1636) -- Support custom environment in E2E tests - [#1645](https://github.com/paritytech/ink/pull/1645) (thanks [@pmikolajczyk41](https://github.com/pmikolajczyk41)!) +- Add `Mapping::contains(key)` and `Mapping::insert_return_size(key, val)` ‒ [#1224](https://github.com/use-ink/ink/pull/1224) +- Add [`payment-channel`](https://github.com/use-ink/ink-examples/tree/main/payment-channel) example ‒ [#1248](https://github.com/use-ink/ink/pull/1248) (thanks [@kanishkatn](https://github.com/kanishkatn)!) +- Add `version` field to ink! metadata ‒ [#1313](https://github.com/use-ink/ink/pull/1313) +- The `rand-extension` example has been adapted to an updated version of the `ChainExtension` API ‒ [#1356](https://github.com/use-ink/ink/pull/1356) +- Add `ink_env::pay_with_call!` helper macro for off-chain emulation of sending payments with contract message calls ‒ [#1379](https://github.com/use-ink/ink/pull/1379) +- Allow using `Result` as a return type in constructors ‒ [#1446](https://github.com/use-ink/ink/pull/1446) +- Add `Mapping::take()` function allowing to get a value removing it from storage ‒ [#1461](https://github.com/use-ink/ink/pull/1461) +- Add E2E testing framework MVP ‒ [#1395](https://github.com/use-ink/ink/pull/1395) +- Add E2E tests for `Mapping` functions - [#1492](https://github.com/use-ink/ink/pull/1492) +- E2E: expose call dry-run method ‒ [#1624](https://github.com/use-ink/ink/pull/1624) +- Make cross-contract callee non-optional ‒ [#1636](https://github.com/use-ink/ink/pull/1636) +- Support custom environment in E2E tests - [#1645](https://github.com/use-ink/ink/pull/1645) (thanks [@pmikolajczyk41](https://github.com/pmikolajczyk41)!) ### Changed -- Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/paritytech/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)!) -- Move ink! linter into `ink` repository ‒ [#1361](https://github.com/paritytech/ink/pull/1267) -- Introduce `ink` entrance crate ‒ [#1223](https://github.com/paritytech/ink/pull/1223) -- Use `XXH32` instead of `sha256` for calculating storage keys ‒ [#1393](https://github.com/paritytech/ink/pull/1393) -- Storage Refactoring ‒ [#1331](https://github.com/paritytech/ink/pull/1331) -- Add support for language level errors (`LangError`) ‒ [#1450](https://github.com/paritytech/ink/pull/1450) -- Return `LangError`s from constructors ‒ [#1504](https://github.com/paritytech/ink/pull/1504) -- Update `scale-info` requirement to `2.3` ‒ [#1467](https://github.com/paritytech/ink/pull/1467) -- Merge `Mapping::insert(key, val)` and `Mapping::insert_return_size(key, val)` into one method - [#1463](https://github.com/paritytech/ink/pull/1463) -- FFI: no more `__unstable__` wasm import module ‒ [#1522](https://github.com/paritytech/ink/pull/1522) -- Clean up CallBuilder `return()` type ‒ [#1525](https://github.com/paritytech/ink/pull/1525) -- Fix trait message return type metadata ‒ [#1531](https://github.com/paritytech/ink/pull/1531) -- Bump Dylint dependencies ‒ [#1551](https://github.com/paritytech/ink/pull/1551) -- Stabilize `take_storage` ‒ [#1568](https://github.com/paritytech/ink/pull/1568) -- Chain Extension: Evaluation of method return type at compile time ‒ [#1569](https://github.com/paritytech/ink/pull/1569) -- Make more functions be const ‒ [#1574](https://github.com/paritytech/ink/pull/1574) (thanks [@yjhmelody](https://github.com/yjhmelody)!) -- Unify fallible and non fallible `instantiate` methods ‒ [#1591](https://github.com/paritytech/ink/pull/1591) -- Make `CallBuilder` and `CreateBuilder` error handling optional ‒ [#1602](https://github.com/paritytech/ink/pull/1602) -- Rename `CallBuilder::fire()` method to `invoke()` ‒ [#1604](https://github.com/paritytech/ink/pull/1604) -- chore: add minimum rust version to the ink crate ‒ [#1609](https://github.com/paritytech/ink/pull/1609) (thanks [@Kurtsley](https://github.com/Kurtsley)!) -- Rename `_checked` codegen call methods with `try_` ‒ [#1621](https://github.com/paritytech/ink/pull/1621) -- Bump Substrate and `subxt` dependencies ‒ [#1549](https://github.com/paritytech/ink/pull/1549) -- E2E: spawn a separate contracts node instance per test ‒ [#1642](https://github.com/paritytech/ink/pull/1642) +- Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/use-ink/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)!) +- Move ink! linter into `ink` repository ‒ [#1361](https://github.com/use-ink/ink/pull/1267) +- Introduce `ink` entrance crate ‒ [#1223](https://github.com/use-ink/ink/pull/1223) +- Use `XXH32` instead of `sha256` for calculating storage keys ‒ [#1393](https://github.com/use-ink/ink/pull/1393) +- Storage Refactoring ‒ [#1331](https://github.com/use-ink/ink/pull/1331) +- Add support for language level errors (`LangError`) ‒ [#1450](https://github.com/use-ink/ink/pull/1450) +- Return `LangError`s from constructors ‒ [#1504](https://github.com/use-ink/ink/pull/1504) +- Update `scale-info` requirement to `2.3` ‒ [#1467](https://github.com/use-ink/ink/pull/1467) +- Merge `Mapping::insert(key, val)` and `Mapping::insert_return_size(key, val)` into one method - [#1463](https://github.com/use-ink/ink/pull/1463) +- FFI: no more `__unstable__` wasm import module ‒ [#1522](https://github.com/use-ink/ink/pull/1522) +- Clean up CallBuilder `return()` type ‒ [#1525](https://github.com/use-ink/ink/pull/1525) +- Fix trait message return type metadata ‒ [#1531](https://github.com/use-ink/ink/pull/1531) +- Bump Dylint dependencies ‒ [#1551](https://github.com/use-ink/ink/pull/1551) +- Stabilize `take_storage` ‒ [#1568](https://github.com/use-ink/ink/pull/1568) +- Chain Extension: Evaluation of method return type at compile time ‒ [#1569](https://github.com/use-ink/ink/pull/1569) +- Make more functions be const ‒ [#1574](https://github.com/use-ink/ink/pull/1574) (thanks [@yjhmelody](https://github.com/yjhmelody)!) +- Unify fallible and non fallible `instantiate` methods ‒ [#1591](https://github.com/use-ink/ink/pull/1591) +- Make `CallBuilder` and `CreateBuilder` error handling optional ‒ [#1602](https://github.com/use-ink/ink/pull/1602) +- Rename `CallBuilder::fire()` method to `invoke()` ‒ [#1604](https://github.com/use-ink/ink/pull/1604) +- chore: add minimum rust version to the ink crate ‒ [#1609](https://github.com/use-ink/ink/pull/1609) (thanks [@Kurtsley](https://github.com/Kurtsley)!) +- Rename `_checked` codegen call methods with `try_` ‒ [#1621](https://github.com/use-ink/ink/pull/1621) +- Bump Substrate and `subxt` dependencies ‒ [#1549](https://github.com/use-ink/ink/pull/1549) +- E2E: spawn a separate contracts node instance per test ‒ [#1642](https://github.com/use-ink/ink/pull/1642) ### Fixed -- Trim single whitespace prefix in the metadata `docs` field ‒ [#1385](https://github.com/paritytech/ink/pull/1385) -- Allow pay_with_call to take multiple arguments ‒ [#1401](https://github.com/paritytech/ink/pull/1401) -- Add Determinism enum from pallet-contracts ‒ [#1547](https://github.com/paritytech/ink/pull/1547) -- Added missed `WhereClosure` for the generics into `storage_item` ‒ [#1536](https://github.com/paritytech/ink/pull/1536) (thanks [@xgreenx](https://github.com/xgreenx)!) +- Trim single whitespace prefix in the metadata `docs` field ‒ [#1385](https://github.com/use-ink/ink/pull/1385) +- Allow pay_with_call to take multiple arguments ‒ [#1401](https://github.com/use-ink/ink/pull/1401) +- Add Determinism enum from pallet-contracts ‒ [#1547](https://github.com/use-ink/ink/pull/1547) +- Added missed `WhereClosure` for the generics into `storage_item` ‒ [#1536](https://github.com/use-ink/ink/pull/1536) (thanks [@xgreenx](https://github.com/xgreenx)!) ### Removed -- Implement `ecdsa_to_eth_address()` and remove `eth_compatibility` crate ‒ [#1233](https://github.com/paritytech/ink/pull/1233) -- Remove `wee-alloc` ‒ [#1403](https://github.com/paritytech/ink/pull/1403) -- Remove `ink_env::random` function ‒ [#1442](https://github.com/paritytech/ink/pull/1442) -- Remove `Default` implementation for AccountId ‒ [#1255](https://github.com/paritytech/ink/pull/1255) +- Implement `ecdsa_to_eth_address()` and remove `eth_compatibility` crate ‒ [#1233](https://github.com/use-ink/ink/pull/1233) +- Remove `wee-alloc` ‒ [#1403](https://github.com/use-ink/ink/pull/1403) +- Remove `ink_env::random` function ‒ [#1442](https://github.com/use-ink/ink/pull/1442) +- Remove `Default` implementation for AccountId ‒ [#1255](https://github.com/use-ink/ink/pull/1255) ## Version 4.0.0-rc @@ -388,28 +389,28 @@ breaking or otherwise. ### Breaking Changes 1. We've renamed some of the generated message methods on the `ContractRef` struct. They - have been changed from `_checked` to `try_` ([#1621](https://github.com/paritytech/ink/pull/1621)) + have been changed from `_checked` to `try_` ([#1621](https://github.com/use-ink/ink/pull/1621)) 1. We have removed the `Default` implementation for `AccountId`s. This is because of security concerns around the use of the zero address which has a known private key in - the `sr25519` and `ed25519` curves ([#1255](https://github.com/paritytech/ink/pull/1255)). + the `sr25519` and `ed25519` curves ([#1255](https://github.com/use-ink/ink/pull/1255)). 1. We have replaced the `CallBuilder::callee()` method with a `call()` method and also added a `delegate()` method. This streamlines the `Call` and `DelegateCall` workflows - ([#1636](https://github.com/paritytech/ink/pull/1636)) + ([#1636](https://github.com/use-ink/ink/pull/1636)) ### Added -- E2E: expose call dry-run method ‒ [#1624](https://github.com/paritytech/ink/pull/1624) -- Make cross-contract callee non-optional ‒ [#1636](https://github.com/paritytech/ink/pull/1636) +- E2E: expose call dry-run method ‒ [#1624](https://github.com/use-ink/ink/pull/1624) +- Make cross-contract callee non-optional ‒ [#1636](https://github.com/use-ink/ink/pull/1636) ### Changed -- Rename `_checked` codegen call methods with `try_` ‒ [#1621](https://github.com/paritytech/ink/pull/1621) -- Bump Substrate and `subxt` dependencies ‒ [#1549](https://github.com/paritytech/ink/pull/1549) +- Rename `_checked` codegen call methods with `try_` ‒ [#1621](https://github.com/use-ink/ink/pull/1621) +- Bump Substrate and `subxt` dependencies ‒ [#1549](https://github.com/use-ink/ink/pull/1549) ### Removed -- Remove `Default` implementation for AccountId ‒ [#1255](https://github.com/paritytech/ink/pull/1255) +- Remove `Default` implementation for AccountId ‒ [#1255](https://github.com/use-ink/ink/pull/1255) ## Version 4.0.0-beta.1 The coolest feature included in this release is the first published version of -ink!'s native ["end-to-end" (E2E) testing framework](https://github.com/paritytech/ink/issues/1234). +ink!'s native ["end-to-end" (E2E) testing framework](https://github.com/use-ink/ink/issues/1234). This enables testing of a contract by deploying and calling it on a Substrate node with `pallet-contracts`. See the [`erc20` example](./examples/erc20/lib.rs) for usage. @@ -418,41 +419,41 @@ This enables testing of a contract by deploying and calling it on a Substrate no This release includes a couple of breaking changes. 1. The `CallBuilder::returns()` method does not require an extra `MessageResult` anymore - as the type is now added under the hood [(#1525)](https://github.com/paritytech/ink/pull/1525) + as the type is now added under the hood [(#1525)](https://github.com/use-ink/ink/pull/1525) 1. The `CallBuilder::invoke()` and `CreateBuilder::instantiate() `methods now unwrap the - `Result` from `pallet-contracts` under the hood ([#1602](https://github.com/paritytech/ink/pull/1602)) + `Result` from `pallet-contracts` under the hood ([#1602](https://github.com/use-ink/ink/pull/1602)) If you wish to handle the error use the new `try_` variants of those methods instead. 1. The `CallBuilder::fire()` method has been renamed to `invoke()` - ([#1604](https://github.com/paritytech/ink/pull/1604)) + ([#1604](https://github.com/use-ink/ink/pull/1604)) 1. The `returns_result` flag has been removed from the `#[ink(extension = …)]` attribute - ([#1569](https://github.com/paritytech/ink/pull/1569)) + ([#1569](https://github.com/use-ink/ink/pull/1569)) We now infer this information at compile time. If `handle_status` is set to `true`, the return type will still be wrapped into `Result` as before. 1. The Minimum Supported Rust Version (MSRV) has been set to `1.63.0`. This was already the case, but previously it was enforced by `cargo-contract` instead of ink! - ([#1609](https://github.com/paritytech/ink/pull/1609)) + ([#1609](https://github.com/use-ink/ink/pull/1609)) ### Added -- Add E2E testing framework MVP ‒ [#1395](https://github.com/paritytech/ink/pull/1395) -- Add E2E tests for `Mapping` functions - [#1492](https://github.com/paritytech/ink/pull/1492) +- Add E2E testing framework MVP ‒ [#1395](https://github.com/use-ink/ink/pull/1395) +- Add E2E tests for `Mapping` functions - [#1492](https://github.com/use-ink/ink/pull/1492) ### Fixed -- Add Determinism enum from pallet-contracts ‒ [#1547](https://github.com/paritytech/ink/pull/1547) -- Added missed `WhereClosure` for the generics into `storage_item` ‒ [#1536](https://github.com/paritytech/ink/pull/1536) (thanks [@xgreenx](https://github.com/xgreenx)) +- Add Determinism enum from pallet-contracts ‒ [#1547](https://github.com/use-ink/ink/pull/1547) +- Added missed `WhereClosure` for the generics into `storage_item` ‒ [#1536](https://github.com/use-ink/ink/pull/1536) (thanks [@xgreenx](https://github.com/xgreenx)) ### Changed -- Handle `LangError` from instantiate ‒ [#1512](https://github.com/paritytech/ink/pull/1512) -- FFI: no more `__unstable__` wasm import module ‒ [#1522](https://github.com/paritytech/ink/pull/1522) -- Clean up CallBuilder `return()` type ‒ [#1525](https://github.com/paritytech/ink/pull/1525) -- Fix trait message return type metadata ‒ [#1531](https://github.com/paritytech/ink/pull/1531) -- Bump Dylint dependencies ‒ [#1551](https://github.com/paritytech/ink/pull/1551) -- Stabilize `take_storage` ‒ [#1568](https://github.com/paritytech/ink/pull/1568) -- Chain Extension: Evaluation of method return type at compile time ‒ [#1569](https://github.com/paritytech/ink/pull/1569) -- Make more functions be const ‒ [#1574](https://github.com/paritytech/ink/pull/1574) (thanks [@yjhmelody](https://github.com/yjhmelody)) -- Unify fallible and non fallible `instantiate` methods ‒ [#1591](https://github.com/paritytech/ink/pull/1591) -- Make `CallBuilder` and `CreateBuilder` error handling optional ‒ [#1602](https://github.com/paritytech/ink/pull/1602) -- Rename `CallBuilder::fire()` method to `invoke()` ‒ [#1604](https://github.com/paritytech/ink/pull/1604) -- chore: add minimum rust version to the ink crate ‒ [#1609](https://github.com/paritytech/ink/pull/1609) (thanks [@Kurtsley](https://github.com/Kurtsley)) +- Handle `LangError` from instantiate ‒ [#1512](https://github.com/use-ink/ink/pull/1512) +- FFI: no more `__unstable__` wasm import module ‒ [#1522](https://github.com/use-ink/ink/pull/1522) +- Clean up CallBuilder `return()` type ‒ [#1525](https://github.com/use-ink/ink/pull/1525) +- Fix trait message return type metadata ‒ [#1531](https://github.com/use-ink/ink/pull/1531) +- Bump Dylint dependencies ‒ [#1551](https://github.com/use-ink/ink/pull/1551) +- Stabilize `take_storage` ‒ [#1568](https://github.com/use-ink/ink/pull/1568) +- Chain Extension: Evaluation of method return type at compile time ‒ [#1569](https://github.com/use-ink/ink/pull/1569) +- Make more functions be const ‒ [#1574](https://github.com/use-ink/ink/pull/1574) (thanks [@yjhmelody](https://github.com/yjhmelody)) +- Unify fallible and non fallible `instantiate` methods ‒ [#1591](https://github.com/use-ink/ink/pull/1591) +- Make `CallBuilder` and `CreateBuilder` error handling optional ‒ [#1602](https://github.com/use-ink/ink/pull/1602) +- Rename `CallBuilder::fire()` method to `invoke()` ‒ [#1604](https://github.com/use-ink/ink/pull/1604) +- chore: add minimum rust version to the ink crate ‒ [#1609](https://github.com/use-ink/ink/pull/1609) (thanks [@Kurtsley](https://github.com/Kurtsley)) ## Version 4.0.0-beta @@ -464,7 +465,7 @@ with `4.0.0-beta` continue to be compatible with all future `4.0.0` versions. ### Compatibility In order to build contracts which use ink! `v4.0.0-beta` you need to use `cargo-contract` -[`v2.0.0-beta`](https://github.com/paritytech/cargo-contract/releases/tag/v2.0.0-beta). +[`v2.0.0-beta`](https://github.com/use-ink/cargo-contract/releases/tag/v2.0.0-beta). You can install it as follows: `cargo install cargo-contract --version 2.0.0-beta` @@ -502,17 +503,17 @@ In order to make this error compatible with other languages we have also added a different error variants which languages may want to emit in the future. Related pull-requests: -- https://github.com/paritytech/ink/pull/1450 -- https://github.com/paritytech/ink/pull/1504 +- https://github.com/use-ink/ink/pull/1450 +- https://github.com/use-ink/ink/pull/1504 Related discussions: -- https://github.com/paritytech/ink/issues/1207 +- https://github.com/use-ink/ink/issues/1207 - https://github.com/paritytech/substrate/issues/11018 -- https://github.com/paritytech/ink/issues/1002 +- https://github.com/use-ink/ink/issues/1002 ## Random function removed We had to remove [`ink_env::random`](https://docs.rs/ink_env/3.3.1/ink_env/fn.random.html) -with [#1442](https://github.com/paritytech/ink/pull/1442). +with [#1442](https://github.com/use-ink/ink/pull/1442). This function allowed contract developers getting random entropy. There is unfortunately no way how this can be done safely enough with built-in Substrate primitives on-chain currently. We're @@ -527,24 +528,24 @@ best hope right now is that it could come back with [Sassafras](https://wiki.pol protocol for future versions of Polkadot. ### Added -- Allow using `Result` as a return type in constructors ‒ [#1446](https://github.com/paritytech/ink/pull/1446) -- Add `Mapping::take()` function allowing to get a value removing it from storage ‒ [#1461](https://github.com/paritytech/ink/pull/1461) +- Allow using `Result` as a return type in constructors ‒ [#1446](https://github.com/use-ink/ink/pull/1446) +- Add `Mapping::take()` function allowing to get a value removing it from storage ‒ [#1461](https://github.com/use-ink/ink/pull/1461) ### Changed -- Add support for language level errors (`LangError`) ‒ [#1450](https://github.com/paritytech/ink/pull/1450) -- Return `LangError`s from constructors ‒ [#1504](https://github.com/paritytech/ink/pull/1504) -- Update `scale-info` requirement to `2.3` ‒ [#1467](https://github.com/paritytech/ink/pull/1467) -- Merge `Mapping::insert(key, val)` and `Mapping::insert_return_size(key, val)` into one method - [#1463](https://github.com/paritytech/ink/pull/1463) +- Add support for language level errors (`LangError`) ‒ [#1450](https://github.com/use-ink/ink/pull/1450) +- Return `LangError`s from constructors ‒ [#1504](https://github.com/use-ink/ink/pull/1504) +- Update `scale-info` requirement to `2.3` ‒ [#1467](https://github.com/use-ink/ink/pull/1467) +- Merge `Mapping::insert(key, val)` and `Mapping::insert_return_size(key, val)` into one method - [#1463](https://github.com/use-ink/ink/pull/1463) ### Removed -- Remove `ink_env::random` function ‒ [#1442](https://github.com/paritytech/ink/pull/1442) +- Remove `ink_env::random` function ‒ [#1442](https://github.com/use-ink/ink/pull/1442) ## Version 4.0.0-alpha.3 ### Breaking Changes #### New `ink` crate -The `ink_lang` crate has been replaced in [#1223](https://github.com/paritytech/ink/pull/1223) by a new top level `ink` +The `ink_lang` crate has been replaced in [#1223](https://github.com/use-ink/ink/pull/1223) by a new top level `ink` crate. All existing sub-crates are reexported and should be used via the new `ink` crate, so e.g. `ink::env` instead of `ink_env`. Contract authors should now import the top level `ink` crate instead of the individual crates. @@ -555,7 +556,7 @@ crate. All existing sub-crates are reexported and should be used via the new `in - Replace all usages of individual crates with reexports, e.g. `ink_env` ➜ `ink::env`. #### Storage Rework -[#1331](https://github.com/paritytech/ink/pull/1331) changes the way `ink!` works with contract storage. Storage keys +[#1331](https://github.com/use-ink/ink/pull/1331) changes the way `ink!` works with contract storage. Storage keys are generated at compile-time, and user facing abstractions which determine how contract data is laid out in storage have changed. @@ -569,19 +570,19 @@ ink! uses a bump allocator by default, additionally we supported another allocat through a feature flag. `wee-alloc` is no longer maintained and we removed support for it. ### Changed -- Introduce `ink` entrance crate ‒ [#1223](https://github.com/paritytech/ink/pull/1223) -- Use `XXH32` instead of `sha256` for calculating storage keys ‒ [#1393](https://github.com/paritytech/ink/pull/1393) -- Storage Refactoring ‒ [#1331](https://github.com/paritytech/ink/pull/1331) +- Introduce `ink` entrance crate ‒ [#1223](https://github.com/use-ink/ink/pull/1223) +- Use `XXH32` instead of `sha256` for calculating storage keys ‒ [#1393](https://github.com/use-ink/ink/pull/1393) +- Storage Refactoring ‒ [#1331](https://github.com/use-ink/ink/pull/1331) ### Fixed -- Trim single whitespace prefix in the metadata `docs` field ‒ [#1385](https://github.com/paritytech/ink/pull/1385) -- Allow pay_with_call to take multiple arguments ‒ [#1401](https://github.com/paritytech/ink/pull/1401) +- Trim single whitespace prefix in the metadata `docs` field ‒ [#1385](https://github.com/use-ink/ink/pull/1385) +- Allow pay_with_call to take multiple arguments ‒ [#1401](https://github.com/use-ink/ink/pull/1401) ### Added -- Add `ink_env::pay_with_call!` helper macro for off-chain emulation of sending payments with contract message calls ‒ [#1379](https://github.com/paritytech/ink/pull/1379) +- Add `ink_env::pay_with_call!` helper macro for off-chain emulation of sending payments with contract message calls ‒ [#1379](https://github.com/use-ink/ink/pull/1379) ### Removed -- Remove `wee-alloc` ‒ [#1403](https://github.com/paritytech/ink/pull/1403) +- Remove `wee-alloc` ‒ [#1403](https://github.com/use-ink/ink/pull/1403) ## Version 4.0.0-alpha.2 @@ -595,7 +596,7 @@ so small errors like this are learning experiences for us. ### Compatibility In order to build contracts which use ink! `v4.0.0-alpha.1` you need to use `cargo-contract` -[`v2.0.0-alpha.1`](https://github.com/paritytech/cargo-contract/releases/tag/v2.0.0-alpha.1). +[`v2.0.0-alpha.1`](https://github.com/use-ink/cargo-contract/releases/tag/v2.0.0-alpha.1). You can install it as follows: `cargo install cargo-contract --version 2.0.0-alpha.1` @@ -611,32 +612,32 @@ This release contains a few breaking changes. These are indicated with the :x: e Most of these were intitially introduced in `v3.1.0` and `v3.2.0` releases but compatibility was restored in `v3.3.0`. -- As part of [#1224](https://github.com/paritytech/ink/pull/1224) the return type of `ink_env::set_contract_storage()` was changed to +- As part of [#1224](https://github.com/use-ink/ink/pull/1224) the return type of `ink_env::set_contract_storage()` was changed to return an `Option` instead of `()`. -- As part of [#1233](https://github.com/paritytech/ink/pull/1233) the `eth_compatibility` crate was removed. The +- As part of [#1233](https://github.com/use-ink/ink/pull/1233) the `eth_compatibility` crate was removed. The `ecdsa_to_eth_address()` function from it can now be found in the `ink_env` crate. -- As part of [#1267](https://github.com/paritytech/ink/pull/1267) an argument to `ink_lang::codegen::execute_constructor()` (which is +- As part of [#1267](https://github.com/use-ink/ink/pull/1267) an argument to `ink_lang::codegen::execute_constructor()` (which is used internally by the ink! macros) was removed. -- As part of [#1313](https://github.com/paritytech/ink/pull/1313) the ink! ABI was changed so that the version was specified using a +- As part of [#1313](https://github.com/use-ink/ink/pull/1313) the ink! ABI was changed so that the version was specified using a dedicated `version` key instead of an implicit key which wrapped the entire ABI. ### Added -- :x: Add `Mapping::contains(key)` and `Mapping::insert_return_size(key, val)` ‒ [#1224](https://github.com/paritytech/ink/pull/1224) -- Add [`payment-channel`](https://github.com/paritytech/ink-examples/tree/main/payment-channel) example ‒ [#1248](https://github.com/paritytech/ink/pull/1248) -- :x: Add `version` field to ink! metadata ‒ [#1313](https://github.com/paritytech/ink/pull/1313) -- The `rand-extension` example has been adapted to an updated version of the `ChainExtension` API ‒ [#1356](https://github.com/paritytech/ink/pull/1356) +- :x: Add `Mapping::contains(key)` and `Mapping::insert_return_size(key, val)` ‒ [#1224](https://github.com/use-ink/ink/pull/1224) +- Add [`payment-channel`](https://github.com/use-ink/ink-examples/tree/main/payment-channel) example ‒ [#1248](https://github.com/use-ink/ink/pull/1248) +- :x: Add `version` field to ink! metadata ‒ [#1313](https://github.com/use-ink/ink/pull/1313) +- The `rand-extension` example has been adapted to an updated version of the `ChainExtension` API ‒ [#1356](https://github.com/use-ink/ink/pull/1356) ### Changed -- :x: Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/paritytech/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)). -- Move ink! linter into `ink` repository ‒ [#1361](https://github.com/paritytech/ink/pull/1267) +- :x: Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/use-ink/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)). +- Move ink! linter into `ink` repository ‒ [#1361](https://github.com/use-ink/ink/pull/1267) ### Removed -- :x: Implement `ecdsa_to_eth_address()` and remove `eth_compatibility` crate ‒ [#1233](https://github.com/paritytech/ink/pull/1233) +- :x: Implement `ecdsa_to_eth_address()` and remove `eth_compatibility` crate ‒ [#1233](https://github.com/use-ink/ink/pull/1233) ## Version 3.3.1 At the moment teams which use both Substrate and ink! in the same codebase are -[experiencing some issues](https://github.com/paritytech/ink/pull/1348#issuecomment-1207477615) +[experiencing some issues](https://github.com/use-ink/ink/pull/1348#issuecomment-1207477615) with updating to Substrate's [`polkadot-0.9.27` branch](https://github.com/paritytech/substrate/tree/polkadot-v0.9.27). This is because that branch uses the `secp256k1@0.24`, which is incompatible with `secp256k1@0.22` @@ -660,18 +661,18 @@ to [0.16.0](https://github.com/paritytech/substrate-contracts-node/releases/tag/ 1. [Incompatibility between ink! v3.0.1 and v3.2.0 ](https://substrate.stackexchange.com/questions/2870/cargo-contract-throws-error-about-supplied-arguments-in-inkconstructor-f) The following has been done to restore backward compatibility: -- Reverted backward-incompatible piece of [#1224](https://github.com/paritytech/ink/pull/1224). +- Reverted backward-incompatible piece of [#1224](https://github.com/use-ink/ink/pull/1224). - The return signature of `ink_env::set_contract_storage()` was changed to return an `Option`. This could have broken existing code, so this should've been done in a `MAJOR` release. - Under the hood the PR also changed `Mapping::insert()` to use a new SEAL API (`[seal1] seal_set_storage`), which resulted in `CodeRejected` errors in nodes which did not have this API (e.g `substrate-contracts-node@0.13.0`). -- Reverted "Optimise deny_payment. Use everywhere semantic of deny ([#1267](https://github.com/paritytech/ink/pull/1267))" +- Reverted "Optimise deny_payment. Use everywhere semantic of deny ([#1267](https://github.com/use-ink/ink/pull/1267))" - This one is to restore compatibility between minor versions of ink! crates; see @HCastano's SE [answer](https://substrate.stackexchange.com/a/3000/472) in this regard. -- Reverted backward-incompatible piece of [#1233](https://github.com/paritytech/ink/pull/1233). +- Reverted backward-incompatible piece of [#1233](https://github.com/use-ink/ink/pull/1233). - The removal of the `eth_compatibility` crate should have been done in a `MAJOR` release. @@ -688,13 +689,13 @@ This is the case in the latest release of the [`substrate-contracts-node`](https [v0.16.0](https://github.com/paritytech/substrate-contracts-node/releases/tag/v0.16.0). ### Added -- Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/paritytech/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)). +- Contract size optimization in case contract doesn't accept payment ‒ [#1267](https://github.com/use-ink/ink/pull/1267) (thanks [@xgreenx](https://github.com/xgreenx)). ### Changed -- Two functions have been stabilized: [`ink_env::ecdsa_recover`](https://paritytech.github.io/ink/ink_env/fn.ecdsa_recover.html) and [`ink_env::ecdsa_to_eth_address`](https://paritytech.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) ‒ [#1270](https://github.com/paritytech/ink/pull/1270) [#1273](https://github.com/paritytech/ink/pull/1273) +- Two functions have been stabilized: [`ink_env::ecdsa_recover`](https://use-ink.github.io/ink/ink_env/fn.ecdsa_recover.html) and [`ink_env::ecdsa_to_eth_address`](https://use-ink.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) ‒ [#1270](https://github.com/use-ink/ink/pull/1270) [#1273](https://github.com/use-ink/ink/pull/1273) ### Fixed -- Fixed bug with recent Rust and `cargo test` ‒ [#1272](https://github.com/paritytech/ink/pull/1272) (thanks [@xgreenx](https://github.com/xgreenx)). +- Fixed bug with recent Rust and `cargo test` ‒ [#1272](https://github.com/use-ink/ink/pull/1272) (thanks [@xgreenx](https://github.com/xgreenx)). ## Version 3.1.0 @@ -710,11 +711,11 @@ the latest Polkadot release [v0.9.22](https://github.com/paritytech/polkadot/rel ### Breaking Changes There are two breaking changes in this release: -* As part of [#1235](https://github.com/paritytech/ink/pull/1235) the message selectors of +* As part of [#1235](https://github.com/use-ink/ink/pull/1235) the message selectors of your contract may change. A change of selectors would affect your client, frontend, Dapp, etc.. -* As part of [#1233](https://github.com/paritytech/ink/pull/1235) we removed the `eth_compatibility` +* As part of [#1233](https://github.com/use-ink/ink/pull/1235) we removed the `eth_compatibility` crate.

- Its recovery functionality has been moved to `ink_env` now: [`ink_env::ecdsa_to_eth_address`](https://paritytech.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html). + Its recovery functionality has been moved to `ink_env` now: [`ink_env::ecdsa_to_eth_address`](https://use-ink.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html). The reason for this change is that we moved the gas-expensive crypto operations into `pallet-contracts`.

The crates `to_default_account_id` function has been removed; the reason for this change is that ink! doesn't have knowledge about the specific Substrate types on the underlying chain. @@ -724,43 +725,43 @@ There are two breaking changes in this release: ### New API functions We added two new `Mapping` API functions: -[`Mapping::contains`](https://paritytech.github.io/ink/ink_storage/struct.Mapping.html#method.contains) and -[`Mapping::insert_return_size`](https://paritytech.github.io/ink/ink_storage/struct.Mapping.html#method.insert_return_size) ‒ [#1224](https://github.com/paritytech/ink/pull/1224). +[`Mapping::contains`](https://use-ink.github.io/ink/ink_storage/struct.Mapping.html#method.contains) and +[`Mapping::insert_return_size`](https://use-ink.github.io/ink/ink_storage/struct.Mapping.html#method.insert_return_size) ‒ [#1224](https://github.com/use-ink/ink/pull/1224). These are more gas-efficient than whatever you were using previously. Additionally there are a couple new `ink_env` functions now: -* [`ink_env::set_code_hash`](https://paritytech.github.io/ink/ink_env/fn.set_code_hash.html) -* [`ink_env::own_code_hash`](https://paritytech.github.io/ink/ink_env/fn.own_code_hash.html) -* [`ink_env::code_hash`](https://paritytech.github.io/ink/ink_env/fn.code_hash.html) -* [`ink_env::ecdsa_to_eth_address`](https://paritytech.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) +* [`ink_env::set_code_hash`](https://use-ink.github.io/ink/ink_env/fn.set_code_hash.html) +* [`ink_env::own_code_hash`](https://use-ink.github.io/ink/ink_env/fn.own_code_hash.html) +* [`ink_env::code_hash`](https://use-ink.github.io/ink/ink_env/fn.code_hash.html) +* [`ink_env::ecdsa_to_eth_address`](https://use-ink.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) ### New Upgradeable Contract Example -We've added a new example: [`upgradeable-contracts/set-code-hash`](https://github.com/paritytech/ink-examples/tree/main/upgradeable-contracts#set-code-hash#set-code-hash). +We've added a new example: [`upgradeable-contracts/set-code-hash`](https://github.com/use-ink/ink-examples/tree/main/upgradeable-contracts#set-code-hash#set-code-hash). -It illustrates how the newly added [`ink_env::set_code_hash`](https://paritytech.github.io/ink/ink_env/fn.set_code_hash.html) +It illustrates how the newly added [`ink_env::set_code_hash`](https://use-ink.github.io/ink/ink_env/fn.set_code_hash.html) can be used to implement an upgradeable contract that replaces its own code. ### Added -- Implement `seal_code_hash` and `seal_own_code_hash` ‒ [#1205](https://github.com/paritytech/ink/pull/1205) -- Add `set_code_hash` function and example ‒ [#1203](https://github.com/paritytech/ink/pull/1203) -- Implement [`ink_env::ecdsa_to_eth_address`](https://paritytech.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) ‒ [#1233](https://github.com/paritytech/ink/pull/1233) -- Add [`Mapping::contains(key)`](https://paritytech.github.io/ink/ink_storage/struct.Mapping.html#method.contains) and [`Mapping::insert_return_size(key, val)`](https://paritytech.github.io/ink/ink_storage/struct.Mapping.html#method.insert_return_size) ‒ [#1224](https://github.com/paritytech/ink/pull/1224) +- Implement `seal_code_hash` and `seal_own_code_hash` ‒ [#1205](https://github.com/use-ink/ink/pull/1205) +- Add `set_code_hash` function and example ‒ [#1203](https://github.com/use-ink/ink/pull/1203) +- Implement [`ink_env::ecdsa_to_eth_address`](https://use-ink.github.io/ink/ink_env/fn.ecdsa_to_eth_address.html) ‒ [#1233](https://github.com/use-ink/ink/pull/1233) +- Add [`Mapping::contains(key)`](https://use-ink.github.io/ink/ink_storage/struct.Mapping.html#method.contains) and [`Mapping::insert_return_size(key, val)`](https://use-ink.github.io/ink/ink_storage/struct.Mapping.html#method.insert_return_size) ‒ [#1224](https://github.com/use-ink/ink/pull/1224) ### Fixed -- Fix ordering of message ids if the trait is implemented before the inherent section ‒ [#1235](https://github.com/paritytech/ink/pull/1235) +- Fix ordering of message ids if the trait is implemented before the inherent section ‒ [#1235](https://github.com/use-ink/ink/pull/1235) ### Removed -- Removed `eth_compatibility` crate and moved its functionality partly into `ink_env` ‒ [#1233](https://github.com/paritytech/ink/pull/1233) +- Removed `eth_compatibility` crate and moved its functionality partly into `ink_env` ‒ [#1233](https://github.com/use-ink/ink/pull/1233) ## Version 3.0.1 ### Changed -- Improve upgradeable examples folder structure, explain differences ‒ [#1188](https://github.com/paritytech/ink/pull/1188) +- Improve upgradeable examples folder structure, explain differences ‒ [#1188](https://github.com/use-ink/ink/pull/1188) ### Fixed -- Update codegen after SCALE v3.1.2 release ‒ [#1189](https://github.com/paritytech/ink/pull/1189) -- Stop using `CallData` in `multisig` example doc test ‒ [#1202](https://github.com/paritytech/ink/pull/1202) +- Update codegen after SCALE v3.1.2 release ‒ [#1189](https://github.com/use-ink/ink/pull/1189) +- Stop using `CallData` in `multisig` example doc test ‒ [#1202](https://github.com/use-ink/ink/pull/1202) ## Version 3.0.0 @@ -788,15 +789,15 @@ one, which has a bit of a different API. The major changes are that there is no longer any notion of "execution context" ‒ so no more `push_execution_context` or `pop_execution_context`. -You can achieve all the same things with the new API, see [here](https://paritytech.github.io/ink/ink_env/test/index.html) +You can achieve all the same things with the new API, see [here](https://use-ink.github.io/ink/ink_env/test/index.html) for the API documentation. We've also switched all our examples to this new environment, you can find more "template use-cases" there (e.g. for -[chain extension testing](https://github.com/paritytech/ink-examples/tree/main/rand-extension)) +[chain extension testing](https://github.com/use-ink/ink-examples/tree/main/rand-extension)) #### We removed the dynamic storage allocator -More details on the reasoning behind this can be found in [#1148](https://github.com/paritytech/ink/pull/1148). +More details on the reasoning behind this can be found in [#1148](https://github.com/use-ink/ink/pull/1148). #### `CallBuilder` API changed to support `delegate` calls The `CallBuilder` API changed to now support two types of calls: @@ -806,36 +807,36 @@ The `CallBuilder` API changed to now support two types of calls: * `DelegateCall`: a delegated call.
This enables writing upgradeable contracts using the `delegate` pattern. An example has been added to demonstrate this: - [`delegate-calls`](https://github.com/paritytech/ink-examples/tree/main/upgradeable-contracts). + [`delegate-calls`](https://github.com/use-ink/ink-examples/tree/main/upgradeable-contracts). This is a breaking change, users must now specify the `call_type` to the builder manually. _If you want to keep existing behavior you just need to specify the type `Call` now._ -More details on this change can be found in [#1133](https://github.com/paritytech/ink/pull/1133). +More details on this change can be found in [#1133](https://github.com/use-ink/ink/pull/1133). #### Unify `ink_env::{eval_contract, invoke_contract}` The API for `eval_contract` and `invoke_contract` changed. You can read more -about the change in [#1165](https://github.com/paritytech/ink/pull/1165). +about the change in [#1165](https://github.com/use-ink/ink/pull/1165). ### Added -- Added `keep_attr` to `#[ink::contract]` and `#[ink::trait_definition]` ‒ [#1145](https://github.com/paritytech/ink/pull/1145) (thanks [@xgreenx](https://github.com/xgreenx)).. -- Implemented the `seal_is_contract` and `seal_caller_is_origin` API ‒ [#1129](https://github.com/paritytech/ink/pull/1129) [#1166](https://github.com/paritytech/ink/pull/1166). -- Add tests in experimental off-chain env for `trait-erc20` ‒ [#1158](https://github.com/paritytech/ink/pull/1158). -- Add tests in experimental off-chain env for `erc721` ‒ [#1157](https://github.com/paritytech/ink/pull/1157). -- Add tests in experimental off-chain env for `multisig` ‒ [#1159](https://github.com/paritytech/ink/pull/1159). -- Add tests in experimental off-chain env for `dns` ‒ [#1156](https://github.com/paritytech/ink/pull/1156). -- Implemented chain extension testing in experimental off-chain env ‒ [#1152](https://github.com/paritytech/ink/pull/1152). +- Added `keep_attr` to `#[ink::contract]` and `#[ink::trait_definition]` ‒ [#1145](https://github.com/use-ink/ink/pull/1145) (thanks [@xgreenx](https://github.com/xgreenx)).. +- Implemented the `seal_is_contract` and `seal_caller_is_origin` API ‒ [#1129](https://github.com/use-ink/ink/pull/1129) [#1166](https://github.com/use-ink/ink/pull/1166). +- Add tests in experimental off-chain env for `trait-erc20` ‒ [#1158](https://github.com/use-ink/ink/pull/1158). +- Add tests in experimental off-chain env for `erc721` ‒ [#1157](https://github.com/use-ink/ink/pull/1157). +- Add tests in experimental off-chain env for `multisig` ‒ [#1159](https://github.com/use-ink/ink/pull/1159). +- Add tests in experimental off-chain env for `dns` ‒ [#1156](https://github.com/use-ink/ink/pull/1156). +- Implemented chain extension testing in experimental off-chain env ‒ [#1152](https://github.com/use-ink/ink/pull/1152). ### Changed -- Replaced default off-chain testing engine with experimental one ‒ [#1144](https://github.com/paritytech/ink/pull/1144). -- Changed `CallBuilder` API to now support delegate calls ‒ [#1133](https://github.com/paritytech/ink/pull/1133) (thanks [@VargSupercolony](https://github.com/VargSupercolony) and [@xgreenx](https://github.com/xgreenx)). -- Unify `ink_env::{eval_contract, invoke_contract}` ‒ [#1165](https://github.com/paritytech/ink/pull/1165). +- Replaced default off-chain testing engine with experimental one ‒ [#1144](https://github.com/use-ink/ink/pull/1144). +- Changed `CallBuilder` API to now support delegate calls ‒ [#1133](https://github.com/use-ink/ink/pull/1133) (thanks [@VargSupercolony](https://github.com/VargSupercolony) and [@xgreenx](https://github.com/xgreenx)). +- Unify `ink_env::{eval_contract, invoke_contract}` ‒ [#1165](https://github.com/use-ink/ink/pull/1165). ### Removed -- Removed the dynamic storage allocator ‒ [#1148](https://github.com/paritytech/ink/pull/1148). -- Removed `compile_as_dependency` config option ‒ [#1168](https://github.com/paritytech/ink/pull/1168). +- Removed the dynamic storage allocator ‒ [#1148](https://github.com/use-ink/ink/pull/1148). +- Removed `compile_as_dependency` config option ‒ [#1168](https://github.com/use-ink/ink/pull/1168). ## Version 3.0-rc9 @@ -847,18 +848,18 @@ This is the 9th release candidate for ink! 3.0. This is a drastic breaking change; it was no easy decision for us. It affects `Lazy` and `Memory` as well. The rationale behind this change, as well as some notes on migrating existing contracts, are explained -in [#1111](https://github.com/paritytech/ink/pull/1111) and -[#1137](https://github.com/paritytech/ink/pull/1137). +in [#1111](https://github.com/use-ink/ink/pull/1111) and +[#1137](https://github.com/use-ink/ink/pull/1137). If you used `Memory` in your contract, you can achieve the same functionality by passing this data via arguments. If you think there's a case to be made for bringing it back, please get in contact with us. -If you use [`ink_storage::Mapping`](https://paritytech.github.io/ink/ink_storage/struct.Mapping.html) +If you use [`ink_storage::Mapping`](https://use-ink.github.io/ink/ink_storage/struct.Mapping.html) in your contract, you need to initialize the data structure using the helper function -[`ink_lang::utils::initialize_contract(…)`](https://paritytech.github.io/ink/ink_lang/utils/fn.initialize_contract.html). +[`ink_lang::utils::initialize_contract(…)`](https://use-ink.github.io/ink/ink_lang/utils/fn.initialize_contract.html). For more code examples you can take a look at our examples, e.g. -[`erc20`](https://github.com/paritytech/ink/blob/master/examples/erc20/lib.rs). +[`erc20`](https://github.com/use-ink/ink/blob/master/examples/erc20/lib.rs). #### Please upgrade `scale-info` and `parity-scale-codec` in your contract's dependencies @@ -872,21 +873,21 @@ scale = { package = "parity-scale-codec", version = "3", default-features = fals ``` ### Added -- Export `ink_lang::utils::initialize_contract(…)` - [#1077](https://github.com/paritytech/ink/pull/1077). -- Add `get_owner()` function to `dns` example contract - [#1118](https://github.com/paritytech/ink/pull/1118) (thanks [@agryaznov](https://github.com/agryaznov)). -- Improved usage documentation of `ink_storage::Mapping` - [#1138](https://github.com/paritytech/ink/pull/1138). +- Export `ink_lang::utils::initialize_contract(…)` - [#1077](https://github.com/use-ink/ink/pull/1077). +- Add `get_owner()` function to `dns` example contract - [#1118](https://github.com/use-ink/ink/pull/1118) (thanks [@agryaznov](https://github.com/agryaznov)). +- Improved usage documentation of `ink_storage::Mapping` - [#1138](https://github.com/use-ink/ink/pull/1138). ### Changed -- Updated to `parity-scale-codec = "3"` and `scale-info = "2"` - [#1132](https://github.com/paritytech/ink/pull/1132). +- Updated to `parity-scale-codec = "3"` and `scale-info = "2"` - [#1132](https://github.com/use-ink/ink/pull/1132). ### Removed -- Remove `collection` and `lazy` modules from public ink! API - [#1111](https://github.com/paritytech/ink/pull/1111). -- Remove `Memory` from public ink! API - [#1137](https://github.com/paritytech/ink/pull/1137). +- Remove `collection` and `lazy` modules from public ink! API - [#1111](https://github.com/use-ink/ink/pull/1111). +- Remove `Memory` from public ink! API - [#1137](https://github.com/use-ink/ink/pull/1137). ### Fixed -- Fix bug with referencing two external trait definitions - [#1141](https://github.com/paritytech/ink/pull/1141). -- Explicitly specify trait in dispatching - [#1131](https://github.com/paritytech/ink/pull/1131) (thanks [@xgreenx](https://github.com/xgreenx)). -- Make `rust-analyzer` expand ink! macros without warning - [#1107](https://github.com/paritytech/ink/pull/1107). +- Fix bug with referencing two external trait definitions - [#1141](https://github.com/use-ink/ink/pull/1141). +- Explicitly specify trait in dispatching - [#1131](https://github.com/use-ink/ink/pull/1131) (thanks [@xgreenx](https://github.com/xgreenx)). +- Make `rust-analyzer` expand ink! macros without warning - [#1107](https://github.com/use-ink/ink/pull/1107). ## Version 3.0-rc8 @@ -922,7 +923,7 @@ Now they are instead denoted with For public contract methods that are implemented from a trait, the trait name is prefixed to the method name with `::` as the separator. So e.g. `trait_name::get_owner`. -The ink! PR which implemented this is [#923](https://github.com/paritytech/ink/pull/923), +The ink! PR which implemented this is [#923](https://github.com/use-ink/ink/pull/923), for the `polkadot-js/api` it was [polkadot-js/api#4255](https://github.com/polkadot-js/api/pull/4255). #### Constructors got a new field: `payable: bool` @@ -930,21 +931,21 @@ Constructors now have to be specified `payable` if it's intended for them to rec (i.e. tokens). This is a breaking change, beforehand they were by default payable, now they are by default non-payable. -The ink! PR which implemented this is [#1065](https://github.com/paritytech/ink/pull/1065), the PR that updated the ink! -metadata to V3 is [#1100](https://github.com/paritytech/ink/pull/1100), and for the `polkadot-js/api` it was [polkadot-js/api#4432](https://github.com/polkadot-js/api/pull/4432). +The ink! PR which implemented this is [#1065](https://github.com/use-ink/ink/pull/1065), the PR that updated the ink! +metadata to V3 is [#1100](https://github.com/use-ink/ink/pull/1100), and for the `polkadot-js/api` it was [polkadot-js/api#4432](https://github.com/polkadot-js/api/pull/4432). ### Changed -- Update metadata to support payable constructors - [#1100](https://github.com/paritytech/ink/pull/1100). -- Make constructors non-payable by default, require specifying `payable` explicitly - [#1065](https://github.com/paritytech/ink/pull/1065). -- Renamed the error code `EcdsaRecoverFailed` to `EcdsaRecoveryFailed` ‒ [#1064](https://github.com/paritytech/ink/pull/1064). -- Renamed the `ink_env` function `transferred_balance()` to `transferred_value()` ‒ [#1063](https://github.com/paritytech/ink/pull/1063). -- Removed the error codes `BelowSubsistenceThreshold` and `NewContractNotFunded` ‒ [#1062](https://github.com/paritytech/ink/pull/1062). -- Updated ink! to use the most recent `contracts` pallet API ‒ [#1053](https://github.com/paritytech/ink/pull/1053). -- Explicitly link against `rlibc` to get non-buggy version of `memcpy` ‒ [#1049](https://github.com/paritytech/ink/pull/1049). -- Changed the metadata field `name` to `label` for messages and constructors ‒ [#923](https://github.com/paritytech/ink/pull/923) (thanks [@xgreenx](https://github.com/xgreenx)). +- Update metadata to support payable constructors - [#1100](https://github.com/use-ink/ink/pull/1100). +- Make constructors non-payable by default, require specifying `payable` explicitly - [#1065](https://github.com/use-ink/ink/pull/1065). +- Renamed the error code `EcdsaRecoverFailed` to `EcdsaRecoveryFailed` ‒ [#1064](https://github.com/use-ink/ink/pull/1064). +- Renamed the `ink_env` function `transferred_balance()` to `transferred_value()` ‒ [#1063](https://github.com/use-ink/ink/pull/1063). +- Removed the error codes `BelowSubsistenceThreshold` and `NewContractNotFunded` ‒ [#1062](https://github.com/use-ink/ink/pull/1062). +- Updated ink! to use the most recent `contracts` pallet API ‒ [#1053](https://github.com/use-ink/ink/pull/1053). +- Explicitly link against `rlibc` to get non-buggy version of `memcpy` ‒ [#1049](https://github.com/use-ink/ink/pull/1049). +- Changed the metadata field `name` to `label` for messages and constructors ‒ [#923](https://github.com/use-ink/ink/pull/923) (thanks [@xgreenx](https://github.com/xgreenx)). ### Added -- Added a `remove` method to the `Mapping` data structure ‒ [#1023](https://github.com/paritytech/ink/pull/1023). +- Added a `remove` method to the `Mapping` data structure ‒ [#1023](https://github.com/use-ink/ink/pull/1023). ## Version 3.0-rc7 @@ -959,7 +960,7 @@ With those improvements the size of our `erc20` example has reduced significantl | `erc20` | `3.0.0-rc7` | 10.4 K | The savings apply partly to our other examples; for `erc20` they are most -significant since it has been migrated to use a new [`Mapping`](https://paritytech.github.io/ink/ink_storage/lazy/struct.Mapping.html) +significant since it has been migrated to use a new [`Mapping`](https://use-ink.github.io/ink/ink_storage/lazy/struct.Mapping.html) data structure, which we introduce with this release candidate. The other examples will be migrated to this new data structure as a next step. @@ -972,24 +973,24 @@ Specifically you need to upgrade to at least the pallet version (or newer than Nov 24). ### Removed -- Removed the state rent API ‒ [#1036](https://github.com/paritytech/ink/pull/1036). +- Removed the state rent API ‒ [#1036](https://github.com/use-ink/ink/pull/1036). ### Added -- Added support for wildcard selectors ‒ [#1020](https://github.com/paritytech/ink/pull/1020). +- Added support for wildcard selectors ‒ [#1020](https://github.com/use-ink/ink/pull/1020). - This enables writing upgradeable smart contracts using the proxy/forward pattern. - Annotating a wildcard selector in traits is not supported. -- The ink! codegen now heavily relies on static type information based on traits defined in `ink_lang` ‒ [#665](https://github.com/paritytech/ink/pull/665). +- The ink! codegen now heavily relies on static type information based on traits defined in `ink_lang` ‒ [#665](https://github.com/use-ink/ink/pull/665). - Some of those traits and their carried information can be used for static reflection of ink! smart contracts. Those types and traits reside in the new `ink_lang::reflect` module and is publicly usable by ink! smart contract authors. ### Changed -- Upgraded to the `seal_call` v1 API ‒ [#960](https://github.com/paritytech/ink/pull/960). +- Upgraded to the `seal_call` v1 API ‒ [#960](https://github.com/use-ink/ink/pull/960). - This API now enables control over the behavior of cross-contract calls, e.g. to forward/clone input, enable tail calls and control reentrancy. - The crate documentation contains more details on the [`CallFlags`](https://paritytech.github.io/ink/ink_env/struct.CallFlags.html). + The crate documentation contains more details on the [`CallFlags`](https://use-ink.github.io/ink/ink_env/struct.CallFlags.html). - **Note:** The default behavior of cross-contract calls now disallows reentering the calling contract. -- ink! contract definitions via `#[ink::contract]` ‒ [#665](https://github.com/paritytech/ink/pull/665).
+- ink! contract definitions via `#[ink::contract]` ‒ [#665](https://github.com/use-ink/ink/pull/665).
For ink! smart contracts we now generate two contract types. Given `MyContract`: - `MyContract` will still be the storage struct. However, it can now additionally be used as static dependency in other smart contracts. @@ -997,33 +998,33 @@ Specifically you need to upgrade to at least the pallet version - `MyContractRef` is pretty much the same of what we had gotten with the old `ink-as-dependency`. It is a typed thin-wrapper around an `AccountId` that is mirroring the ink! smart contract's API and implemented traits. -- ink! trait definitions via `#[ink::trait_definition]` ‒ [#665](https://github.com/paritytech/ink/pull/665). +- ink! trait definitions via `#[ink::trait_definition]` ‒ [#665](https://github.com/use-ink/ink/pull/665). - ink! trait definitions no longer can define trait constructors. - ink! trait implementations now inherit `selector` and `payable` properties for trait messages. - Now explicitly setting `selector` or `payable` property for an implemented ink! trait method will only act as a guard that the set property is in fact the same as defined by the ink! trait definition. -- Improved some ink! specific compile errors ‒ [#665](https://github.com/paritytech/ink/pull/665). +- Improved some ink! specific compile errors ‒ [#665](https://github.com/use-ink/ink/pull/665). - For example, when using ink! messages and constructors which have inputs (or outputs) that cannot be encoded (or decoded) using the SCALE codec. -- Simplified selector computation for ink! trait methods ‒ [#665](https://github.com/paritytech/ink/pull/665). +- Simplified selector computation for ink! trait methods ‒ [#665](https://github.com/use-ink/ink/pull/665). - Now selectors are encoded as `blake2b({namespace}::{trait_identifier}::{message_identifier})[0..4]`. If no `namespace` is set for the ink! trait definition then the formula is `blake2b({trait_identifier}::{message_identifier})[0..4]`. Where `trait_identifier` and `message_identifier` both refer to the identifiers of the ink! trait definition and ink! trait message respectively. -- We switched to Rust edition 2021 ‒ [#977](https://github.com/paritytech/ink/pull/977). -- Update chain extension example to show argument passing ‒ [#1029](https://github.com/paritytech/ink/pull/1029). +- We switched to Rust edition 2021 ‒ [#977](https://github.com/use-ink/ink/pull/977). +- Update chain extension example to show argument passing ‒ [#1029](https://github.com/use-ink/ink/pull/1029). ### Fixed -- Contracts now revert the transaction if an ink! message returns `Result::Err` ‒ [#975](https://github.com/paritytech/ink/pull/975), [#998](https://github.com/paritytech/ink/pull/998). +- Contracts now revert the transaction if an ink! message returns `Result::Err` ‒ [#975](https://github.com/use-ink/ink/pull/975), [#998](https://github.com/use-ink/ink/pull/998). - It is still possible to match against a `Result` return type for a called dependency contract ‒ i.e. a sub-contract specified in the contract's `Cargo.toml`. - We implemented a number of Wasm contract size improvements: - - Simple Mapping Storage Primitive ‒ [#946](https://github.com/paritytech/ink/pull/946). - - Remove `always` from `inline` to allow compiler decide that to do ‒ [#1012](https://github.com/paritytech/ink/pull/1012) (thanks [@xgreenx](https://github.com/xgreenx)). - - Add a way to allocate a storage facility using spread (and packed) layouts ‒ [#978](https://github.com/paritytech/ink/pull/978). - - Extract non-generic part of `push_topic` to reduce code size ‒ [#1026](https://github.com/paritytech/ink/pull/1026). + - Simple Mapping Storage Primitive ‒ [#946](https://github.com/use-ink/ink/pull/946). + - Remove `always` from `inline` to allow compiler decide that to do ‒ [#1012](https://github.com/use-ink/ink/pull/1012) (thanks [@xgreenx](https://github.com/xgreenx)). + - Add a way to allocate a storage facility using spread (and packed) layouts ‒ [#978](https://github.com/use-ink/ink/pull/978). + - Extract non-generic part of `push_topic` to reduce code size ‒ [#1026](https://github.com/use-ink/ink/pull/1026). ## Version 3.0-rc6 @@ -1057,31 +1058,31 @@ scale = { package = "parity-scale-codec", version = "2", default-features = fals There are breaking changes to the metadata format in this release. -- Removes top level `metadataVersion` field from the contract metadata (https://github.com/paritytech/cargo-contract/pull/342/files). -- Introduces new top level versioned metadata [enum](https://github.com/paritytech/ink/blob/master/crates/metadata/src/lib.rs#L68). -- Upgrades to `scale-info` version `1.0` (https://github.com/paritytech/ink/pull/845). - - The previous supported version was `0.6`, so check release notes for all changes since then: https://github.com/paritytech/ink/pull/845 +- Removes top level `metadataVersion` field from the contract metadata (https://github.com/use-ink/cargo-contract/pull/342/files). +- Introduces new top level versioned metadata [enum](https://github.com/use-ink/ink/blob/master/crates/metadata/src/lib.rs#L68). +- Upgrades to `scale-info` version `1.0` (https://github.com/use-ink/ink/pull/845). + - The previous supported version was `0.6`, so check release notes for all changes since then: https://github.com/use-ink/ink/pull/845 - One of the main changes to be aware of is the change to 0 based type lookup ids: https://github.com/paritytech/scale-info/pull/90 ### Added -- Added an Ethereum-compatibility function to recover a public key from an ECDSA signature and message hash - [#914](https://github.com/paritytech/ink/pull/914) (thanks [@xgreenx](https://github.com/xgreenx)). -- Added new utility proc. macros to `ink_lang` crate - [#947](https://github.com/paritytech/ink/pull/947): +- Added an Ethereum-compatibility function to recover a public key from an ECDSA signature and message hash - [#914](https://github.com/use-ink/ink/pull/914) (thanks [@xgreenx](https://github.com/xgreenx)). +- Added new utility proc. macros to `ink_lang` crate - [#947](https://github.com/use-ink/ink/pull/947): - `blake2!`: Compute the BLAKE2b 256-bit hash of the given input literal string. - `selector_bytes!`: Compute the ink! selector of the given input literal string and return it as `[u8; 4]`. - `selector_id!`: Compute the ink! selector of the given input literal string and return it as `u32`. ### Changed -- Update to `scale-info` 1.0 - [#845](https://github.com/paritytech/ink/pull/845). -- Message and constructor selectors no longer take their inputs as string, but as `u32` decodable integer - [#928](https://github.com/paritytech/ink/pull/928).
+- Update to `scale-info` 1.0 - [#845](https://github.com/use-ink/ink/pull/845). +- Message and constructor selectors no longer take their inputs as string, but as `u32` decodable integer - [#928](https://github.com/use-ink/ink/pull/928).
For example: - It is no longer possible to specify a selector as `#[ink(selector = "0xC0DECAFE")]`. - The newly allowed formats are `#[ink(selector = 0xC0DECAFE)]` and `#[ink(selector = 42)]`. - Smart contract authors are required to update their smart contracts for this change. -- Improved the `multisig` example - [#962](https://github.com/paritytech/ink/pull/962). -- Changed the link to our beginner's workshop to the migrated workshop on `substrate.io` - [#957](https://github.com/paritytech/ink/pull/957). +- Improved the `multisig` example - [#962](https://github.com/use-ink/ink/pull/962). +- Changed the link to our beginner's workshop to the migrated workshop on `substrate.io` - [#957](https://github.com/use-ink/ink/pull/957). ### Fixed -- Fixed a mistake in the `ink_env::block_timestamp()` documentation - [#937](https://github.com/paritytech/ink/pull/937). +- Fixed a mistake in the `ink_env::block_timestamp()` documentation - [#937](https://github.com/use-ink/ink/pull/937). ## Version 3.0-rc5 (2021-09-08) @@ -1113,12 +1114,12 @@ cargo install contracts-node --git https://github.com/paritytech/substrate-contr After you've installed the node it can be run via `substrate-contracts-node --tmp --dev`. ### Added -- Added example for mocking chain extensions in off-chain tests ‒ [#882](https://github.com/paritytech/ink/pull/882). -- Panic messages are now printed to debug buffer ‒ [#894](https://github.com/paritytech/ink/pull/894). +- Added example for mocking chain extensions in off-chain tests ‒ [#882](https://github.com/use-ink/ink/pull/882). +- Panic messages are now printed to debug buffer ‒ [#894](https://github.com/use-ink/ink/pull/894). ### Changed -- Unlicensed smart contract examples ‒ [#888](https://github.com/paritytech/ink/pull/888). -- Stabilized `seal_debug_message` ‒ [#902](https://github.com/paritytech/ink/pull/902). +- Unlicensed smart contract examples ‒ [#888](https://github.com/use-ink/ink/pull/888). +- Stabilized `seal_debug_message` ‒ [#902](https://github.com/use-ink/ink/pull/902). ## Version 3.0-rc4 (2021-07-19) @@ -1130,7 +1131,7 @@ The list below shows the additions, changes and fixes that are visible to users ink! 3.0-rc4 is compatible with -- The "ink! CLI" [`cargo-contract`](https://github.com/paritytech/cargo-contract) +- The "ink! CLI" [`cargo-contract`](https://github.com/use-ink/cargo-contract) version `0.13.0` or newer. - Install the newest version using `cargo install --force cargo-contract`. - Substrate version `4.0.0-dev` including the `contracts-pallet` version `4.0.0-dev`. @@ -1150,11 +1151,11 @@ of key improvements to our testing setup: - We've put an emphasis on automated testing of the usage examples in our crate documentation. Those are now tested in the context of a complete ink! contract. In the past this was not always the case, sometimes usage examples were just isolated code snippets. -- We started our [`ink-waterfall`](https://github.com/paritytech/ink-waterfall) project, +- We started our [`ink-waterfall`](https://github.com/use-ink/ink-waterfall) project, which runs End-to-End tests through our entire stack. All our examples are continuously built using the latest `cargo-contract`. They are subsequently deployed on the latest `substrate-contracts-node` by emulating browser interactions with - both the [`canvas-ui`](https://paritytech.github.io/canvas-ui/#/) and the + both the [`canvas-ui`](https://use-ink.github.io/canvas-ui/#/) and the [`polkadot-js`](https://polkadot.js.org/apps/#/) UI. This testing setup enables us to detect bugs which only appear in the context of using multiple components together early on. @@ -1162,23 +1163,23 @@ of key improvements to our testing setup: checking into our Continuous Integration environment. ### Added -- Added support for the new `seal_random` API ‒ [#734](https://github.com/paritytech/ink/pull/734). -- Added missing documentation for the `ink_storage_derive` procedural macros ‒ [#711](https://github.com/paritytech/ink/pull/711). -- Implemented the (unstable) `seal_rent_params` API ‒ [#755](https://github.com/paritytech/ink/pull/755). -- Implemented the (unstable) `seal_rent_status` API ‒ [#798](https://github.com/paritytech/ink/pull/798). -- Implemented the (unstable) `seal_debug_message` API ‒ [#792](https://github.com/paritytech/ink/pull/792). +- Added support for the new `seal_random` API ‒ [#734](https://github.com/use-ink/ink/pull/734). +- Added missing documentation for the `ink_storage_derive` procedural macros ‒ [#711](https://github.com/use-ink/ink/pull/711). +- Implemented the (unstable) `seal_rent_params` API ‒ [#755](https://github.com/use-ink/ink/pull/755). +- Implemented the (unstable) `seal_rent_status` API ‒ [#798](https://github.com/use-ink/ink/pull/798). +- Implemented the (unstable) `seal_debug_message` API ‒ [#792](https://github.com/use-ink/ink/pull/792). - Printing debug messages can now be achieved via `ink_env::debug_println!(…)`. - See [our documentation](https://use.ink/faq#how-do-i-print-something-to-the-console-from-the-runtime) for more information. - The examples have been updated to reflect this new way of printing debug messages. -- Added usage comments with code examples to the `ink_env` API ‒ [#797](https://github.com/paritytech/ink/pull/797). - - The [published crate documentation](https://paritytech.github.io/ink/ink_lang/struct.EnvAccess.html) now contains +- Added usage comments with code examples to the `ink_env` API ‒ [#797](https://github.com/use-ink/ink/pull/797). + - The [published crate documentation](https://use-ink.github.io/ink/ink_lang/struct.EnvAccess.html) now contains much more code examples for the methods behind `self.env()` and `Self::env()`. -- Added an example implementation for ERC-1155, a multi-token standard ‒ [#800](https://github.com/paritytech/ink/pull/800). -- Implemented binary search for `collections::Vec` ‒ [#836](https://github.com/paritytech/ink/pull/836). -- Added the ability of submitting payable transactions to the `multisig` example ‒ [#820](https://github.com/paritytech/ink/pull/820). -- Implemented `Decode` for `Error` types in the examples, enabling building them as dependencies ‒ [#761](https://github.com/paritytech/ink/pull/761). -- We started working on a new off-chain environment testing engine ‒ [#712](https://github.com/paritytech/ink/pull/712). +- Added an example implementation for ERC-1155, a multi-token standard ‒ [#800](https://github.com/use-ink/ink/pull/800). +- Implemented binary search for `collections::Vec` ‒ [#836](https://github.com/use-ink/ink/pull/836). +- Added the ability of submitting payable transactions to the `multisig` example ‒ [#820](https://github.com/use-ink/ink/pull/820). +- Implemented `Decode` for `Error` types in the examples, enabling building them as dependencies ‒ [#761](https://github.com/use-ink/ink/pull/761). +- We started working on a new off-chain environment testing engine ‒ [#712](https://github.com/use-ink/ink/pull/712). - The old testing environment has a number of limitations, which we are well aware of. We're confident that with the new testing engine we will be able to conduct much more elaborate testing in an emulated chain environment. @@ -1186,31 +1187,31 @@ of key improvements to our testing setup: A number of examples have already been converted to support the new testing engine. ### Changed -- To reduce a contract's space footprint we switched the default allocator to a bump allocator implementation ‒ [#831](https://github.com/paritytech/ink/pull/831). +- To reduce a contract's space footprint we switched the default allocator to a bump allocator implementation ‒ [#831](https://github.com/use-ink/ink/pull/831). - A couple of readme's have been reworked: - - Our main ink! readme ‒ [#774](https://github.com/paritytech/ink/pull/774). - - The `rand-extension` example readme ‒ [#793](https://github.com/paritytech/ink/pull/793). - - The `delegator` example readme ‒ [#766](https://github.com/paritytech/ink/pull/766). + - Our main ink! readme ‒ [#774](https://github.com/use-ink/ink/pull/774). + - The `rand-extension` example readme ‒ [#793](https://github.com/use-ink/ink/pull/793). + - The `delegator` example readme ‒ [#766](https://github.com/use-ink/ink/pull/766). - With the stabilization of Rust 1.51 we ware able to remove the `ink-unstable` feature, making - `collections::SmallVec` and `lazy::LazyArray` available by default ‒ [#746](https://github.com/paritytech/ink/pull/746). -- To resolve confusion, we migrated all usages of `#[test]` in our examples to `#[ink::test]` ‒ [#746](https://github.com/paritytech/ink/pull/746). + `collections::SmallVec` and `lazy::LazyArray` available by default ‒ [#746](https://github.com/use-ink/ink/pull/746). +- To resolve confusion, we migrated all usages of `#[test]` in our examples to `#[ink::test]` ‒ [#746](https://github.com/use-ink/ink/pull/746). - The difference is that `#[ink::test]` spawns an emulated chain environment (an "off-chain" environment) and hence comes with a bit of overhead. It was not always clear to users when they require an off-chain environment, we decided to mitigate this confusion by using an emulated chain environment for all our example tests. - With the stabilization of Rust's `min_const_generics` we were able to replace the fixed size implementations of `SpreadLayout` and `PackedLayout` for Arrays. These traits are - now implemented for all Arrays of size `usize` ‒ [#754](https://github.com/paritytech/ink/pull/754). -- We were able to remove the pinned `funty` dependency ‒ [#711](https://github.com/paritytech/ink/pull/711). -- The `contract-transfer` example has been improved for better UI support ‒ [#789](https://github.com/paritytech/ink/pull/789). -- The `contract-transfer` example has been improved for better error handling ‒ [#790](https://github.com/paritytech/ink/pull/790). + now implemented for all Arrays of size `usize` ‒ [#754](https://github.com/use-ink/ink/pull/754). +- We were able to remove the pinned `funty` dependency ‒ [#711](https://github.com/use-ink/ink/pull/711). +- The `contract-transfer` example has been improved for better UI support ‒ [#789](https://github.com/use-ink/ink/pull/789). +- The `contract-transfer` example has been improved for better error handling ‒ [#790](https://github.com/use-ink/ink/pull/790). ### Fixed -- Catch illegal `struct` destructuring pattern in ink! message arguments ‒ [#846](https://github.com/paritytech/ink/pull/846). -- Removed an erroneous `Salt` type in code generation for cross-contract calls ‒ [#842](https://github.com/paritytech/ink/pull/842). -- Do not generate metadata if compiled as dependency ‒ [#811](https://github.com/paritytech/ink/pull/811). -- Fix execution context parameters in DNS example tests ‒ [#723](https://github.com/paritytech/ink/pull/723). -- Fixed the `Greeter` contract example from our doc comments ‒ [#773](https://github.com/paritytech/ink/pull/773). +- Catch illegal `struct` destructuring pattern in ink! message arguments ‒ [#846](https://github.com/use-ink/ink/pull/846). +- Removed an erroneous `Salt` type in code generation for cross-contract calls ‒ [#842](https://github.com/use-ink/ink/pull/842). +- Do not generate metadata if compiled as dependency ‒ [#811](https://github.com/use-ink/ink/pull/811). +- Fix execution context parameters in DNS example tests ‒ [#723](https://github.com/use-ink/ink/pull/723). +- Fixed the `Greeter` contract example from our doc comments ‒ [#773](https://github.com/use-ink/ink/pull/773). ## Version 3.0-rc3 (2021-03-02) @@ -1239,11 +1240,11 @@ ink! 3.0-rc3 is compatible with - The `min_const_generics` feature is going to be stabilized in Rust 1.51. For now it was put behind the `ink-unstable` crate feature of the `ink_storage` crate. - Improve error reporting for conflicting ink! attributes. -- Improve error reporting for invalid constructor or message selector. (https://github.com/paritytech/ink/pull/561) +- Improve error reporting for invalid constructor or message selector. (https://github.com/use-ink/ink/pull/561) - Remove `iter_mut` for `ink_storage::BinaryHeap` data structure. -- Add documented demonstration how to properly mock `transferred_balance` calls: https://github.com/paritytech/ink/pull/555 -- Add contract example which uses `ext_transfer` and `ext_terminate`: https://github.com/paritytech/ink/pull/554 -- Improve documentation of `transfer` and `minimum_balance` APIs: https://github.com/paritytech/ink/pull/540 +- Add documented demonstration how to properly mock `transferred_balance` calls: https://github.com/use-ink/ink/pull/555 +- Add contract example which uses `ext_transfer` and `ext_terminate`: https://github.com/use-ink/ink/pull/554 +- Improve documentation of `transfer` and `minimum_balance` APIs: https://github.com/use-ink/ink/pull/540 ### Fixed @@ -1255,12 +1256,12 @@ ink! 3.0-rc3 is compatible with - `itertools 0.10` - Remove unused `tiny-keccak` dependency from `ink_primitives`. - Changed the default `BlockNumber` type to `u32`. This is a fix since it now properly mirrors Substrate's default `BlockNumber` type. -- Ensure topics are unique: https://github.com/paritytech/ink/pull/594 +- Ensure topics are unique: https://github.com/use-ink/ink/pull/594 - Several fixes for `ink_storage` data structures, including: - - `Drop` implementation for `Pack` now works properly. (https://github.com/paritytech/ink/pull/600) - - `Drop` implementation for `Lazy` now always properly clean up storage. (https://github.com/paritytech/ink/pull/597) - - Nested `Lazy` now properly clears storage data. (https://github.com/paritytech/ink/pull/583) - - `Option` fields now properly clean up nested storage data. (https://github.com/paritytech/ink/pull/570) + - `Drop` implementation for `Pack` now works properly. (https://github.com/use-ink/ink/pull/600) + - `Drop` implementation for `Lazy` now always properly clean up storage. (https://github.com/use-ink/ink/pull/597) + - Nested `Lazy` now properly clears storage data. (https://github.com/use-ink/ink/pull/583) + - `Option` fields now properly clean up nested storage data. (https://github.com/use-ink/ink/pull/570) ## Version 3.0-rc2 (2020-10-22) @@ -1429,7 +1430,7 @@ The fundamental difference of both data structures is that `HashMap` is aware of | `HashMap` | high-level | yes | yes | `V` (key type `K`) | Rust map-like container | | `LazyHashMap` | low-level | yes | yes | `Option` (key type `K`) | similar to Solidity mapping | -There are many more! For more information about the specifics please take a look into [the `ink_storage` crate documentation](https://paritytech.github.io/ink/ink_storage/). +There are many more! For more information about the specifics please take a look into [the `ink_storage` crate documentation](https://use-ink.github.io/ink/ink_storage/). #### Spread & Packed Modes @@ -1584,7 +1585,7 @@ The new `ink_storage` crate provides everything you need to operate on your cont There are low-level and high-level data structures depending on your need of control. All provided data structures operate lazily on the contract's storage and cache their reads and writes for a more gas efficient storage access. Users should prefer high-level data structures found in the `collections` module over the low-level data structures found in the `lazy` module. -For a list of all the new storage data structure visit [`ink_storage`'s documentation](https://paritytech.github.io/ink/ink_storage/). +For a list of all the new storage data structure visit [`ink_storage`'s documentation](https://use-ink.github.io/ink/ink_storage/). ### ink! Attributes @@ -1767,7 +1768,7 @@ Follow the instructions below to understand how to migrate your ink! 1.0 contrac Install the latest ink! CLI using the following command: ```bash -cargo install --git https://github.com/paritytech/cargo-contract cargo-contract --force +cargo install --git https://github.com/use-ink/cargo-contract cargo-contract --force ``` There is a new contract metadata format you need to use. You can generate the metadata using: @@ -1823,7 +1824,7 @@ mod erc20 { > Note: we now require a mandatory ink! version in the header. You're welcome. -See the [ERC20 example](https://github.com/paritytech/ink/blob/master/examples/erc20/src/lib.rs). +See the [ERC20 example](https://github.com/use-ink/ink/blob/master/examples/erc20/src/lib.rs). ### ink! Contract Tag @@ -1891,7 +1892,7 @@ struct Erc20 { -See the [ERC20 example](https://github.com/paritytech/ink/blob/master/examples/erc20/src/lib.rs). +See the [ERC20 example](https://github.com/use-ink/ink/blob/master/examples/erc20/src/lib.rs). ### Declaring Events @@ -1938,7 +1939,7 @@ struct Transfer { -See the [ERC20 example](https://github.com/paritytech/ink/blob/master/examples/erc20/src/lib.rs). +See the [ERC20 example](https://github.com/use-ink/ink/blob/master/examples/erc20/src/lib.rs). ### Environment Handler @@ -2020,7 +2021,7 @@ fn total_supply(&self) -> Balance { -See the [ERC20 example](https://github.com/paritytech/ink/blob/master/examples/erc20/src/lib.rs). +See the [ERC20 example](https://github.com/use-ink/ink/blob/master/examples/erc20/src/lib.rs). ### Defining a Constructor @@ -2080,7 +2081,7 @@ impl Erc20 { -See the [ERC20 example](https://github.com/paritytech/ink/blob/master/examples/erc20/src/lib.rs). +See the [ERC20 example](https://github.com/use-ink/ink/blob/master/examples/erc20/src/lib.rs). ### Cross Contract Calls @@ -2100,7 +2101,7 @@ struct Delegator { let result = self.adder.inc(by); ``` -See the [delegator example](https://github.com/paritytech/ink/blob/master/examples/delegator/lib.rs). +See the [delegator example](https://github.com/use-ink/ink/blob/master/examples/delegator/lib.rs). ### Factory Contracts @@ -2151,7 +2152,7 @@ let accumulator = Accumulator::new(init_value) -See the [delegator example](https://github.com/paritytech/ink/blob/master/examples/delegator/lib.rs). +See the [delegator example](https://github.com/use-ink/ink/blob/master/examples/delegator/lib.rs). ### Contract Tests @@ -2177,7 +2178,7 @@ let contract = MyContract::my_constructor(a, b); Messages can simply be called on the returned instance as if `MyContract::my_constructor` returns a `Self` instance. -See the [flipper example](https://github.com/paritytech/ink/blob/master/examples/flipper/src/lib.rs). +See the [flipper example](https://github.com/use-ink/ink/blob/master/examples/flipper/src/lib.rs). **The off-chain test environment has lost a bit of power compared to the old ink! language.** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a596cbb6bd..f8a4ef6fe4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -105,7 +105,7 @@ older nodes, please do the following: 4. Never use the new function with existing language features. Only use it with newly added functions. -You can have a look at the [PR#1284](https://github.com/paritytech/ink/pull/1284/files#diff-e7cc1cdb3856da1293c785de863703d5961c324aa2018decb0166ea1eb0631e8R191) for a reference of how the described way could be implemented. +You can have a look at the [PR#1284](https://github.com/use-ink/ink/pull/1284/files#diff-e7cc1cdb3856da1293c785de863703d5961c324aa2018decb0166ea1eb0631e8R191) for a reference of how the described way could be implemented. ## Issues and Pull Requests diff --git a/Cargo.toml b/Cargo.toml index ba26e91e7a..0b86dd3fd9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ edition = "2021" homepage = "https://www.parity.io/" keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"] license = "Apache-2.0" -repository = "https://github.com/paritytech/ink" +repository = "https://github.com/use-ink/ink" version = "5.0.0" [workspace.dependencies] diff --git a/README.md b/README.md index 1301bcb1cd..02ff666ae0 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@
- ink! + ink!

Parity's ink! for writing smart contracts

[![linux][a1]][a2] [![codecov][c1]][c2] [![coveralls][d1]][d2] [![loc][e1]][e2] [![stack-exchange][s1]][s2] -[a1]: https://github.com/paritytech/ink/workflows/continuous-integration/badge.svg -[a2]: https://github.com/paritytech/ink/actions?query=workflow%3Acontinuous-integration+branch%3Amaster -[c1]: https://codecov.io/gh/paritytech/ink/branch/master/graph/badge.svg -[c2]: https://codecov.io/gh/paritytech/ink/branch/master -[d1]: https://coveralls.io/repos/github/paritytech/ink/badge.svg?branch=master -[d2]: https://coveralls.io/github/paritytech/ink?branch=master -[e1]: https://tokei.rs/b1/github/paritytech/ink?category=code +[a1]: https://github.com/use-ink/ink/workflows/continuous-integration/badge.svg +[a2]: https://github.com/use-ink/ink/actions?query=workflow%3Acontinuous-integration+branch%3Amaster +[c1]: https://codecov.io/gh/use-ink/ink/branch/master/graph/badge.svg +[c2]: https://codecov.io/gh/use-ink/ink/branch/master +[d1]: https://coveralls.io/repos/github/use-ink/ink/badge.svg?branch=master +[d2]: https://coveralls.io/github/use-ink/ink?branch=master +[e1]: https://tokei.rs/b1/github/use-ink/ink?category=code [e2]: https://github.com/Aaronepower/tokei#badges [f1]: https://img.shields.io/badge/click-blue.svg -[f2]: https://paritytech.github.io/ink/ink_storage +[f2]: https://use-ink.github.io/ink/ink_storage [g1]: https://img.shields.io/badge/click-blue.svg -[g2]: https://paritytech.github.io/ink/ink_env +[g2]: https://use-ink.github.io/ink/ink_env [i1]: https://img.shields.io/badge/click-blue.svg -[i2]: https://paritytech.github.io/ink/ink_prelude +[i2]: https://use-ink.github.io/ink/ink_prelude [j1]: https://img.shields.io/badge/click-blue.svg -[j2]: https://paritytech.github.io/ink/ink +[j2]: https://use-ink.github.io/ink/ink [k1]: https://img.shields.io/badge/matrix-chat-brightgreen.svg?style=flat [k2]: https://app.element.io/#/room/#ink:matrix.parity.io [l1]: https://img.shields.io/discord/722223075629727774?style=flat-square&label=discord @@ -29,13 +29,13 @@ [s1]: https://img.shields.io/badge/click-white.svg?logo=StackExchange&label=ink!%20Support%20on%20StackExchange&labelColor=white&color=blue [s2]: https://substrate.stackexchange.com/questions/tagged/ink?tab=Votes -> squink, the ink! mascotink! is an [eDSL](https://wiki.haskell.org/Embedded_domain_specific_language) to write smart contracts in Rust for blockchains built on the [Substrate](https://github.com/paritytech/substrate) framework. ink! contracts are compiled to WebAssembly. +> squink, the ink! mascotink! is an [eDSL](https://wiki.haskell.org/Embedded_domain_specific_language) to write smart contracts in Rust for blockchains built on the [Substrate](https://github.com/paritytech/substrate) framework. ink! contracts are compiled to WebAssembly.
[Guided Tutorial for Beginners](https://docs.substrate.io/tutorials/smart-contracts/)  •   [ink! Documentation Portal](https://use.ink)  •   -[Developer Documentation](https://paritytech.github.io/ink/ink) +[Developer Documentation](https://use-ink.github.io/ink/ink)
@@ -43,10 +43,10 @@ More relevant links: * [Substrate Stack Exchange](https://substrate.stackexchange.com/questions/tagged/ink?tab=Votes) ‒ Forum for getting your ink! questions answered -* [`cargo-contract`](https://github.com/paritytech/cargo-contract) ‒ CLI tool for ink! contracts +* [`cargo-contract`](https://github.com/use-ink/cargo-contract) ‒ CLI tool for ink! contracts * [Contracts UI](https://contracts-ui.substrate.io/) ‒ Frontend for contract instantiation and interaction * [Substrate Contracts Node](https://github.com/paritytech/substrate-contracts-node) ‒ Simple Substrate blockchain which includes smart contract functionality -* [Awesome ink!](https://github.com/paritytech/awesome-ink) - A curated list of awesome projects for Parity's ink! +* [Awesome ink!](https://github.com/use-ink/awesome-ink) - A curated list of awesome projects for Parity's ink! * We post announcements on [Matrix][k2] and [Discord][l2] (in the [`ink_smart-contracts`](https://discord.com/channels/722223075629727774/765280480609828864) channel). @@ -91,7 +91,7 @@ contract to a chain and interact with it. A prerequisite for compiling smart contracts is to have Rust and Cargo installed. Here's [an installation guide](https://doc.rust-lang.org/cargo/getting-started/installation.html). -We recommend installing [`cargo-contract`](https://github.com/paritytech/cargo-contract) as well. +We recommend installing [`cargo-contract`](https://github.com/use-ink/cargo-contract) as well. It's a CLI tool which helps set up and manage WebAssembly smart contracts written with ink!: ``` @@ -180,13 +180,13 @@ mod flipper { } } ``` -The [`flipper/src/lib.rs`](https://github.com/paritytech/ink-examples/blob/v5.x.x/flipper/lib.rs) +The [`flipper/src/lib.rs`](https://github.com/use-ink/ink-examples/blob/v5.x.x/flipper/lib.rs) file in our examples folder contains exactly this code. Run `cargo contract build` to build your first ink! smart contract. ## Examples -In the [`examples`](https://github.com/paritytech/ink-examples) repository you'll find a number of examples written in ink!. +In the [`examples`](https://github.com/use-ink/ink-examples) repository you'll find a number of examples written in ink!. Some of the most interesting ones: @@ -238,16 +238,16 @@ In a module annotated with `#[ink::contract]` these attributes are available: | `#[ink(namespace = N:string)]` | Applicable to ink! trait implementation blocks. | Changes the resulting selectors of all the ink! messages and ink! constructors within the trait implementation. Allows to disambiguate between trait implementations with overlapping message or constructor names. Use only with great care and consideration! | | `#[ink(impl)]` | Applicable to ink! implementation blocks. | Tells the ink! codegen that some implementation block shall be granted access to ink! internals even without it containing any ink! messages or ink! constructors. | -See [here](https://paritytech.github.io/ink/ink/attr.contract.html) for a more detailed description of those and also for details on the `#[ink::contract]` macro. +See [here](https://use-ink.github.io/ink/ink/attr.contract.html) for a more detailed description of those and also for details on the `#[ink::contract]` macro. ### Trait Definitions Use `#[ink::trait_definition]` to define your very own trait definitions that are then implementable by ink! smart contracts. -See e.g. the [`examples/trait-erc20`](https://github.com/paritytech/ink-examples/blob/v5.x.x/trait-erc20/lib.rs#L20-L22) contract on how to utilize it or [the documentation](https://paritytech.github.io/ink/ink/attr.trait_definition.html) for details. +See e.g. the [`examples/trait-erc20`](https://github.com/use-ink/ink-examples/blob/v5.x.x/trait-erc20/lib.rs#L20-L22) contract on how to utilize it or [the documentation](https://use-ink.github.io/ink/ink/attr.trait_definition.html) for details. ### Off-chain Testing -The `#[ink::test]` procedural macro enables off-chain testing. See e.g. the [`examples/erc20`](https://github.com/paritytech/ink-examples/blob/v5.x.x/erc20/lib.rs#L276-L277) contract on how to utilize those or [the documentation](https://paritytech.github.io/ink/ink/attr.test.html) for details. +The `#[ink::test]` procedural macro enables off-chain testing. See e.g. the [`examples/erc20`](https://github.com/use-ink/ink-examples/blob/v5.x.x/erc20/lib.rs#L276-L277) contract on how to utilize those or [the documentation](https://use-ink.github.io/ink/ink/attr.test.html) for details. ## Developer Documentation @@ -257,27 +257,27 @@ the relevant links: | Crate | Docs | Description | |:--|:--|:--| -`ink` | [![][j1]][j2] | Language features exposed by ink!. See [here](https://paritytech.github.io/ink/ink/attr.contract.html) for a detailed description of attributes which you can use in an `#[ink::contract]`. | +`ink` | [![][j1]][j2] | Language features exposed by ink!. See [here](https://use-ink.github.io/ink/ink/attr.contract.html) for a detailed description of attributes which you can use in an `#[ink::contract]`. | `ink_storage` | [![][f1]][f2] | Data structures available in ink!. | -`ink_env` | [![][g1]][g2] | Low-level interface for interacting with the smart contract Wasm executor. Contains [the off-chain testing API](https://paritytech.github.io/ink/ink_env/test/index.html) as well. | +`ink_env` | [![][g1]][g2] | Low-level interface for interacting with the smart contract Wasm executor. Contains [the off-chain testing API](https://use-ink.github.io/ink/ink_env/test/index.html) as well. | `ink_prelude` | [![][i1]][i2] | Common API for no_std and std to access alloc crate types. | ## Community Badges ### Normal Design -[![Built with ink!](https://raw.githubusercontent.com/paritytech/ink/master/.images/badge.svg)](https://github.com/paritytech/ink) +[![Built with ink!](https://raw.githubusercontent.com/use-ink/ink/master/.images/badge.svg)](https://github.com/use-ink/ink) ```markdown -[![Built with ink!](https://raw.githubusercontent.com/paritytech/ink/master/.images/badge.svg)](https://github.com/paritytech/ink) +[![Built with ink!](https://raw.githubusercontent.com/use-ink/ink/master/.images/badge.svg)](https://github.com/use-ink/ink) ``` ### Flat Design -[![Built with ink!](https://raw.githubusercontent.com/paritytech/ink/master/.images/badge_flat.svg)](https://github.com/paritytech/ink) +[![Built with ink!](https://raw.githubusercontent.com/use-ink/ink/master/.images/badge_flat.svg)](https://github.com/use-ink/ink) ```markdown -[![Built with ink!](https://raw.githubusercontent.com/paritytech/ink/master/.images/badge_flat.svg)](https://github.com/paritytech/ink) +[![Built with ink!](https://raw.githubusercontent.com/use-ink/ink/master/.images/badge_flat.svg)](https://github.com/use-ink/ink) ``` ## Contributing diff --git a/RELEASES_CHECKLIST.md b/RELEASES_CHECKLIST.md index 3462c122f5..b469f54d11 100644 --- a/RELEASES_CHECKLIST.md +++ b/RELEASES_CHECKLIST.md @@ -5,7 +5,7 @@ mono-repository in lockstep. It does not matter if it's a `PATCH`, `MINOR`, `MAJOR` release. Reasons for doing it this way: -* Keeps our [`RELEASES.md`](https://github.com/paritytech/ink/blob/master/RELEASES.md) +* Keeps our [`RELEASES.md`](https://github.com/use-ink/ink/blob/master/RELEASES.md) simple and easy to grasp.
We can still bundle all changes there together and don't have to go to a more fine-grained crate level. @@ -36,7 +36,7 @@ ink!. There are still a few manual steps though, and we hope to make this more s in the future. 1. Create a new feature branch off `master`. -1. Copy the release notes that appear in the [`CHANGELOG.md`](https://github.com/paritytech/ink/blob/master/CHANGELOG.md) +1. Copy the release notes that appear in the [`CHANGELOG.md`](https://github.com/use-ink/ink/blob/master/CHANGELOG.md) into the PR description. - This will cause the individual PRs to be linked to the release in which they are included. @@ -99,15 +99,15 @@ in the future. - Ensure your tag is signed with an offline GPG key! - Alternatively, the `Create release` GitHub UI below allows creating this tag when creating the release. -8. Update the [`ink-examples`](https://github.com/paritytech/ink-examples) repository with +8. Update the [`ink-examples`](https://github.com/use-ink/ink-examples) repository with the content of `integration-tests` (minus `mother`, `lang-err-integration-tests` and `mapping-integration-tests`). Besides copying those folders over, the only change you need to do manually is to switch the dependencies in the `Cargo.toml`'s to use the published version of your release. -9. Create a GitHub release for this tag. In the [tag overview](https://github.com/paritytech/ink/tags) +9. Create a GitHub release for this tag. In the [tag overview](https://github.com/use-ink/ink/tags) you'll see your new tag appear. Click the `…` on the right of the tag and then `Create release`. -10. Paste the release notes that appear in the [`CHANGELOG.md`](https://github.com/paritytech/ink/blob/master/CHANGELOG.md) +10. Paste the release notes that appear in the [`CHANGELOG.md`](https://github.com/use-ink/ink/blob/master/CHANGELOG.md) there. The title of the release should be `vX.X.X`. 11. Post an announcement to those Element channels: * [Smart Contracts & Parity ink!](https://matrix.to/#/#ink:matrix.parity.io) diff --git a/crates/e2e/macro/src/lib.rs b/crates/e2e/macro/src/lib.rs index bcdad3e588..191712af63 100644 --- a/crates/e2e/macro/src/lib.rs +++ b/crates/e2e/macro/src/lib.rs @@ -50,7 +50,7 @@ use syn::Result; /// ``` /// /// Our documentation contains [an explainer of what custom environments are](https://use.ink/basics/chain-environment-types). -/// For a full example [see here](https://github.com/paritytech/ink-examples/tree/v5.x.x/custom-environment). +/// For a full example [see here](https://github.com/use-ink/ink-examples/tree/v5.x.x/custom-environment). /// /// ### Custom Backend /// @@ -72,7 +72,7 @@ use syn::Result; /// /// Please see [the page on testing with DRink!](https://use.ink/basics/contract-testing/drink) /// in our documentation for more details. -/// For a full example [see here](https://github.com/paritytech/ink-examples/tree/v5.x.x/e2e-runtime-only-backend). +/// For a full example [see here](https://github.com/use-ink/ink-examples/tree/v5.x.x/e2e-runtime-only-backend). /// /// # Example /// diff --git a/crates/env/src/api.rs b/crates/env/src/api.rs index 49b4540de3..360e37b711 100644 --- a/crates/env/src/api.rs +++ b/crates/env/src/api.rs @@ -844,7 +844,7 @@ where /// enum. /// /// For more details consult -/// [host function documentation](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.call_runtime). +/// [host function documentation](https://use-ink.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.call_runtime). /// /// # Errors /// diff --git a/crates/env/src/engine/off_chain/test_api.rs b/crates/env/src/engine/off_chain/test_api.rs index 144a5614f5..ae56df1b40 100644 --- a/crates/env/src/engine/off_chain/test_api.rs +++ b/crates/env/src/engine/off_chain/test_api.rs @@ -396,7 +396,7 @@ pub fn recorded_events() -> impl Iterator { /// ); /// ``` /// -/// See our [`contract-terminate`](https://github.com/paritytech/ink-examples/tree/v5.x.x/contract-terminate) +/// See our [`contract-terminate`](https://github.com/use-ink/ink-examples/tree/v5.x.x/contract-terminate) /// example for a complete usage exemplification. pub fn assert_contract_termination( should_terminate: F, diff --git a/crates/env/src/types.rs b/crates/env/src/types.rs index 12927441a7..e879634fc0 100644 --- a/crates/env/src/types.rs +++ b/crates/env/src/types.rs @@ -189,7 +189,7 @@ pub trait Environment: Clone { /// macro. For more information about usage and definition click /// [this][chain_extension] link. /// - /// [chain_extension]: https://paritytech.github.io/ink/ink/attr.chain_extension.html + /// [chain_extension]: https://use-ink.github.io/ink/ink/attr.chain_extension.html type ChainExtension; } diff --git a/crates/ink/macro/src/lib.rs b/crates/ink/macro/src/lib.rs index b81473af2c..d367d6836b 100644 --- a/crates/ink/macro/src/lib.rs +++ b/crates/ink/macro/src/lib.rs @@ -1153,7 +1153,7 @@ pub fn test(attr: TokenStream, item: TokenStream) -> TokenStream { /// `Decode` as well as `scale-info`'s `TypeInfo` trait. /// /// A full example of the above chain extension definition can be seen -/// [here](https://github.com/paritytech/ink/blob/017f71d60799b764425334f86b732cc7b7065fe6/crates/lang/macro/tests/ui/chain_extension/simple.rs). +/// [here](https://github.com/use-ink/ink/blob/017f71d60799b764425334f86b732cc7b7065fe6/crates/lang/macro/tests/ui/chain_extension/simple.rs). /// /// # Example: Environment /// diff --git a/crates/ink/src/env_access.rs b/crates/ink/src/env_access.rs index 6479f74fb6..559fd75420 100644 --- a/crates/ink/src/env_access.rs +++ b/crates/ink/src/env_access.rs @@ -492,7 +492,7 @@ where /// # } /// ``` /// - /// See [our `delegator` example](https://github.com/paritytech/ink-examples/tree/main/upgradeable-contracts#delegator) + /// See [our `delegator` example](https://github.com/use-ink/ink-examples/tree/main/upgradeable-contracts#delegator) /// for a complete contract example. /// /// # Note @@ -579,7 +579,7 @@ where /// # } /// ``` /// - /// See [our `delegator` example](https://github.com/paritytech/ink-examples/tree/main/upgradeable-contracts#delegator) + /// See [our `delegator` example](https://github.com/use-ink/ink-examples/tree/main/upgradeable-contracts#delegator) /// for a complete contract example. /// /// # Note diff --git a/crates/prelude/src/lib.rs b/crates/prelude/src/lib.rs index e78ab47ae4..9ffb5da2e3 100644 --- a/crates/prelude/src/lib.rs +++ b/crates/prelude/src/lib.rs @@ -32,7 +32,7 @@ extern crate alloc; use cfg_if::cfg_if; /// A well know selector reserved for the message required to be defined -/// alongside a wildcard selector. See [IIP-2](https://github.com/paritytech/ink/issues/1676). +/// alongside a wildcard selector. See [IIP-2](https://github.com/use-ink/ink/issues/1676). /// /// Calculated from `selector_bytes!("IIP2_WILDCARD_COMPLEMENT")` pub const IIP2_WILDCARD_COMPLEMENT_SELECTOR: [u8; 4] = [0x9B, 0xAE, 0x9D, 0x5E]; diff --git a/crates/storage/src/lazy/mapping.rs b/crates/storage/src/lazy/mapping.rs index 7902857ba2..b16bbc1aba 100644 --- a/crates/storage/src/lazy/mapping.rs +++ b/crates/storage/src/lazy/mapping.rs @@ -83,7 +83,7 @@ use scale::{ /// # } /// ``` /// -/// More usage examples can be found [in the ink! examples](https://github.com/paritytech/ink-examples). +/// More usage examples can be found [in the ink! examples](https://github.com/use-ink/ink-examples). #[cfg_attr(feature = "std", derive(scale_info::TypeInfo))] pub struct Mapping { #[allow(clippy::type_complexity)] diff --git a/integration-tests/README.md b/integration-tests/README.md index 4296828971..5ad8802e37 100644 --- a/integration-tests/README.md +++ b/integration-tests/README.md @@ -9,14 +9,14 @@ and `internal`, which contains examples testing specific features that are distinct from real-world examples. We have an external repository for ink! contract examples: -[`ink-examples`](https://github.com/paritytech/ink-examples). +[`ink-examples`](https://github.com/use-ink/ink-examples). All public examples in this folder can also be found in this repository. The difference is that the contracts in this folder may already contain unreleased breaking changes. For end users it's better to take a look at the -[`ink-examples`](https://github.com/paritytech/ink-examples) +[`ink-examples`](https://github.com/use-ink/ink-examples) repository. The contracts in there are ensured to be running with the latest published ink! version. diff --git a/integration-tests/public/psp22-extension/README.md b/integration-tests/public/psp22-extension/README.md index 040662f563..feab477a85 100644 --- a/integration-tests/public/psp22-extension/README.md +++ b/integration-tests/public/psp22-extension/README.md @@ -9,7 +9,7 @@ as a chain extension, supporting a multi-token system provided by the It effectively allows ink! contracts (L2) to interact with native assets (L1) from the chain runtime in a standardized way. -See [this chapter](https://paritytech.github.io/ink-docs/macros-attributes/chain-extension) +See [this chapter](https://use-ink.github.io/ink-docs/macros-attributes/chain-extension) in our ink! documentation for more details about chain extensions. There are two parts to this example: diff --git a/integration-tests/public/runtime-call-contract/Cargo.toml b/integration-tests/public/runtime-call-contract/Cargo.toml index 1545955eb8..4905414def 100644 --- a/integration-tests/public/runtime-call-contract/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" homepage = "https://www.parity.io/" keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"] license = "Apache-2.0" -repository = "https://github.com/paritytech/ink" +repository = "https://github.com/use-ink/ink" [workspace.dependencies] frame-support = { version = "32.0.0", default-features = false } diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml index 689d830d19..2862b50032 100644 --- a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml @@ -7,7 +7,7 @@ homepage = "https://substrate.io" edition.workspace = true license = "MIT-0" publish = false -repository = "https://github.com/paritytech/ink" +repository = "https://github.com/use-ink/ink" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] diff --git a/linting/Cargo.toml b/linting/Cargo.toml index b40ed14155..eaf4de00c5 100644 --- a/linting/Cargo.toml +++ b/linting/Cargo.toml @@ -11,7 +11,7 @@ version = "5.0.0" authors = ["Parity Technologies "] edition = "2021" license = "Apache-2.0" -repository = "https://github.com/paritytech/ink" +repository = "https://github.com/use-ink/ink" homepage = "https://www.parity.io/" keywords = ["parity", "blockchain", "edsl", "dylint", "linting"] diff --git a/linting/README.md b/linting/README.md index 5257412880..3917d3dcac 100644 --- a/linting/README.md +++ b/linting/README.md @@ -1,7 +1,7 @@ # ink! linting rules This crate uses [`dylint`](https://github.com/trailofbits/dylint) to define custom -linting rules for [ink!](https://github.com/paritytech/ink). +linting rules for [ink!](https://github.com/use-ink/ink). It is not part of the workspace because it needs a custom linker to be built. @@ -17,7 +17,7 @@ You can use them by running `cargo dylint` after adding this to your `Cargo.toml ```toml [workspace.metadata.dylint] libraries = [ - { git = "https://github.com/paritytech/ink.git", pattern = "linting/mandatory" }, - { git = "https://github.com/paritytech/ink.git", pattern = "linting/extra" }, + { git = "https://github.com/use-ink/ink.git", pattern = "linting/mandatory" }, + { git = "https://github.com/use-ink/ink.git", pattern = "linting/extra" }, ] ``` diff --git a/linting/extra/src/non_fallible_api.rs b/linting/extra/src/non_fallible_api.rs index 13681aa830..cddcd422e1 100644 --- a/linting/extra/src/non_fallible_api.rs +++ b/linting/extra/src/non_fallible_api.rs @@ -71,7 +71,7 @@ declare_lint! { /// checks and will panic on incorrect input, placing the responsibility on the user to /// implement these checks. /// - /// For more context, see: [ink#1910](https://github.com/paritytech/ink/pull/1910). + /// For more context, see: [ink#1910](https://github.com/use-ink/ink/pull/1910). /// /// ## Example /// diff --git a/linting/extra/src/storage_never_freed.rs b/linting/extra/src/storage_never_freed.rs index 4c1c3bac09..bee48966a6 100644 --- a/linting/extra/src/storage_never_freed.rs +++ b/linting/extra/src/storage_never_freed.rs @@ -108,7 +108,7 @@ declare_lint! { declare_lint_pass!(StorageNeverFreed => [STORAGE_NEVER_FREED]); mod methods { - // https://paritytech.github.io/ink/ink_prelude/vec/struct.Vec.html + // https://use-ink.github.io/ink/ink_prelude/vec/struct.Vec.html pub const VEC_INSERT: [&str; 6] = [ "append", "extend_from_slice", @@ -129,7 +129,7 @@ mod methods { ]; pub const VEC_IGNORE: [&str; 2] = ["as_mut_ptr", "as_mut_slice"]; - // https://paritytech.github.io/ink/ink_storage/struct.Mapping.html + // https://use-ink.github.io/ink/ink_storage/struct.Mapping.html pub const MAP_INSERT: [&str; 1] = ["insert"]; pub const MAP_REMOVE: [&str; 2] = ["remove", "take"]; } diff --git a/linting/extra/src/strict_balance_equality.rs b/linting/extra/src/strict_balance_equality.rs index 882153cc0e..4f9563db95 100644 --- a/linting/extra/src/strict_balance_equality.rs +++ b/linting/extra/src/strict_balance_equality.rs @@ -81,7 +81,7 @@ declare_lint! { /// ## Why is this bad? /// The problem with strict balance equality is that it is always possible to forcibly send /// tokens to a contract. For example, using - /// [`terminate_contract`](https://paritytech.github.io/ink/ink_env/fn.terminate_contract.html). + /// [`terminate_contract`](https://use-ink.github.io/ink/ink_env/fn.terminate_contract.html). /// In such a case, the condition involving the contract balance will work incorrectly, what /// may lead to security issues, including DoS attacks and draining contract's gas. /// diff --git a/scripts/generate_linter_docs.sh b/scripts/generate_linter_docs.sh index ff5ef5d8b5..0f621d3a45 100755 --- a/scripts/generate_linter_docs.sh +++ b/scripts/generate_linter_docs.sh @@ -7,7 +7,7 @@ usage() { echo "Creates or updates the documentation for ink_linting hosted at use.ink." echo echo "Arguments:" - echo " PATH Path to the local clone of https://github.com/paritytech/ink-docs" + echo " PATH Path to the local clone of https://github.com/use-ink/ink-docs" echo echo "Examples:" echo " $0 ~/ink-docs" From d647c8aefe2bc6ae4c41326a3d4b9ab07327c3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 26 Apr 2024 12:03:54 +0200 Subject: [PATCH 23/51] Update owners (#2222) * Update license owner * Update crate authors --- Cargo.toml | 2 +- FILE_HEADER | 2 +- crates/allocator/Cargo.toml | 2 +- crates/allocator/src/bump.rs | 2 +- crates/allocator/src/lib.rs | 2 +- crates/e2e/macro/src/codegen.rs | 2 +- crates/e2e/macro/src/config.rs | 2 +- crates/e2e/macro/src/ir.rs | 2 +- crates/e2e/macro/src/lib.rs | 2 +- crates/e2e/sandbox/Cargo.toml | 2 +- crates/e2e/src/backend.rs | 2 +- crates/e2e/src/backend_calls.rs | 2 +- crates/e2e/src/builders.rs | 2 +- crates/e2e/src/client_utils.rs | 2 +- crates/e2e/src/contract_build.rs | 2 +- crates/e2e/src/contract_results.rs | 2 +- crates/e2e/src/error.rs | 2 +- crates/e2e/src/events.rs | 2 +- crates/e2e/src/lib.rs | 2 +- crates/e2e/src/node_proc.rs | 2 +- crates/e2e/src/sandbox_client.rs | 2 +- crates/e2e/src/subxt_client.rs | 2 +- crates/e2e/src/xts.rs | 2 +- crates/engine/Cargo.toml | 2 +- crates/engine/src/chain_extension.rs | 2 +- crates/engine/src/database.rs | 2 +- crates/engine/src/exec_context.rs | 2 +- crates/engine/src/ext.rs | 2 +- crates/engine/src/hashing.rs | 2 +- crates/engine/src/lib.rs | 2 +- crates/engine/src/test_api.rs | 2 +- crates/engine/src/tests.rs | 2 +- crates/engine/src/types.rs | 2 +- crates/env/Cargo.toml | 2 +- crates/env/src/api.rs | 2 +- crates/env/src/arithmetic.rs | 2 +- crates/env/src/backend.rs | 2 +- crates/env/src/call/call_builder.rs | 2 +- crates/env/src/call/common.rs | 2 +- crates/env/src/call/create_builder.rs | 2 +- crates/env/src/call/execution_input.rs | 2 +- crates/env/src/call/mod.rs | 2 +- crates/env/src/call/selector.rs | 2 +- crates/env/src/chain_extension.rs | 2 +- crates/env/src/engine/mod.rs | 2 +- crates/env/src/engine/off_chain/call_data.rs | 2 +- crates/env/src/engine/off_chain/impls.rs | 2 +- crates/env/src/engine/off_chain/mod.rs | 2 +- crates/env/src/engine/off_chain/test_api.rs | 2 +- crates/env/src/engine/off_chain/tests.rs | 2 +- crates/env/src/engine/off_chain/types.rs | 2 +- crates/env/src/engine/on_chain/buffer.rs | 2 +- crates/env/src/engine/on_chain/impls.rs | 2 +- crates/env/src/engine/on_chain/mod.rs | 2 +- crates/env/src/error.rs | 2 +- crates/env/src/event.rs | 2 +- crates/env/src/hash.rs | 2 +- crates/env/src/lib.rs | 2 +- crates/env/src/tests.rs | 2 +- crates/env/src/types.rs | 2 +- crates/ink/Cargo.toml | 2 +- crates/ink/codegen/Cargo.toml | 2 +- crates/ink/codegen/src/enforced_error.rs | 2 +- crates/ink/codegen/src/generator/arg_list.rs | 2 +- .../ink/codegen/src/generator/as_dependency/call_builder.rs | 2 +- .../ink/codegen/src/generator/as_dependency/contract_ref.rs | 2 +- crates/ink/codegen/src/generator/as_dependency/mod.rs | 2 +- crates/ink/codegen/src/generator/blake2b.rs | 2 +- crates/ink/codegen/src/generator/chain_extension.rs | 2 +- crates/ink/codegen/src/generator/contract.rs | 2 +- crates/ink/codegen/src/generator/dispatch.rs | 2 +- crates/ink/codegen/src/generator/env.rs | 2 +- crates/ink/codegen/src/generator/event.rs | 2 +- crates/ink/codegen/src/generator/ink_test.rs | 2 +- crates/ink/codegen/src/generator/item_impls.rs | 2 +- crates/ink/codegen/src/generator/metadata.rs | 2 +- crates/ink/codegen/src/generator/mod.rs | 2 +- crates/ink/codegen/src/generator/selector.rs | 2 +- crates/ink/codegen/src/generator/storage.rs | 2 +- crates/ink/codegen/src/generator/storage_item.rs | 2 +- crates/ink/codegen/src/generator/trait_def/call_builder.rs | 2 +- crates/ink/codegen/src/generator/trait_def/call_forwarder.rs | 2 +- crates/ink/codegen/src/generator/trait_def/definition.rs | 2 +- crates/ink/codegen/src/generator/trait_def/mod.rs | 2 +- crates/ink/codegen/src/generator/trait_def/trait_registry.rs | 2 +- crates/ink/codegen/src/lib.rs | 2 +- crates/ink/codegen/src/traits.rs | 2 +- crates/ink/ir/Cargo.toml | 4 ++-- crates/ink/ir/src/ast/attr_args.rs | 2 +- crates/ink/ir/src/ast/meta.rs | 2 +- crates/ink/ir/src/ast/mod.rs | 2 +- crates/ink/ir/src/error.rs | 2 +- crates/ink/ir/src/ir/attrs.rs | 2 +- crates/ink/ir/src/ir/blake2.rs | 2 +- crates/ink/ir/src/ir/chain_extension.rs | 2 +- crates/ink/ir/src/ir/config.rs | 2 +- crates/ink/ir/src/ir/contract.rs | 2 +- crates/ink/ir/src/ir/event/config.rs | 2 +- crates/ink/ir/src/ir/event/mod.rs | 2 +- crates/ink/ir/src/ir/event/signature_topic.rs | 2 +- crates/ink/ir/src/ir/idents_lint.rs | 2 +- crates/ink/ir/src/ir/ink_test.rs | 2 +- crates/ink/ir/src/ir/item/mod.rs | 2 +- crates/ink/ir/src/ir/item/storage.rs | 2 +- crates/ink/ir/src/ir/item/tests.rs | 2 +- crates/ink/ir/src/ir/item_impl/callable.rs | 2 +- crates/ink/ir/src/ir/item_impl/constructor.rs | 2 +- crates/ink/ir/src/ir/item_impl/impl_item.rs | 2 +- crates/ink/ir/src/ir/item_impl/iter.rs | 2 +- crates/ink/ir/src/ir/item_impl/message.rs | 2 +- crates/ink/ir/src/ir/item_impl/mod.rs | 2 +- crates/ink/ir/src/ir/item_impl/tests.rs | 2 +- crates/ink/ir/src/ir/item_mod.rs | 2 +- crates/ink/ir/src/ir/mod.rs | 2 +- crates/ink/ir/src/ir/selector.rs | 2 +- crates/ink/ir/src/ir/storage_item/config.rs | 2 +- crates/ink/ir/src/ir/storage_item/mod.rs | 2 +- crates/ink/ir/src/ir/trait_def/config.rs | 2 +- crates/ink/ir/src/ir/trait_def/item/iter.rs | 2 +- crates/ink/ir/src/ir/trait_def/item/mod.rs | 2 +- crates/ink/ir/src/ir/trait_def/item/trait_item.rs | 2 +- crates/ink/ir/src/ir/trait_def/mod.rs | 2 +- crates/ink/ir/src/ir/trait_def/tests.rs | 2 +- crates/ink/ir/src/ir/utils.rs | 2 +- crates/ink/ir/src/lib.rs | 2 +- crates/ink/ir/src/literal.rs | 2 +- crates/ink/macro/Cargo.toml | 4 ++-- crates/ink/macro/src/blake2b.rs | 2 +- crates/ink/macro/src/chain_extension.rs | 2 +- crates/ink/macro/src/contract.rs | 2 +- crates/ink/macro/src/event/metadata.rs | 2 +- crates/ink/macro/src/event/mod.rs | 2 +- crates/ink/macro/src/ink_test.rs | 2 +- crates/ink/macro/src/lib.rs | 2 +- crates/ink/macro/src/scale.rs | 2 +- crates/ink/macro/src/selector.rs | 2 +- crates/ink/macro/src/storage/mod.rs | 2 +- crates/ink/macro/src/storage/storable.rs | 2 +- crates/ink/macro/src/storage/storable_hint.rs | 2 +- crates/ink/macro/src/storage/storage_key.rs | 2 +- crates/ink/macro/src/storage/storage_layout.rs | 2 +- crates/ink/macro/src/storage_item.rs | 2 +- crates/ink/macro/src/tests/event.rs | 2 +- crates/ink/macro/src/tests/event_metadata.rs | 2 +- crates/ink/macro/src/tests/mod.rs | 2 +- crates/ink/macro/src/tests/storable.rs | 2 +- crates/ink/macro/src/tests/storable_hint.rs | 2 +- crates/ink/macro/src/tests/storage_key.rs | 2 +- crates/ink/macro/src/tests/storage_layout.rs | 2 +- crates/ink/macro/src/trait_def.rs | 2 +- crates/ink/src/chain_extension.rs | 2 +- crates/ink/src/codegen/dispatch/execution.rs | 2 +- crates/ink/src/codegen/dispatch/info.rs | 2 +- crates/ink/src/codegen/dispatch/mod.rs | 2 +- crates/ink/src/codegen/dispatch/type_check.rs | 2 +- crates/ink/src/codegen/env.rs | 2 +- crates/ink/src/codegen/implies_return.rs | 2 +- crates/ink/src/codegen/is_same_type.rs | 2 +- crates/ink/src/codegen/mod.rs | 2 +- crates/ink/src/codegen/trait_def/call_builder.rs | 2 +- crates/ink/src/codegen/trait_def/mod.rs | 2 +- crates/ink/src/codegen/trait_def/trait_message.rs | 2 +- crates/ink/src/codegen/utils/identity_type.rs | 2 +- crates/ink/src/codegen/utils/mod.rs | 2 +- crates/ink/src/codegen/utils/same_type.rs | 2 +- crates/ink/src/contract_ref.rs | 2 +- crates/ink/src/env_access.rs | 2 +- crates/ink/src/lib.rs | 2 +- crates/ink/src/option_info.rs | 2 +- crates/ink/src/reflect/contract.rs | 2 +- crates/ink/src/reflect/dispatch.rs | 2 +- crates/ink/src/reflect/mod.rs | 2 +- crates/ink/src/reflect/trait_def/info.rs | 2 +- crates/ink/src/reflect/trait_def/mod.rs | 2 +- crates/ink/src/reflect/trait_def/registry.rs | 2 +- crates/ink/src/result_info.rs | 2 +- crates/ink/tests/compile_tests.rs | 2 +- crates/ink/tests/events_metadata.rs | 2 +- crates/ink/tests/return_type_metadata.rs | 2 +- crates/metadata/Cargo.toml | 4 ++-- crates/metadata/src/layout/mod.rs | 2 +- crates/metadata/src/layout/tests.rs | 2 +- crates/metadata/src/layout/validate.rs | 2 +- crates/metadata/src/lib.rs | 2 +- crates/metadata/src/specs.rs | 2 +- crates/metadata/src/tests.rs | 2 +- crates/metadata/src/utils.rs | 2 +- crates/prelude/Cargo.toml | 2 +- crates/prelude/src/lib.rs | 2 +- crates/primitives/Cargo.toml | 2 +- crates/primitives/src/key.rs | 2 +- crates/primitives/src/lib.rs | 2 +- crates/primitives/src/types.rs | 2 +- crates/storage/Cargo.toml | 2 +- crates/storage/src/lazy/mapping.rs | 2 +- crates/storage/src/lazy/mod.rs | 2 +- crates/storage/src/lazy/vec.rs | 2 +- crates/storage/src/lib.rs | 2 +- crates/storage/traits/src/impls/mod.rs | 2 +- crates/storage/traits/src/layout/impls.rs | 2 +- crates/storage/traits/src/layout/mod.rs | 2 +- crates/storage/traits/src/lib.rs | 2 +- crates/storage/traits/src/storage.rs | 2 +- .../internal/call-builder-return-value/Cargo.toml | 2 +- .../internal/e2e-runtime-only-backend/Cargo.toml | 2 +- .../internal/lang-err/call-builder-delegate/Cargo.toml | 2 +- integration-tests/internal/lang-err/call-builder/Cargo.toml | 2 +- .../internal/lang-err/constructors-return-value/Cargo.toml | 2 +- integration-tests/internal/lang-err/contract-ref/Cargo.toml | 2 +- .../internal/lang-err/integration-flipper/Cargo.toml | 2 +- integration-tests/internal/mother/Cargo.toml | 2 +- integration-tests/internal/sr25519-verification/Cargo.toml | 2 +- integration-tests/public/call-runtime/Cargo.toml | 2 +- integration-tests/public/combined-extension/Cargo.toml | 2 +- integration-tests/public/conditional-compilation/Cargo.toml | 2 +- integration-tests/public/contract-storage/Cargo.toml | 2 +- integration-tests/public/contract-terminate/Cargo.toml | 2 +- integration-tests/public/contract-transfer/Cargo.toml | 2 +- integration-tests/public/cross-contract-calls/Cargo.toml | 2 +- .../public/cross-contract-calls/other-contract/Cargo.toml | 2 +- integration-tests/public/custom-allocator/Cargo.toml | 2 +- integration-tests/public/custom-environment/Cargo.toml | 2 +- integration-tests/public/dns/Cargo.toml | 2 +- integration-tests/public/e2e-call-runtime/Cargo.toml | 2 +- integration-tests/public/erc1155/Cargo.toml | 2 +- integration-tests/public/erc20/Cargo.toml | 2 +- integration-tests/public/erc721/Cargo.toml | 2 +- integration-tests/public/events/Cargo.toml | 2 +- integration-tests/public/flipper/Cargo.toml | 2 +- integration-tests/public/incrementer/Cargo.toml | 2 +- integration-tests/public/lazyvec/Cargo.toml | 2 +- integration-tests/public/mapping/Cargo.toml | 2 +- integration-tests/public/multi-contract-caller/Cargo.toml | 2 +- .../public/multi-contract-caller/accumulator/Cargo.toml | 2 +- .../public/multi-contract-caller/adder/Cargo.toml | 2 +- .../public/multi-contract-caller/subber/Cargo.toml | 2 +- integration-tests/public/multisig/Cargo.toml | 2 +- integration-tests/public/payment-channel/Cargo.toml | 2 +- integration-tests/public/psp22-extension/Cargo.toml | 2 +- integration-tests/public/rand-extension/Cargo.toml | 2 +- integration-tests/public/runtime-call-contract/Cargo.toml | 4 ++-- .../sandbox-runtime/pallet-contract-caller/Cargo.toml | 2 +- .../public/runtime-call-contract/traits/Cargo.toml | 2 +- integration-tests/public/static-buffer/Cargo.toml | 2 +- .../public/trait-dyn-cross-contract-calls/Cargo.toml | 2 +- .../contracts/incrementer/Cargo.toml | 2 +- .../public/trait-dyn-cross-contract-calls/traits/Cargo.toml | 2 +- integration-tests/public/trait-erc20/Cargo.toml | 2 +- integration-tests/public/trait-flipper/Cargo.toml | 2 +- integration-tests/public/trait-incrementer/Cargo.toml | 2 +- integration-tests/public/trait-incrementer/traits/Cargo.toml | 2 +- integration-tests/public/trait-incrementer/traits/lib.rs | 2 +- .../public/upgradeable-contracts/delegator/Cargo.toml | 2 +- .../upgradeable-contracts/delegator/delegatee/Cargo.toml | 2 +- .../upgradeable-contracts/delegator/delegatee2/Cargo.toml | 2 +- .../upgradeable-contracts/set-code-hash-migration/Cargo.toml | 2 +- .../set-code-hash-migration/migration/Cargo.toml | 2 +- .../set-code-hash-migration/updated-incrementer/Cargo.toml | 2 +- .../public/upgradeable-contracts/set-code-hash/Cargo.toml | 2 +- .../set-code-hash/updated-incrementer/Cargo.toml | 2 +- integration-tests/public/wildcard-selector/Cargo.toml | 2 +- linting/Cargo.toml | 2 +- linting/extra/src/lib.rs | 2 +- linting/extra/src/non_fallible_api.rs | 2 +- linting/extra/src/primitive_topic.rs | 2 +- linting/extra/src/storage_never_freed.rs | 2 +- linting/extra/src/strict_balance_equality.rs | 2 +- linting/mandatory/src/lib.rs | 2 +- linting/mandatory/src/no_main.rs | 2 +- linting/utils/src/lib.rs | 2 +- 270 files changed, 274 insertions(+), 274 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0b86dd3fd9..5ee0bac0a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ exclude = [ ] [workspace.package] -authors = ["Parity Technologies "] +authors = ["Use Ink "] categories = ["no-std", "embedded"] edition = "2021" homepage = "https://www.parity.io/" diff --git a/FILE_HEADER b/FILE_HEADER index 8807a292de..8d1027957f 100644 --- a/FILE_HEADER +++ b/FILE_HEADER @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/allocator/Cargo.toml b/crates/allocator/Cargo.toml index fa73d84321..bfdb5a64ab 100644 --- a/crates/allocator/Cargo.toml +++ b/crates/allocator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_allocator" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/allocator/src/bump.rs b/crates/allocator/src/bump.rs index 78db75584f..6f0159ffda 100644 --- a/crates/allocator/src/bump.rs +++ b/crates/allocator/src/bump.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/allocator/src/lib.rs b/crates/allocator/src/lib.rs index d40dda6e36..10835e5476 100644 --- a/crates/allocator/src/lib.rs +++ b/crates/allocator/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/macro/src/codegen.rs b/crates/e2e/macro/src/codegen.rs index d4555d3033..df59283007 100644 --- a/crates/e2e/macro/src/codegen.rs +++ b/crates/e2e/macro/src/codegen.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/macro/src/config.rs b/crates/e2e/macro/src/config.rs index 8908315b51..5cb27544f0 100644 --- a/crates/e2e/macro/src/config.rs +++ b/crates/e2e/macro/src/config.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/macro/src/ir.rs b/crates/e2e/macro/src/ir.rs index 1241a0ef0b..ccbd4a7117 100644 --- a/crates/e2e/macro/src/ir.rs +++ b/crates/e2e/macro/src/ir.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/macro/src/lib.rs b/crates/e2e/macro/src/lib.rs index 191712af63..b15a0a9208 100644 --- a/crates/e2e/macro/src/lib.rs +++ b/crates/e2e/macro/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/sandbox/Cargo.toml b/crates/e2e/sandbox/Cargo.toml index 3da2af09c7..cb67b704f5 100644 --- a/crates/e2e/sandbox/Cargo.toml +++ b/crates/e2e/sandbox/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_sandbox" version = "5.0.0" -authors = ["Cardinal Cryptography", "Parity Technologies "] +authors = ["Use Ink ", "Cardinal Cryptography"] edition.workspace = true license.workspace = true description = "Sandbox runtime environment for ink! e2e tests" diff --git a/crates/e2e/src/backend.rs b/crates/e2e/src/backend.rs index 2f9b395ddd..6b72dfc53b 100644 --- a/crates/e2e/src/backend.rs +++ b/crates/e2e/src/backend.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/backend_calls.rs b/crates/e2e/src/backend_calls.rs index dc192e59c6..aedba9683b 100644 --- a/crates/e2e/src/backend_calls.rs +++ b/crates/e2e/src/backend_calls.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/builders.rs b/crates/e2e/src/builders.rs index 4e71ab1412..93453c32d4 100644 --- a/crates/e2e/src/builders.rs +++ b/crates/e2e/src/builders.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/client_utils.rs b/crates/e2e/src/client_utils.rs index 36f4bf4994..69b9901fcd 100644 --- a/crates/e2e/src/client_utils.rs +++ b/crates/e2e/src/client_utils.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/contract_build.rs b/crates/e2e/src/contract_build.rs index f31bbe30a7..c65357fd9e 100644 --- a/crates/e2e/src/contract_build.rs +++ b/crates/e2e/src/contract_build.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/contract_results.rs b/crates/e2e/src/contract_results.rs index 2d358499e7..2c19473a27 100644 --- a/crates/e2e/src/contract_results.rs +++ b/crates/e2e/src/contract_results.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/error.rs b/crates/e2e/src/error.rs index 03d6e1dc1c..bce499749e 100644 --- a/crates/e2e/src/error.rs +++ b/crates/e2e/src/error.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/events.rs b/crates/e2e/src/events.rs index cd2481cc6b..96c5a605d3 100644 --- a/crates/e2e/src/events.rs +++ b/crates/e2e/src/events.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/lib.rs b/crates/e2e/src/lib.rs index 19c97de602..82ead6181d 100644 --- a/crates/e2e/src/lib.rs +++ b/crates/e2e/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/node_proc.rs b/crates/e2e/src/node_proc.rs index 7e39271715..8df4f3cab2 100644 --- a/crates/e2e/src/node_proc.rs +++ b/crates/e2e/src/node_proc.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/sandbox_client.rs b/crates/e2e/src/sandbox_client.rs index 524a855547..ac27c240a4 100644 --- a/crates/e2e/src/sandbox_client.rs +++ b/crates/e2e/src/sandbox_client.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/subxt_client.rs b/crates/e2e/src/subxt_client.rs index 2ac02d5523..ba70d5e312 100644 --- a/crates/e2e/src/subxt_client.rs +++ b/crates/e2e/src/subxt_client.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/e2e/src/xts.rs b/crates/e2e/src/xts.rs index 02a400f9fb..0c998314d8 100644 --- a/crates/e2e/src/xts.rs +++ b/crates/e2e/src/xts.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/Cargo.toml b/crates/engine/Cargo.toml index 0109ff2e7c..29a2fb7e1c 100644 --- a/crates/engine/Cargo.toml +++ b/crates/engine/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_engine" version.workspace = true -authors = ["Parity Technologies ", "Michael Müller "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/engine/src/chain_extension.rs b/crates/engine/src/chain_extension.rs index c0600dc147..0961979574 100644 --- a/crates/engine/src/chain_extension.rs +++ b/crates/engine/src/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/database.rs b/crates/engine/src/database.rs index 310225be28..8e743a0b64 100644 --- a/crates/engine/src/database.rs +++ b/crates/engine/src/database.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/exec_context.rs b/crates/engine/src/exec_context.rs index 05bcf699b0..4ee6daa50f 100644 --- a/crates/engine/src/exec_context.rs +++ b/crates/engine/src/exec_context.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/ext.rs b/crates/engine/src/ext.rs index 0e53d5c485..8a0bb96399 100644 --- a/crates/engine/src/ext.rs +++ b/crates/engine/src/ext.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/hashing.rs b/crates/engine/src/hashing.rs index 551ecd2d92..c05fd37e38 100644 --- a/crates/engine/src/hashing.rs +++ b/crates/engine/src/hashing.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/lib.rs b/crates/engine/src/lib.rs index ded35d62c8..5155af87a2 100644 --- a/crates/engine/src/lib.rs +++ b/crates/engine/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/test_api.rs b/crates/engine/src/test_api.rs index 2633abb8c0..460faf774a 100644 --- a/crates/engine/src/test_api.rs +++ b/crates/engine/src/test_api.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/tests.rs b/crates/engine/src/tests.rs index 3fc156b19d..a62b96cbda 100644 --- a/crates/engine/src/tests.rs +++ b/crates/engine/src/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/engine/src/types.rs b/crates/engine/src/types.rs index a74ee0e14c..131db42080 100644 --- a/crates/engine/src/types.rs +++ b/crates/engine/src/types.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml index bb69aab008..268aa0a853 100644 --- a/crates/env/Cargo.toml +++ b/crates/env/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_env" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true rust-version = "1.68" diff --git a/crates/env/src/api.rs b/crates/env/src/api.rs index 360e37b711..4ef8a7d047 100644 --- a/crates/env/src/api.rs +++ b/crates/env/src/api.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/arithmetic.rs b/crates/env/src/arithmetic.rs index db1937a69f..8ee2416054 100644 --- a/crates/env/src/arithmetic.rs +++ b/crates/env/src/arithmetic.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/backend.rs b/crates/env/src/backend.rs index 69260edf60..b2d819f204 100644 --- a/crates/env/src/backend.rs +++ b/crates/env/src/backend.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/call_builder.rs b/crates/env/src/call/call_builder.rs index 40965cf31f..45526106d9 100644 --- a/crates/env/src/call/call_builder.rs +++ b/crates/env/src/call/call_builder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/common.rs b/crates/env/src/call/common.rs index 8118561d41..d22cdd96d0 100644 --- a/crates/env/src/call/common.rs +++ b/crates/env/src/call/common.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/create_builder.rs b/crates/env/src/call/create_builder.rs index 9177c33a97..34a17dd76d 100644 --- a/crates/env/src/call/create_builder.rs +++ b/crates/env/src/call/create_builder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/execution_input.rs b/crates/env/src/call/execution_input.rs index db2ebbddf4..54ac1f7042 100644 --- a/crates/env/src/call/execution_input.rs +++ b/crates/env/src/call/execution_input.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/mod.rs b/crates/env/src/call/mod.rs index 60c3f2ff55..962b60376c 100644 --- a/crates/env/src/call/mod.rs +++ b/crates/env/src/call/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/call/selector.rs b/crates/env/src/call/selector.rs index 74daec3f24..01e0aaa9dd 100644 --- a/crates/env/src/call/selector.rs +++ b/crates/env/src/call/selector.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/chain_extension.rs b/crates/env/src/chain_extension.rs index e0033cc3c8..b7b82ceaed 100644 --- a/crates/env/src/chain_extension.rs +++ b/crates/env/src/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/mod.rs b/crates/env/src/engine/mod.rs index 52065b413b..666e7b50de 100644 --- a/crates/env/src/engine/mod.rs +++ b/crates/env/src/engine/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/call_data.rs b/crates/env/src/engine/off_chain/call_data.rs index 38c209aafd..af8a247df5 100644 --- a/crates/env/src/engine/off_chain/call_data.rs +++ b/crates/env/src/engine/off_chain/call_data.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/impls.rs b/crates/env/src/engine/off_chain/impls.rs index 89432be93b..f212a64b52 100644 --- a/crates/env/src/engine/off_chain/impls.rs +++ b/crates/env/src/engine/off_chain/impls.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/mod.rs b/crates/env/src/engine/off_chain/mod.rs index dc9a27bd18..3b856ba71f 100644 --- a/crates/env/src/engine/off_chain/mod.rs +++ b/crates/env/src/engine/off_chain/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/test_api.rs b/crates/env/src/engine/off_chain/test_api.rs index ae56df1b40..f99a353e71 100644 --- a/crates/env/src/engine/off_chain/test_api.rs +++ b/crates/env/src/engine/off_chain/test_api.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/tests.rs b/crates/env/src/engine/off_chain/tests.rs index 3127e7850c..6cd2e44f7d 100644 --- a/crates/env/src/engine/off_chain/tests.rs +++ b/crates/env/src/engine/off_chain/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/off_chain/types.rs b/crates/env/src/engine/off_chain/types.rs index a56ee53671..0fcbba3459 100644 --- a/crates/env/src/engine/off_chain/types.rs +++ b/crates/env/src/engine/off_chain/types.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/on_chain/buffer.rs b/crates/env/src/engine/on_chain/buffer.rs index 08fc651611..6987552214 100644 --- a/crates/env/src/engine/on_chain/buffer.rs +++ b/crates/env/src/engine/on_chain/buffer.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/on_chain/impls.rs b/crates/env/src/engine/on_chain/impls.rs index 47568e38f6..5a870fc719 100644 --- a/crates/env/src/engine/on_chain/impls.rs +++ b/crates/env/src/engine/on_chain/impls.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/engine/on_chain/mod.rs b/crates/env/src/engine/on_chain/mod.rs index 1a5cff3231..9f107fe757 100644 --- a/crates/env/src/engine/on_chain/mod.rs +++ b/crates/env/src/engine/on_chain/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/error.rs b/crates/env/src/error.rs index 9632568354..500e0adcf6 100644 --- a/crates/env/src/error.rs +++ b/crates/env/src/error.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/event.rs b/crates/env/src/event.rs index 9072cad604..ec4b9d75a3 100644 --- a/crates/env/src/event.rs +++ b/crates/env/src/event.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/hash.rs b/crates/env/src/hash.rs index c6a47ba36f..45c3c3f9e9 100644 --- a/crates/env/src/hash.rs +++ b/crates/env/src/hash.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/lib.rs b/crates/env/src/lib.rs index 9959ccccef..7c3931ab6c 100644 --- a/crates/env/src/lib.rs +++ b/crates/env/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/tests.rs b/crates/env/src/tests.rs index 2fde5c4c24..b73460d146 100644 --- a/crates/env/src/tests.rs +++ b/crates/env/src/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/env/src/types.rs b/crates/env/src/types.rs index e879634fc0..0e26f9b29b 100644 --- a/crates/env/src/types.rs +++ b/crates/env/src/types.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/Cargo.toml b/crates/ink/Cargo.toml index bb23bdc918..ece158eb5c 100644 --- a/crates/ink/Cargo.toml +++ b/crates/ink/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true rust-version = "1.63" diff --git a/crates/ink/codegen/Cargo.toml b/crates/ink/codegen/Cargo.toml index 62e3269cb3..21f87f3d4c 100644 --- a/crates/ink/codegen/Cargo.toml +++ b/crates/ink/codegen/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_codegen" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/ink/codegen/src/enforced_error.rs b/crates/ink/codegen/src/enforced_error.rs index 250f0b5c51..8581634bff 100644 --- a/crates/ink/codegen/src/enforced_error.rs +++ b/crates/ink/codegen/src/enforced_error.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/arg_list.rs b/crates/ink/codegen/src/generator/arg_list.rs index e53d474db0..0fe0891a5a 100644 --- a/crates/ink/codegen/src/generator/arg_list.rs +++ b/crates/ink/codegen/src/generator/arg_list.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/as_dependency/call_builder.rs b/crates/ink/codegen/src/generator/as_dependency/call_builder.rs index 45256ac42b..56475a391f 100644 --- a/crates/ink/codegen/src/generator/as_dependency/call_builder.rs +++ b/crates/ink/codegen/src/generator/as_dependency/call_builder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/as_dependency/contract_ref.rs b/crates/ink/codegen/src/generator/as_dependency/contract_ref.rs index e646f665cf..69ebceda76 100644 --- a/crates/ink/codegen/src/generator/as_dependency/contract_ref.rs +++ b/crates/ink/codegen/src/generator/as_dependency/contract_ref.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/as_dependency/mod.rs b/crates/ink/codegen/src/generator/as_dependency/mod.rs index e15ac69b85..5a1965957e 100644 --- a/crates/ink/codegen/src/generator/as_dependency/mod.rs +++ b/crates/ink/codegen/src/generator/as_dependency/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/blake2b.rs b/crates/ink/codegen/src/generator/blake2b.rs index 3d3c316b53..ab7c25e5f7 100644 --- a/crates/ink/codegen/src/generator/blake2b.rs +++ b/crates/ink/codegen/src/generator/blake2b.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/chain_extension.rs b/crates/ink/codegen/src/generator/chain_extension.rs index 906caa6b64..4732735857 100644 --- a/crates/ink/codegen/src/generator/chain_extension.rs +++ b/crates/ink/codegen/src/generator/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/contract.rs b/crates/ink/codegen/src/generator/contract.rs index 7a143ddcd7..06d5f5b80d 100644 --- a/crates/ink/codegen/src/generator/contract.rs +++ b/crates/ink/codegen/src/generator/contract.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/dispatch.rs b/crates/ink/codegen/src/generator/dispatch.rs index eb88b07f75..d3b56f1479 100644 --- a/crates/ink/codegen/src/generator/dispatch.rs +++ b/crates/ink/codegen/src/generator/dispatch.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/env.rs b/crates/ink/codegen/src/generator/env.rs index 4b1469a842..76adad31c1 100644 --- a/crates/ink/codegen/src/generator/env.rs +++ b/crates/ink/codegen/src/generator/env.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/event.rs b/crates/ink/codegen/src/generator/event.rs index 2289052957..115c30321d 100644 --- a/crates/ink/codegen/src/generator/event.rs +++ b/crates/ink/codegen/src/generator/event.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/ink_test.rs b/crates/ink/codegen/src/generator/ink_test.rs index d903dab871..58ab837364 100644 --- a/crates/ink/codegen/src/generator/ink_test.rs +++ b/crates/ink/codegen/src/generator/ink_test.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/item_impls.rs b/crates/ink/codegen/src/generator/item_impls.rs index 0beb8ce386..3d46ab10fd 100644 --- a/crates/ink/codegen/src/generator/item_impls.rs +++ b/crates/ink/codegen/src/generator/item_impls.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/metadata.rs b/crates/ink/codegen/src/generator/metadata.rs index 2ac5da3482..b1ac927693 100644 --- a/crates/ink/codegen/src/generator/metadata.rs +++ b/crates/ink/codegen/src/generator/metadata.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/mod.rs b/crates/ink/codegen/src/generator/mod.rs index 613b11cad4..cb50a7e61f 100644 --- a/crates/ink/codegen/src/generator/mod.rs +++ b/crates/ink/codegen/src/generator/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/selector.rs b/crates/ink/codegen/src/generator/selector.rs index 016e286247..e3efd88eb5 100644 --- a/crates/ink/codegen/src/generator/selector.rs +++ b/crates/ink/codegen/src/generator/selector.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/storage.rs b/crates/ink/codegen/src/generator/storage.rs index c707b1113f..0db3d38698 100644 --- a/crates/ink/codegen/src/generator/storage.rs +++ b/crates/ink/codegen/src/generator/storage.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/storage_item.rs b/crates/ink/codegen/src/generator/storage_item.rs index 779d4f7ae9..dc5a7e82d0 100644 --- a/crates/ink/codegen/src/generator/storage_item.rs +++ b/crates/ink/codegen/src/generator/storage_item.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/trait_def/call_builder.rs b/crates/ink/codegen/src/generator/trait_def/call_builder.rs index d24e9c2a94..ac8b6cda26 100644 --- a/crates/ink/codegen/src/generator/trait_def/call_builder.rs +++ b/crates/ink/codegen/src/generator/trait_def/call_builder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/trait_def/call_forwarder.rs b/crates/ink/codegen/src/generator/trait_def/call_forwarder.rs index f195fc1cd8..9904ffbb47 100644 --- a/crates/ink/codegen/src/generator/trait_def/call_forwarder.rs +++ b/crates/ink/codegen/src/generator/trait_def/call_forwarder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/trait_def/definition.rs b/crates/ink/codegen/src/generator/trait_def/definition.rs index 05983fbe4b..9ea66e1f65 100644 --- a/crates/ink/codegen/src/generator/trait_def/definition.rs +++ b/crates/ink/codegen/src/generator/trait_def/definition.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/trait_def/mod.rs b/crates/ink/codegen/src/generator/trait_def/mod.rs index 188f80d54a..9a5442b9c7 100644 --- a/crates/ink/codegen/src/generator/trait_def/mod.rs +++ b/crates/ink/codegen/src/generator/trait_def/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/generator/trait_def/trait_registry.rs b/crates/ink/codegen/src/generator/trait_def/trait_registry.rs index b0fe1a25bd..49298fc18c 100644 --- a/crates/ink/codegen/src/generator/trait_def/trait_registry.rs +++ b/crates/ink/codegen/src/generator/trait_def/trait_registry.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/lib.rs b/crates/ink/codegen/src/lib.rs index 7ebb002d8b..48f3ef4beb 100644 --- a/crates/ink/codegen/src/lib.rs +++ b/crates/ink/codegen/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/codegen/src/traits.rs b/crates/ink/codegen/src/traits.rs index 4787b242dd..9ef761b3fb 100644 --- a/crates/ink/codegen/src/traits.rs +++ b/crates/ink/codegen/src/traits.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/Cargo.toml b/crates/ink/ir/Cargo.toml index 66ff6fa00e..f19cb21bbd 100644 --- a/crates/ink/ir/Cargo.toml +++ b/crates/ink/ir/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_ir" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true @@ -32,6 +32,6 @@ default = [ "std" ] std = [ "either/use_std", "ink_prelude/std", - "itertools/use_std", + "itertools/use_std", "impl-serde/std" ] diff --git a/crates/ink/ir/src/ast/attr_args.rs b/crates/ink/ir/src/ast/attr_args.rs index 6ed96c2571..c1be7c25ba 100644 --- a/crates/ink/ir/src/ast/attr_args.rs +++ b/crates/ink/ir/src/ast/attr_args.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ast/meta.rs b/crates/ink/ir/src/ast/meta.rs index 831b00e954..25c3a96a58 100644 --- a/crates/ink/ir/src/ast/meta.rs +++ b/crates/ink/ir/src/ast/meta.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ast/mod.rs b/crates/ink/ir/src/ast/mod.rs index c955bd0339..06f9cd4c03 100644 --- a/crates/ink/ir/src/ast/mod.rs +++ b/crates/ink/ir/src/ast/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/error.rs b/crates/ink/ir/src/error.rs index 55fd1ef5f7..5fdaeaefd8 100644 --- a/crates/ink/ir/src/error.rs +++ b/crates/ink/ir/src/error.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/attrs.rs b/crates/ink/ir/src/ir/attrs.rs index b21615cb2b..03dc97d576 100644 --- a/crates/ink/ir/src/ir/attrs.rs +++ b/crates/ink/ir/src/ir/attrs.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/blake2.rs b/crates/ink/ir/src/ir/blake2.rs index fd30554e28..18c9c6a66e 100644 --- a/crates/ink/ir/src/ir/blake2.rs +++ b/crates/ink/ir/src/ir/blake2.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/chain_extension.rs b/crates/ink/ir/src/ir/chain_extension.rs index f4e2272709..51571af89a 100644 --- a/crates/ink/ir/src/ir/chain_extension.rs +++ b/crates/ink/ir/src/ir/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/config.rs b/crates/ink/ir/src/ir/config.rs index dbb63bf232..3942071262 100644 --- a/crates/ink/ir/src/ir/config.rs +++ b/crates/ink/ir/src/ir/config.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/contract.rs b/crates/ink/ir/src/ir/contract.rs index 4f0be9d73b..e9222fcdde 100644 --- a/crates/ink/ir/src/ir/contract.rs +++ b/crates/ink/ir/src/ir/contract.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/event/config.rs b/crates/ink/ir/src/ir/event/config.rs index 1020bd8657..8206631ad7 100644 --- a/crates/ink/ir/src/ir/event/config.rs +++ b/crates/ink/ir/src/ir/event/config.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/event/mod.rs b/crates/ink/ir/src/ir/event/mod.rs index 41c5d8988a..86a6c8c567 100644 --- a/crates/ink/ir/src/ir/event/mod.rs +++ b/crates/ink/ir/src/ir/event/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/event/signature_topic.rs b/crates/ink/ir/src/ir/event/signature_topic.rs index 49ed14fdd2..fef278a237 100644 --- a/crates/ink/ir/src/ir/event/signature_topic.rs +++ b/crates/ink/ir/src/ir/event/signature_topic.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/idents_lint.rs b/crates/ink/ir/src/ir/idents_lint.rs index aa35f9d481..8c57f03653 100644 --- a/crates/ink/ir/src/ir/idents_lint.rs +++ b/crates/ink/ir/src/ir/idents_lint.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/ink_test.rs b/crates/ink/ir/src/ir/ink_test.rs index a9ef94d310..209053ab75 100644 --- a/crates/ink/ir/src/ir/ink_test.rs +++ b/crates/ink/ir/src/ir/ink_test.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item/mod.rs b/crates/ink/ir/src/ir/item/mod.rs index 19137ffda7..f674b35a8b 100644 --- a/crates/ink/ir/src/ir/item/mod.rs +++ b/crates/ink/ir/src/ir/item/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item/storage.rs b/crates/ink/ir/src/ir/item/storage.rs index 7653d288bc..598b9aa6a1 100644 --- a/crates/ink/ir/src/ir/item/storage.rs +++ b/crates/ink/ir/src/ir/item/storage.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item/tests.rs b/crates/ink/ir/src/ir/item/tests.rs index 530a8a6c77..c602a92ac3 100644 --- a/crates/ink/ir/src/ir/item/tests.rs +++ b/crates/ink/ir/src/ir/item/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/callable.rs b/crates/ink/ir/src/ir/item_impl/callable.rs index 07b8ea7ce0..4e8259c631 100644 --- a/crates/ink/ir/src/ir/item_impl/callable.rs +++ b/crates/ink/ir/src/ir/item_impl/callable.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/constructor.rs b/crates/ink/ir/src/ir/item_impl/constructor.rs index 6a1b5ff2bf..0319f158e5 100644 --- a/crates/ink/ir/src/ir/item_impl/constructor.rs +++ b/crates/ink/ir/src/ir/item_impl/constructor.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/impl_item.rs b/crates/ink/ir/src/ir/item_impl/impl_item.rs index 440dd41017..7727bc5513 100644 --- a/crates/ink/ir/src/ir/item_impl/impl_item.rs +++ b/crates/ink/ir/src/ir/item_impl/impl_item.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/iter.rs b/crates/ink/ir/src/ir/item_impl/iter.rs index 4e25cd93f8..4b03c8bdb0 100644 --- a/crates/ink/ir/src/ir/item_impl/iter.rs +++ b/crates/ink/ir/src/ir/item_impl/iter.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/message.rs b/crates/ink/ir/src/ir/item_impl/message.rs index af3bcf61ac..70e7be654e 100644 --- a/crates/ink/ir/src/ir/item_impl/message.rs +++ b/crates/ink/ir/src/ir/item_impl/message.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/mod.rs b/crates/ink/ir/src/ir/item_impl/mod.rs index 2cd2cbc6b4..76237d35ca 100644 --- a/crates/ink/ir/src/ir/item_impl/mod.rs +++ b/crates/ink/ir/src/ir/item_impl/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_impl/tests.rs b/crates/ink/ir/src/ir/item_impl/tests.rs index 0db7a14041..eea9b39cfb 100644 --- a/crates/ink/ir/src/ir/item_impl/tests.rs +++ b/crates/ink/ir/src/ir/item_impl/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/item_mod.rs b/crates/ink/ir/src/ir/item_mod.rs index fb73887409..1635696bf9 100644 --- a/crates/ink/ir/src/ir/item_mod.rs +++ b/crates/ink/ir/src/ir/item_mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/mod.rs b/crates/ink/ir/src/ir/mod.rs index 14e1f9b9b2..a6f076470e 100644 --- a/crates/ink/ir/src/ir/mod.rs +++ b/crates/ink/ir/src/ir/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/selector.rs b/crates/ink/ir/src/ir/selector.rs index 77cb2a6051..88b634a66a 100644 --- a/crates/ink/ir/src/ir/selector.rs +++ b/crates/ink/ir/src/ir/selector.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/storage_item/config.rs b/crates/ink/ir/src/ir/storage_item/config.rs index d35c984c45..a6aa26e2d1 100644 --- a/crates/ink/ir/src/ir/storage_item/config.rs +++ b/crates/ink/ir/src/ir/storage_item/config.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/storage_item/mod.rs b/crates/ink/ir/src/ir/storage_item/mod.rs index b0ae9a00a7..a37a8f0efc 100644 --- a/crates/ink/ir/src/ir/storage_item/mod.rs +++ b/crates/ink/ir/src/ir/storage_item/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/config.rs b/crates/ink/ir/src/ir/trait_def/config.rs index 4b4737179f..acde019fc1 100644 --- a/crates/ink/ir/src/ir/trait_def/config.rs +++ b/crates/ink/ir/src/ir/trait_def/config.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/item/iter.rs b/crates/ink/ir/src/ir/trait_def/item/iter.rs index 84a24972fb..b630a4e14b 100644 --- a/crates/ink/ir/src/ir/trait_def/item/iter.rs +++ b/crates/ink/ir/src/ir/trait_def/item/iter.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/item/mod.rs b/crates/ink/ir/src/ir/trait_def/item/mod.rs index 0ef4f67b7c..8ba95bb352 100644 --- a/crates/ink/ir/src/ir/trait_def/item/mod.rs +++ b/crates/ink/ir/src/ir/trait_def/item/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/item/trait_item.rs b/crates/ink/ir/src/ir/trait_def/item/trait_item.rs index 2017861349..837b152e85 100644 --- a/crates/ink/ir/src/ir/trait_def/item/trait_item.rs +++ b/crates/ink/ir/src/ir/trait_def/item/trait_item.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/mod.rs b/crates/ink/ir/src/ir/trait_def/mod.rs index 82d154c46f..dcad9230cd 100644 --- a/crates/ink/ir/src/ir/trait_def/mod.rs +++ b/crates/ink/ir/src/ir/trait_def/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/trait_def/tests.rs b/crates/ink/ir/src/ir/trait_def/tests.rs index 7777704d40..90894b8fcc 100644 --- a/crates/ink/ir/src/ir/trait_def/tests.rs +++ b/crates/ink/ir/src/ir/trait_def/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/ir/utils.rs b/crates/ink/ir/src/ir/utils.rs index 73beeb007a..638886c7c4 100644 --- a/crates/ink/ir/src/ir/utils.rs +++ b/crates/ink/ir/src/ir/utils.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/lib.rs b/crates/ink/ir/src/lib.rs index 6aaeaff802..fd5de9c61f 100644 --- a/crates/ink/ir/src/lib.rs +++ b/crates/ink/ir/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/ir/src/literal.rs b/crates/ink/ir/src/literal.rs index 819593be33..68d522800a 100644 --- a/crates/ink/ir/src/literal.rs +++ b/crates/ink/ir/src/literal.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/Cargo.toml b/crates/ink/macro/Cargo.toml index 08692ddbe7..fec3e2e6f3 100644 --- a/crates/ink/macro/Cargo.toml +++ b/crates/ink/macro/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_macro" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true @@ -43,6 +43,6 @@ std = [ "ink_codegen/std", "ink_ir/std", "ink_primitives/std", - "scale/std", + "scale/std", "scale-info/std" ] diff --git a/crates/ink/macro/src/blake2b.rs b/crates/ink/macro/src/blake2b.rs index 27e8fc1d52..32f69d592d 100644 --- a/crates/ink/macro/src/blake2b.rs +++ b/crates/ink/macro/src/blake2b.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/chain_extension.rs b/crates/ink/macro/src/chain_extension.rs index 2220152aa9..dde6e80f3d 100644 --- a/crates/ink/macro/src/chain_extension.rs +++ b/crates/ink/macro/src/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/contract.rs b/crates/ink/macro/src/contract.rs index 7a3d864e44..779ce3192d 100644 --- a/crates/ink/macro/src/contract.rs +++ b/crates/ink/macro/src/contract.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/event/metadata.rs b/crates/ink/macro/src/event/metadata.rs index 60089c4279..45573602b0 100644 --- a/crates/ink/macro/src/event/metadata.rs +++ b/crates/ink/macro/src/event/metadata.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/event/mod.rs b/crates/ink/macro/src/event/mod.rs index 5f438fb553..7a7d53266a 100644 --- a/crates/ink/macro/src/event/mod.rs +++ b/crates/ink/macro/src/event/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/ink_test.rs b/crates/ink/macro/src/ink_test.rs index d7b4130ab8..f694270f55 100644 --- a/crates/ink/macro/src/ink_test.rs +++ b/crates/ink/macro/src/ink_test.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/lib.rs b/crates/ink/macro/src/lib.rs index d367d6836b..82b7413ee9 100644 --- a/crates/ink/macro/src/lib.rs +++ b/crates/ink/macro/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/scale.rs b/crates/ink/macro/src/scale.rs index 52bce8a2ea..f719e5b0d2 100644 --- a/crates/ink/macro/src/scale.rs +++ b/crates/ink/macro/src/scale.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/selector.rs b/crates/ink/macro/src/selector.rs index 889f52c3e2..3274575cde 100644 --- a/crates/ink/macro/src/selector.rs +++ b/crates/ink/macro/src/selector.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage/mod.rs b/crates/ink/macro/src/storage/mod.rs index 4705b15d5c..b1568e0363 100644 --- a/crates/ink/macro/src/storage/mod.rs +++ b/crates/ink/macro/src/storage/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage/storable.rs b/crates/ink/macro/src/storage/storable.rs index e94d68ec1e..c3a7d9e086 100644 --- a/crates/ink/macro/src/storage/storable.rs +++ b/crates/ink/macro/src/storage/storable.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage/storable_hint.rs b/crates/ink/macro/src/storage/storable_hint.rs index 7d8d9c71b4..de59e7a4b5 100644 --- a/crates/ink/macro/src/storage/storable_hint.rs +++ b/crates/ink/macro/src/storage/storable_hint.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage/storage_key.rs b/crates/ink/macro/src/storage/storage_key.rs index a08edfcb6a..3a0c4e5454 100644 --- a/crates/ink/macro/src/storage/storage_key.rs +++ b/crates/ink/macro/src/storage/storage_key.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage/storage_layout.rs b/crates/ink/macro/src/storage/storage_layout.rs index 6c1f2dce82..b08ce7d2fd 100644 --- a/crates/ink/macro/src/storage/storage_layout.rs +++ b/crates/ink/macro/src/storage/storage_layout.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/storage_item.rs b/crates/ink/macro/src/storage_item.rs index bdffdf49ea..74679bdb3a 100644 --- a/crates/ink/macro/src/storage_item.rs +++ b/crates/ink/macro/src/storage_item.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/event.rs b/crates/ink/macro/src/tests/event.rs index 056498c223..bd48c453b1 100644 --- a/crates/ink/macro/src/tests/event.rs +++ b/crates/ink/macro/src/tests/event.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/event_metadata.rs b/crates/ink/macro/src/tests/event_metadata.rs index 196b33c3e8..ab6e9b8fb8 100644 --- a/crates/ink/macro/src/tests/event_metadata.rs +++ b/crates/ink/macro/src/tests/event_metadata.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/mod.rs b/crates/ink/macro/src/tests/mod.rs index 1844132ad1..9481b2479a 100644 --- a/crates/ink/macro/src/tests/mod.rs +++ b/crates/ink/macro/src/tests/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/storable.rs b/crates/ink/macro/src/tests/storable.rs index 50a96ecba2..4071a2d341 100644 --- a/crates/ink/macro/src/tests/storable.rs +++ b/crates/ink/macro/src/tests/storable.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/storable_hint.rs b/crates/ink/macro/src/tests/storable_hint.rs index 9429adc87c..8496b8ce9f 100644 --- a/crates/ink/macro/src/tests/storable_hint.rs +++ b/crates/ink/macro/src/tests/storable_hint.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/storage_key.rs b/crates/ink/macro/src/tests/storage_key.rs index fa7fe44743..941141d924 100644 --- a/crates/ink/macro/src/tests/storage_key.rs +++ b/crates/ink/macro/src/tests/storage_key.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/tests/storage_layout.rs b/crates/ink/macro/src/tests/storage_layout.rs index 07595102d5..43a646a928 100644 --- a/crates/ink/macro/src/tests/storage_layout.rs +++ b/crates/ink/macro/src/tests/storage_layout.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/macro/src/trait_def.rs b/crates/ink/macro/src/trait_def.rs index 3e1e12fec9..52fc09727c 100644 --- a/crates/ink/macro/src/trait_def.rs +++ b/crates/ink/macro/src/trait_def.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/chain_extension.rs b/crates/ink/src/chain_extension.rs index 26980bd9b1..254b36f520 100644 --- a/crates/ink/src/chain_extension.rs +++ b/crates/ink/src/chain_extension.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/dispatch/execution.rs b/crates/ink/src/codegen/dispatch/execution.rs index 1ed27639a1..17b9ed5b33 100644 --- a/crates/ink/src/codegen/dispatch/execution.rs +++ b/crates/ink/src/codegen/dispatch/execution.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/dispatch/info.rs b/crates/ink/src/codegen/dispatch/info.rs index cdc37a6c25..40e1a90051 100644 --- a/crates/ink/src/codegen/dispatch/info.rs +++ b/crates/ink/src/codegen/dispatch/info.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/dispatch/mod.rs b/crates/ink/src/codegen/dispatch/mod.rs index 8faccea3d1..7a621b9e23 100644 --- a/crates/ink/src/codegen/dispatch/mod.rs +++ b/crates/ink/src/codegen/dispatch/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/dispatch/type_check.rs b/crates/ink/src/codegen/dispatch/type_check.rs index 6f190459bd..ad88aed800 100644 --- a/crates/ink/src/codegen/dispatch/type_check.rs +++ b/crates/ink/src/codegen/dispatch/type_check.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/env.rs b/crates/ink/src/codegen/env.rs index 6b57c3d650..30fa046d9b 100644 --- a/crates/ink/src/codegen/env.rs +++ b/crates/ink/src/codegen/env.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/implies_return.rs b/crates/ink/src/codegen/implies_return.rs index 2d502e8870..bb83fe7377 100644 --- a/crates/ink/src/codegen/implies_return.rs +++ b/crates/ink/src/codegen/implies_return.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/is_same_type.rs b/crates/ink/src/codegen/is_same_type.rs index 0a77c739ec..594617080c 100644 --- a/crates/ink/src/codegen/is_same_type.rs +++ b/crates/ink/src/codegen/is_same_type.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/mod.rs b/crates/ink/src/codegen/mod.rs index fa297d67a6..497fb54fcc 100644 --- a/crates/ink/src/codegen/mod.rs +++ b/crates/ink/src/codegen/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/trait_def/call_builder.rs b/crates/ink/src/codegen/trait_def/call_builder.rs index d85eb1f853..8a7e1402d6 100644 --- a/crates/ink/src/codegen/trait_def/call_builder.rs +++ b/crates/ink/src/codegen/trait_def/call_builder.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/trait_def/mod.rs b/crates/ink/src/codegen/trait_def/mod.rs index 2a922ec338..3671e1b96a 100644 --- a/crates/ink/src/codegen/trait_def/mod.rs +++ b/crates/ink/src/codegen/trait_def/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/trait_def/trait_message.rs b/crates/ink/src/codegen/trait_def/trait_message.rs index e853ad1505..d91050bd47 100644 --- a/crates/ink/src/codegen/trait_def/trait_message.rs +++ b/crates/ink/src/codegen/trait_def/trait_message.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/utils/identity_type.rs b/crates/ink/src/codegen/utils/identity_type.rs index da23f2eace..707dbc06fb 100644 --- a/crates/ink/src/codegen/utils/identity_type.rs +++ b/crates/ink/src/codegen/utils/identity_type.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/utils/mod.rs b/crates/ink/src/codegen/utils/mod.rs index 026b6872e3..b56eec5ba2 100644 --- a/crates/ink/src/codegen/utils/mod.rs +++ b/crates/ink/src/codegen/utils/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/codegen/utils/same_type.rs b/crates/ink/src/codegen/utils/same_type.rs index 8d889c3a57..c2a75d215d 100644 --- a/crates/ink/src/codegen/utils/same_type.rs +++ b/crates/ink/src/codegen/utils/same_type.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/contract_ref.rs b/crates/ink/src/contract_ref.rs index c917ba94b5..2af96cedd2 100644 --- a/crates/ink/src/contract_ref.rs +++ b/crates/ink/src/contract_ref.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/env_access.rs b/crates/ink/src/env_access.rs index 559fd75420..ea6460d6e0 100644 --- a/crates/ink/src/env_access.rs +++ b/crates/ink/src/env_access.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/lib.rs b/crates/ink/src/lib.rs index 6cd7d2c500..3612b6f7b0 100644 --- a/crates/ink/src/lib.rs +++ b/crates/ink/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/option_info.rs b/crates/ink/src/option_info.rs index cbdf18f9d0..3574118e33 100644 --- a/crates/ink/src/option_info.rs +++ b/crates/ink/src/option_info.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/contract.rs b/crates/ink/src/reflect/contract.rs index 37aca432bd..5864d25145 100644 --- a/crates/ink/src/reflect/contract.rs +++ b/crates/ink/src/reflect/contract.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/dispatch.rs b/crates/ink/src/reflect/dispatch.rs index 2ff9822f13..a3155c7e26 100644 --- a/crates/ink/src/reflect/dispatch.rs +++ b/crates/ink/src/reflect/dispatch.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/mod.rs b/crates/ink/src/reflect/mod.rs index 10cc6234dd..79e7fc596e 100644 --- a/crates/ink/src/reflect/mod.rs +++ b/crates/ink/src/reflect/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/trait_def/info.rs b/crates/ink/src/reflect/trait_def/info.rs index 5b13388827..eb446e0921 100644 --- a/crates/ink/src/reflect/trait_def/info.rs +++ b/crates/ink/src/reflect/trait_def/info.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/trait_def/mod.rs b/crates/ink/src/reflect/trait_def/mod.rs index c48c1e7289..5f2410b56b 100644 --- a/crates/ink/src/reflect/trait_def/mod.rs +++ b/crates/ink/src/reflect/trait_def/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/reflect/trait_def/registry.rs b/crates/ink/src/reflect/trait_def/registry.rs index 558a218ff7..af123dd9b8 100644 --- a/crates/ink/src/reflect/trait_def/registry.rs +++ b/crates/ink/src/reflect/trait_def/registry.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/src/result_info.rs b/crates/ink/src/result_info.rs index bc105c1ee3..36904bc4bd 100644 --- a/crates/ink/src/result_info.rs +++ b/crates/ink/src/result_info.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/tests/compile_tests.rs b/crates/ink/tests/compile_tests.rs index 3defa578c2..c3867c2d51 100644 --- a/crates/ink/tests/compile_tests.rs +++ b/crates/ink/tests/compile_tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/tests/events_metadata.rs b/crates/ink/tests/events_metadata.rs index c020763574..cf22f25c03 100644 --- a/crates/ink/tests/events_metadata.rs +++ b/crates/ink/tests/events_metadata.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/ink/tests/return_type_metadata.rs b/crates/ink/tests/return_type_metadata.rs index ebb037672b..0bca2ffcf2 100644 --- a/crates/ink/tests/return_type_metadata.rs +++ b/crates/ink/tests/return_type_metadata.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/Cargo.toml b/crates/metadata/Cargo.toml index 4a4723c1c2..4efbf1210d 100644 --- a/crates/metadata/Cargo.toml +++ b/crates/metadata/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_metadata" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true @@ -36,7 +36,7 @@ std = [ "ink_prelude/std", "ink_primitives/std", "scale-info/std", - "serde/std", + "serde/std", "scale/std" ] derive = [] diff --git a/crates/metadata/src/layout/mod.rs b/crates/metadata/src/layout/mod.rs index fea4d12989..4c3fb2c4a5 100644 --- a/crates/metadata/src/layout/mod.rs +++ b/crates/metadata/src/layout/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/layout/tests.rs b/crates/metadata/src/layout/tests.rs index 0518068b76..60cde20ecc 100644 --- a/crates/metadata/src/layout/tests.rs +++ b/crates/metadata/src/layout/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/layout/validate.rs b/crates/metadata/src/layout/validate.rs index edda825fdb..ffdfde8a71 100644 --- a/crates/metadata/src/layout/validate.rs +++ b/crates/metadata/src/layout/validate.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/lib.rs b/crates/metadata/src/lib.rs index 8d3d4042ff..ceaed35db7 100644 --- a/crates/metadata/src/lib.rs +++ b/crates/metadata/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/specs.rs b/crates/metadata/src/specs.rs index 62ff372b7f..267a73a592 100644 --- a/crates/metadata/src/specs.rs +++ b/crates/metadata/src/specs.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/tests.rs b/crates/metadata/src/tests.rs index 3cf82fe38a..e81067221c 100644 --- a/crates/metadata/src/tests.rs +++ b/crates/metadata/src/tests.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/metadata/src/utils.rs b/crates/metadata/src/utils.rs index 5fbe0ff7e2..85a13d55dd 100644 --- a/crates/metadata/src/utils.rs +++ b/crates/metadata/src/utils.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/prelude/Cargo.toml b/crates/prelude/Cargo.toml index dd7c53e550..7e83ca274f 100644 --- a/crates/prelude/Cargo.toml +++ b/crates/prelude/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_prelude" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/prelude/src/lib.rs b/crates/prelude/src/lib.rs index 9ffb5da2e3..4ed51120b3 100644 --- a/crates/prelude/src/lib.rs +++ b/crates/prelude/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index e167f74b11..874c49af0d 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_primitives" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/primitives/src/key.rs b/crates/primitives/src/key.rs index bf2b066978..d842f66a2a 100644 --- a/crates/primitives/src/key.rs +++ b/crates/primitives/src/key.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index b43c31162b..f7832572f6 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/primitives/src/types.rs b/crates/primitives/src/types.rs index 68bcf97ac9..4185f34e8a 100644 --- a/crates/primitives/src/types.rs +++ b/crates/primitives/src/types.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/Cargo.toml b/crates/storage/Cargo.toml index 5cd12048c7..da69236c79 100644 --- a/crates/storage/Cargo.toml +++ b/crates/storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_storage" version.workspace = true -authors = ["Parity Technologies ", "Robin Freyler "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/storage/src/lazy/mapping.rs b/crates/storage/src/lazy/mapping.rs index b16bbc1aba..80ac5fcff3 100644 --- a/crates/storage/src/lazy/mapping.rs +++ b/crates/storage/src/lazy/mapping.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/src/lazy/mod.rs b/crates/storage/src/lazy/mod.rs index a5e72ecaa0..e3a170c36e 100644 --- a/crates/storage/src/lazy/mod.rs +++ b/crates/storage/src/lazy/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/src/lazy/vec.rs b/crates/storage/src/lazy/vec.rs index bef9a18eb8..8fd4f404d9 100644 --- a/crates/storage/src/lazy/vec.rs +++ b/crates/storage/src/lazy/vec.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/src/lib.rs b/crates/storage/src/lib.rs index 432f9481ad..60846e7ca1 100644 --- a/crates/storage/src/lib.rs +++ b/crates/storage/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/traits/src/impls/mod.rs b/crates/storage/traits/src/impls/mod.rs index b86f62db4c..754dbf1240 100644 --- a/crates/storage/traits/src/impls/mod.rs +++ b/crates/storage/traits/src/impls/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/traits/src/layout/impls.rs b/crates/storage/traits/src/layout/impls.rs index 93f5f69708..83ee842d12 100644 --- a/crates/storage/traits/src/layout/impls.rs +++ b/crates/storage/traits/src/layout/impls.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/traits/src/layout/mod.rs b/crates/storage/traits/src/layout/mod.rs index 4a173976c7..fa0080cb61 100644 --- a/crates/storage/traits/src/layout/mod.rs +++ b/crates/storage/traits/src/layout/mod.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/traits/src/lib.rs b/crates/storage/traits/src/lib.rs index 465676ea25..589afffe0c 100644 --- a/crates/storage/traits/src/lib.rs +++ b/crates/storage/traits/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/storage/traits/src/storage.rs b/crates/storage/traits/src/storage.rs index 42cd467b03..bcb052e1a2 100644 --- a/crates/storage/traits/src/storage.rs +++ b/crates/storage/traits/src/storage.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/integration-tests/internal/call-builder-return-value/Cargo.toml b/integration-tests/internal/call-builder-return-value/Cargo.toml index 816c78d61f..a77cd8504f 100755 --- a/integration-tests/internal/call-builder-return-value/Cargo.toml +++ b/integration-tests/internal/call-builder-return-value/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder_return_value" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml b/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml index 6df7da1d02..733ede1080 100644 --- a/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml +++ b/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "e2e-runtime-only-backend" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml b/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml index 6c2ccb23d1..6e68a19a29 100755 --- a/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml +++ b/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder_delegate" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/call-builder/Cargo.toml b/integration-tests/internal/lang-err/call-builder/Cargo.toml index 7bf615efcd..37d3af9091 100755 --- a/integration-tests/internal/lang-err/call-builder/Cargo.toml +++ b/integration-tests/internal/lang-err/call-builder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml b/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml index 2d5138cb01..40135798e6 100644 --- a/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml +++ b/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "constructors_return_value" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/contract-ref/Cargo.toml b/integration-tests/internal/lang-err/contract-ref/Cargo.toml index 5e113a47ba..8c2476325d 100755 --- a/integration-tests/internal/lang-err/contract-ref/Cargo.toml +++ b/integration-tests/internal/lang-err/contract-ref/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_ref" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/internal/lang-err/integration-flipper/Cargo.toml b/integration-tests/internal/lang-err/integration-flipper/Cargo.toml index 32c7c8279d..2112ce592c 100644 --- a/integration-tests/internal/lang-err/integration-flipper/Cargo.toml +++ b/integration-tests/internal/lang-err/integration-flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "integration_flipper" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/mother/Cargo.toml b/integration-tests/internal/mother/Cargo.toml index 47bb412d2b..bd75ca348f 100755 --- a/integration-tests/internal/mother/Cargo.toml +++ b/integration-tests/internal/mother/Cargo.toml @@ -2,7 +2,7 @@ name = "mother" description = "Mother of all contracts" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/sr25519-verification/Cargo.toml b/integration-tests/internal/sr25519-verification/Cargo.toml index f376d025f0..ea2b181d14 100644 --- a/integration-tests/internal/sr25519-verification/Cargo.toml +++ b/integration-tests/internal/sr25519-verification/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sr25519_verification" version = "5.0.0" -authors = ["Parity Technologies ", "George Oastler "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/call-runtime/Cargo.toml b/integration-tests/public/call-runtime/Cargo.toml index 7134f80823..bd5566ee8c 100644 --- a/integration-tests/public/call-runtime/Cargo.toml +++ b/integration-tests/public/call-runtime/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call-runtime" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/combined-extension/Cargo.toml b/integration-tests/public/combined-extension/Cargo.toml index e637c9044d..41765d7868 100755 --- a/integration-tests/public/combined-extension/Cargo.toml +++ b/integration-tests/public/combined-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "combined_extension" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/conditional-compilation/Cargo.toml b/integration-tests/public/conditional-compilation/Cargo.toml index 5ff451eb95..d4996d7e54 100755 --- a/integration-tests/public/conditional-compilation/Cargo.toml +++ b/integration-tests/public/conditional-compilation/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "conditional-compilation" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/contract-storage/Cargo.toml b/integration-tests/public/contract-storage/Cargo.toml index 6992c397ea..20f77ab1b7 100755 --- a/integration-tests/public/contract-storage/Cargo.toml +++ b/integration-tests/public/contract-storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract-storage" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/contract-terminate/Cargo.toml b/integration-tests/public/contract-terminate/Cargo.toml index e7307aab8e..c71f195740 100644 --- a/integration-tests/public/contract-terminate/Cargo.toml +++ b/integration-tests/public/contract-terminate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_terminate" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/contract-transfer/Cargo.toml b/integration-tests/public/contract-transfer/Cargo.toml index d643ecb41d..1e4bdaac25 100644 --- a/integration-tests/public/contract-transfer/Cargo.toml +++ b/integration-tests/public/contract-transfer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_transfer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/cross-contract-calls/Cargo.toml b/integration-tests/public/cross-contract-calls/Cargo.toml index cea1a119d2..9488bcce5b 100755 --- a/integration-tests/public/cross-contract-calls/Cargo.toml +++ b/integration-tests/public/cross-contract-calls/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "cross-contract-calls" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml b/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml index ada236ce8f..2b391ad7f4 100755 --- a/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml +++ b/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "other-contract" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/custom-allocator/Cargo.toml b/integration-tests/public/custom-allocator/Cargo.toml index 2c1d3713e8..d2c6899ea0 100755 --- a/integration-tests/public/custom-allocator/Cargo.toml +++ b/integration-tests/public/custom-allocator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "custom-allocator" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/custom-environment/Cargo.toml b/integration-tests/public/custom-environment/Cargo.toml index ccb57e0929..001f54771f 100644 --- a/integration-tests/public/custom-environment/Cargo.toml +++ b/integration-tests/public/custom-environment/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "custom-environment" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/dns/Cargo.toml b/integration-tests/public/dns/Cargo.toml index 144fbb41a7..891215a063 100644 --- a/integration-tests/public/dns/Cargo.toml +++ b/integration-tests/public/dns/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dns" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/e2e-call-runtime/Cargo.toml b/integration-tests/public/e2e-call-runtime/Cargo.toml index ae6925a695..521f108b7b 100644 --- a/integration-tests/public/e2e-call-runtime/Cargo.toml +++ b/integration-tests/public/e2e-call-runtime/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "e2e_call_runtime" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc1155/Cargo.toml b/integration-tests/public/erc1155/Cargo.toml index 1f7fcb17ce..95ce767eef 100644 --- a/integration-tests/public/erc1155/Cargo.toml +++ b/integration-tests/public/erc1155/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc1155" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc20/Cargo.toml b/integration-tests/public/erc20/Cargo.toml index 58330dec83..985e49ef8c 100644 --- a/integration-tests/public/erc20/Cargo.toml +++ b/integration-tests/public/erc20/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc20" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc721/Cargo.toml b/integration-tests/public/erc721/Cargo.toml index 43d558862f..7e9b522085 100644 --- a/integration-tests/public/erc721/Cargo.toml +++ b/integration-tests/public/erc721/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc721" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/events/Cargo.toml b/integration-tests/public/events/Cargo.toml index eb421f1ac1..00d465e5b8 100644 --- a/integration-tests/public/events/Cargo.toml +++ b/integration-tests/public/events/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "events" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/flipper/Cargo.toml b/integration-tests/public/flipper/Cargo.toml index 830dcefb84..bd9d854d94 100644 --- a/integration-tests/public/flipper/Cargo.toml +++ b/integration-tests/public/flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "flipper" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/incrementer/Cargo.toml b/integration-tests/public/incrementer/Cargo.toml index f8f9116409..18a445e9e6 100644 --- a/integration-tests/public/incrementer/Cargo.toml +++ b/integration-tests/public/incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/lazyvec/Cargo.toml b/integration-tests/public/lazyvec/Cargo.toml index 5ddc0b4fd2..1867d45c67 100755 --- a/integration-tests/public/lazyvec/Cargo.toml +++ b/integration-tests/public/lazyvec/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lazyvec" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/mapping/Cargo.toml b/integration-tests/public/mapping/Cargo.toml index efd43d9c7f..a76b5b4e23 100755 --- a/integration-tests/public/mapping/Cargo.toml +++ b/integration-tests/public/mapping/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "mapping" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/multi-contract-caller/Cargo.toml b/integration-tests/public/multi-contract-caller/Cargo.toml index 1f5ea65dcb..ee61a7a4d7 100644 --- a/integration-tests/public/multi-contract-caller/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "multi-contract-caller" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml b/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml index f5bc1d137d..176949820b 100644 --- a/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "accumulator" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multi-contract-caller/adder/Cargo.toml b/integration-tests/public/multi-contract-caller/adder/Cargo.toml index 640f809dd6..3dc5f512d2 100644 --- a/integration-tests/public/multi-contract-caller/adder/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multi-contract-caller/subber/Cargo.toml b/integration-tests/public/multi-contract-caller/subber/Cargo.toml index b29a12e981..792b7035f7 100644 --- a/integration-tests/public/multi-contract-caller/subber/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/subber/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "subber" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multisig/Cargo.toml b/integration-tests/public/multisig/Cargo.toml index 1f02fe36e9..9d9c7eedfc 100755 --- a/integration-tests/public/multisig/Cargo.toml +++ b/integration-tests/public/multisig/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "multisig" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/payment-channel/Cargo.toml b/integration-tests/public/payment-channel/Cargo.toml index b052eca9a8..2b402e0ae4 100755 --- a/integration-tests/public/payment-channel/Cargo.toml +++ b/integration-tests/public/payment-channel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "payment_channel" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/psp22-extension/Cargo.toml b/integration-tests/public/psp22-extension/Cargo.toml index c4dda5e800..f06daa8877 100755 --- a/integration-tests/public/psp22-extension/Cargo.toml +++ b/integration-tests/public/psp22-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "psp22_extension" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/rand-extension/Cargo.toml b/integration-tests/public/rand-extension/Cargo.toml index 37d1a06f9c..98ead91b06 100755 --- a/integration-tests/public/rand-extension/Cargo.toml +++ b/integration-tests/public/rand-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "rand_extension" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/runtime-call-contract/Cargo.toml b/integration-tests/public/runtime-call-contract/Cargo.toml index 4905414def..7f6fc8613b 100644 --- a/integration-tests/public/runtime-call-contract/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/Cargo.toml @@ -2,7 +2,7 @@ members = ["sandbox-runtime", "traits"] [workspace.package] -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" homepage = "https://www.parity.io/" keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"] @@ -19,7 +19,7 @@ scale-info = { version = "2.11.1", default-features = false } [package] name = "runtime-call-contract" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml index 2862b50032..8708796900 100644 --- a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml @@ -2,7 +2,7 @@ name = "pallet-contract-caller" version = "0.1.0" description = "Demonstrate calling an ink! contract from a pallet" -authors = ["Substrate DevHub "] +authors = ["Use Ink "] homepage = "https://substrate.io" edition.workspace = true license = "MIT-0" diff --git a/integration-tests/public/runtime-call-contract/traits/Cargo.toml b/integration-tests/public/runtime-call-contract/traits/Cargo.toml index c42ea422cd..a0002c2e3a 100644 --- a/integration-tests/public/runtime-call-contract/traits/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "flipper-traits" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/static-buffer/Cargo.toml b/integration-tests/public/static-buffer/Cargo.toml index bdf1fdddf8..2ed11bff43 100644 --- a/integration-tests/public/static-buffer/Cargo.toml +++ b/integration-tests/public/static-buffer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "static-buffer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml index badad1595e..f1233e4faf 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer-caller" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml index d3a506d73b..ea74f139da 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml index 6c5b178c1f..b1faff99bb 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dyn-traits" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-erc20/Cargo.toml b/integration-tests/public/trait-erc20/Cargo.toml index bb092de4ae..c9e2a2fced 100644 --- a/integration-tests/public/trait-erc20/Cargo.toml +++ b/integration-tests/public/trait-erc20/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait_erc20" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-flipper/Cargo.toml b/integration-tests/public/trait-flipper/Cargo.toml index 1c7de388a8..56b61c3517 100644 --- a/integration-tests/public/trait-flipper/Cargo.toml +++ b/integration-tests/public/trait-flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait_flipper" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-incrementer/Cargo.toml b/integration-tests/public/trait-incrementer/Cargo.toml index b4c5637cd7..2d71c55920 100644 --- a/integration-tests/public/trait-incrementer/Cargo.toml +++ b/integration-tests/public/trait-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-incrementer/traits/Cargo.toml b/integration-tests/public/trait-incrementer/traits/Cargo.toml index 8704ef47dc..eff1c934b2 100644 --- a/integration-tests/public/trait-incrementer/traits/Cargo.toml +++ b/integration-tests/public/trait-incrementer/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "traits" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-incrementer/traits/lib.rs b/integration-tests/public/trait-incrementer/traits/lib.rs index 23cc0244a1..df0b3b608f 100644 --- a/integration-tests/public/trait-incrementer/traits/lib.rs +++ b/integration-tests/public/trait-incrementer/traits/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml index 42d0bb1bae..2b4d06f4d5 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegator" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml index c1d2d3a3c3..2a84b03bf6 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegatee" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml index 4de3f1f682..6da4843d78 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegatee2" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml index fd5402e156..acf9a8d4c2 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0-alpha" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml index 25aded7059..1f7da5016c 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "migration" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml index 0e821455f2..478f7f7067 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "updated-incrementer" version = "5.0.0-alpha" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml index d690fddd13..9e1acacd1a 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml index 655dd9c1df..03cf1f2aae 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "updated-incrementer" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/wildcard-selector/Cargo.toml b/integration-tests/public/wildcard-selector/Cargo.toml index f19a9ef224..b5233a0ef2 100644 --- a/integration-tests/public/wildcard-selector/Cargo.toml +++ b/integration-tests/public/wildcard-selector/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wildcard-selector" version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/linting/Cargo.toml b/linting/Cargo.toml index eaf4de00c5..d590643721 100644 --- a/linting/Cargo.toml +++ b/linting/Cargo.toml @@ -8,7 +8,7 @@ members = [ [workspace.package] version = "5.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" license = "Apache-2.0" repository = "https://github.com/use-ink/ink" diff --git a/linting/extra/src/lib.rs b/linting/extra/src/lib.rs index 19c7ebe69a..7e9c0e4f76 100644 --- a/linting/extra/src/lib.rs +++ b/linting/extra/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/extra/src/non_fallible_api.rs b/linting/extra/src/non_fallible_api.rs index cddcd422e1..98549b0223 100644 --- a/linting/extra/src/non_fallible_api.rs +++ b/linting/extra/src/non_fallible_api.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/extra/src/primitive_topic.rs b/linting/extra/src/primitive_topic.rs index 1e61d109a2..13f91f9a93 100644 --- a/linting/extra/src/primitive_topic.rs +++ b/linting/extra/src/primitive_topic.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/extra/src/storage_never_freed.rs b/linting/extra/src/storage_never_freed.rs index bee48966a6..d60638ae6b 100644 --- a/linting/extra/src/storage_never_freed.rs +++ b/linting/extra/src/storage_never_freed.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/extra/src/strict_balance_equality.rs b/linting/extra/src/strict_balance_equality.rs index 4f9563db95..7a361b7a47 100644 --- a/linting/extra/src/strict_balance_equality.rs +++ b/linting/extra/src/strict_balance_equality.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/mandatory/src/lib.rs b/linting/mandatory/src/lib.rs index 02b94a34b3..f054963bfa 100644 --- a/linting/mandatory/src/lib.rs +++ b/linting/mandatory/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/mandatory/src/no_main.rs b/linting/mandatory/src/no_main.rs index 28258f2b4f..f329eafac6 100644 --- a/linting/mandatory/src/no_main.rs +++ b/linting/mandatory/src/no_main.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/linting/utils/src/lib.rs b/linting/utils/src/lib.rs index dab32cc36c..3b1bbe945d 100644 --- a/linting/utils/src/lib.rs +++ b/linting/utils/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright (C) Parity Technologies (UK) Ltd. +// Copyright (C) Use Ink (UK) Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 330fe1e3c405cada37eeef8e8a13aa7ee90e8f01 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Fri, 26 Apr 2024 12:48:20 +0100 Subject: [PATCH 24/51] Environment agnostic contract invocation API (#2219) * WIP ideas * Add invocation * SP * Warnings * WIP add info trait * Revert "WIP add info trait" This reverts commit 081d7185dc1f900215f510cb498587f168ea21c2. * WIP TraitCallBuilder * Revert "WIP TraitCallBuilder" This reverts commit 667ad39638b3c460028f19d4fff7b27d8ae11047. * Generate and wire up TraitMessageBuilder * trait impl * Utilize message builder from call builder * Use type inference * Try to use new API... * Add storage deposit limit * Add sandbox err message * Revert "Add sandbox err message" This reverts commit cf1b94fd00a6b34397d3bfec0a357b0b1af3c306. * message_builder! * Invoker Error type * Invoker -> Executor * Extract executor to separate file * Access TraitCallBuilder from as-dependency call builder * docs * executor ref and move message_builder to own file + docs * executor ref and move message_builder to own file + docs * remove message_builder * message_builder docs * fix message_builder doc tests * remove conflicting message builder impl * fmt * UI tests * docs * update copypasta comments * license headers * CHANGELOG.md --- CHANGELOG.md | 1 + crates/env/src/call/call_builder.rs | 22 ++ .../call/{execution_input.rs => execution.rs} | 54 ++++- crates/env/src/call/mod.rs | 10 +- .../src/generator/trait_def/call_builder.rs | 60 +++-- .../generator/trait_def/message_builder.rs | 218 ++++++++++++++++++ .../codegen/src/generator/trait_def/mod.rs | 3 + .../src/generator/trait_def/trait_registry.rs | 8 + crates/ink/src/codegen/implies_return.rs | 3 + crates/ink/src/codegen/mod.rs | 1 + .../ink/src/codegen/trait_def/call_builder.rs | 6 + crates/ink/src/codegen/trait_def/mod.rs | 1 + crates/ink/src/lib.rs | 1 + crates/ink/src/message_builder.rs | 147 ++++++++++++ .../fail/constructor-input-non-codec.stderr | 2 +- .../fail/message-input-non-codec.stderr | 4 +- .../fail/message_input_non_codec.stderr | 23 +- .../fail/message_output_non_codec.stderr | 21 ++ .../public/runtime-call-contract/Cargo.toml | 1 + .../public/runtime-call-contract/e2e_tests.rs | 1 + .../pallet-contract-caller/Cargo.toml | 2 + .../pallet-contract-caller/src/executor.rs | 59 +++++ .../pallet-contract-caller/src/lib.rs | 59 ++--- 23 files changed, 647 insertions(+), 60 deletions(-) rename crates/env/src/call/{execution_input.rs => execution.rs} (83%) create mode 100644 crates/ink/codegen/src/generator/trait_def/message_builder.rs create mode 100644 crates/ink/src/message_builder.rs create mode 100644 integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/executor.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fd1d75732..50bd37087a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - [Linter] Add links to detailed lint description ‒ [#2170](https://github.com/use-ink/ink/pull/2170) +- Environment agnostic contract invocation API ‒ [#219](https://github.com/use-ink/ink/pull/2219) ### Changed - [E2E] Update `subxt` and `polkadot-sdk` dependencies ‒ [#2174](https://github.com/use-ink/ink/pull/2174) diff --git a/crates/env/src/call/call_builder.rs b/crates/env/src/call/call_builder.rs index 45526106d9..056aa03400 100644 --- a/crates/env/src/call/call_builder.rs +++ b/crates/env/src/call/call_builder.rs @@ -20,6 +20,7 @@ use crate::{ Set, Unset, }, + Execution, ExecutionInput, }, types::Gas, @@ -513,6 +514,27 @@ where _phantom: PhantomData E>, } +impl From> + for CallBuilder< + E, + Unset>, + Set>, + Set>, + > +where + E: Environment, +{ + fn from(invoke: Execution) -> Self { + CallBuilder { + call_type: Default::default(), + call_flags: CallFlags::empty(), + exec_input: Set(invoke.input), + return_type: Set(invoke.output), + _phantom: Default::default(), + } + } +} + impl CallBuilder, Args, RetType> where E: Environment, diff --git a/crates/env/src/call/execution_input.rs b/crates/env/src/call/execution.rs similarity index 83% rename from crates/env/src/call/execution_input.rs rename to crates/env/src/call/execution.rs index 54ac1f7042..1a87a5dffe 100644 --- a/crates/env/src/call/execution_input.rs +++ b/crates/env/src/call/execution.rs @@ -12,7 +12,59 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::call::Selector; +use super::{ + utils::ReturnType, + Selector, +}; +use crate::Environment; + +/// The input data and the expected return type of a contract execution. +pub struct Execution { + /// The input data for initiating a contract execution. + pub input: ExecutionInput, + /// The type of the expected return value of the contract execution. + pub output: ReturnType, +} + +impl Execution +where + Args: scale::Encode, + Output: scale::Decode, +{ + /// Construct a new contract execution with the given input data. + pub fn new(input: ExecutionInput) -> Self { + Self { + input, + output: ReturnType::default(), + } + } + + /// Perform the execution of the contract with the given executor. + pub fn exec( + self, + executor: &I, + ) -> Result, I::Error> + where + E: Environment, + I: Executor, + { + executor.exec(&self.input) + } +} + +/// Implemented in different environments to perform contract execution. +pub trait Executor { + /// The type of the error that can be returned during execution. + type Error; + /// Perform the contract execution with the given input data, and return the result. + fn exec( + &self, + input: &ExecutionInput, + ) -> Result, Self::Error> + where + Args: scale::Encode, + Output: scale::Decode; +} /// The input data for a smart contract execution. #[derive(Clone, Default, Debug)] diff --git a/crates/env/src/call/mod.rs b/crates/env/src/call/mod.rs index 962b60376c..59156e2395 100644 --- a/crates/env/src/call/mod.rs +++ b/crates/env/src/call/mod.rs @@ -17,7 +17,7 @@ mod call_builder; mod common; mod create_builder; -mod execution_input; +mod execution; mod selector; /// Utility types for the cross-contract calling API. @@ -29,7 +29,7 @@ pub mod utils { Unset, Unwrap, }, - execution_input::{ + execution::{ ArgsList, Argument, ArgumentList, @@ -58,6 +58,10 @@ pub use self::{ LimitParamsV1, LimitParamsV2, }, - execution_input::ExecutionInput, + execution::{ + Execution, + ExecutionInput, + Executor, + }, selector::Selector, }; diff --git a/crates/ink/codegen/src/generator/trait_def/call_builder.rs b/crates/ink/codegen/src/generator/trait_def/call_builder.rs index ac8b6cda26..f111fb2e88 100644 --- a/crates/ink/codegen/src/generator/trait_def/call_builder.rs +++ b/crates/ink/codegen/src/generator/trait_def/call_builder.rs @@ -59,12 +59,14 @@ impl GenerateCode for CallBuilder<'_> { let storage_layout_impl = self.generate_storage_layout_impl(); let auxiliary_trait_impls = self.generate_auxiliary_trait_impls(); let to_from_account_id_impls = self.generate_to_from_account_id_impls(); + let message_builder_trait_impl = self.generate_message_builder_trait_impl(); let ink_trait_impl = self.generate_ink_trait_impl(); quote! { #struct_definition #storage_layout_impl #auxiliary_trait_impls #to_from_account_id_impls + #message_builder_trait_impl #ink_trait_impl } } @@ -271,6 +273,28 @@ impl CallBuilder<'_> { ) } + /// Generate the trait implementation for `MessageBuilder` for the ink! trait call + /// builder. + /// + /// # Note + /// + /// Through the implementation of this trait it is possible to refer to the + /// ink! trait messsage builder that is associated to this ink! trait call builder. + fn generate_message_builder_trait_impl(&self) -> TokenStream2 { + let span = self.trait_def.span(); + let call_builder_ident = self.ident(); + let message_builder_ident = self.trait_def.message_builder_ident(); + quote_spanned!(span=> + /// This trait allows to bridge from the call builder to message builder. + impl ::ink::codegen::TraitMessageBuilder for #call_builder_ident + where + E: ::ink::env::Environment + { + type MessageBuilder = #message_builder_ident; + } + ) + } + /// Generates the implementation of the associated ink! trait definition. /// /// # Note @@ -310,10 +334,9 @@ impl CallBuilder<'_> { /// builder. fn generate_ink_trait_impl_messages(&self) -> TokenStream2 { let messages = self.trait_def.trait_def.item().iter_items().filter_map( - |(item, selector)| { - item.filter_map_message().map(|message| { - self.generate_ink_trait_impl_for_message(&message, selector) - }) + |(item, _selector)| { + item.filter_map_message() + .map(|message| self.generate_ink_trait_impl_for_message(&message)) }, ); quote! { @@ -326,9 +349,9 @@ impl CallBuilder<'_> { fn generate_ink_trait_impl_for_message( &self, message: &ir::InkTraitMessage, - selector: ir::Selector, ) -> TokenStream2 { let span = message.span(); + let trait_ident = self.trait_def.trait_def.item().ident(); let message_ident = message.ident(); let attrs = self .trait_def @@ -340,7 +363,6 @@ impl CallBuilder<'_> { let output = message.output(); let output_type = output.map_or_else(|| quote! { () }, |output| quote! { #output }); - let selector_bytes = selector.hex_lits(); let input_bindings = generator::input_bindings(message.inputs()); let input_types = generator::input_types(message.inputs()); let arg_list = generator::generate_argument_list(input_types.iter().cloned()); @@ -362,17 +384,23 @@ impl CallBuilder<'_> { & #mut_tok self #( , #input_bindings : #input_types )* ) -> Self::#output_ident { - ::ink::env::call::build_call::() - .call(::ink::ToAccountId::to_account_id(self)) - .exec_input( - ::ink::env::call::ExecutionInput::new( - ::ink::env::call::Selector::new([ #( #selector_bytes ),* ]) + <::ink::env::call::CallBuilder< + Self::Env, + ::ink::env::call::utils::Unset< ::ink::env::call::Call< Self::Env > >, + ::ink::env::call::utils::Set< ::ink::env::call::ExecutionInput<#arg_list> >, + ::ink::env::call::utils::Set< ::ink::env::call::utils::ReturnType<#output_type> >, + > as ::core::convert::From::<_>>::from( + <::MessageBuilder as #trait_ident> + ::#message_ident( + & #mut_tok <::MessageBuilder + as ::core::default::Default>::default() + #( + , #input_bindings + )* ) - #( - .push_arg(#input_bindings) - )* - ) - .returns::<#output_type>() + ) + .call(::ink::ToAccountId::to_account_id(self)) } ) } diff --git a/crates/ink/codegen/src/generator/trait_def/message_builder.rs b/crates/ink/codegen/src/generator/trait_def/message_builder.rs new file mode 100644 index 0000000000..1864e8aab1 --- /dev/null +++ b/crates/ink/codegen/src/generator/trait_def/message_builder.rs @@ -0,0 +1,218 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use super::TraitDefinition; +use crate::{ + generator, + traits::GenerateCode, +}; +use derive_more::From; +use proc_macro2::{ + Span, + TokenStream as TokenStream2, +}; +use quote::{ + quote, + quote_spanned, +}; + +impl<'a> TraitDefinition<'a> { + /// Generates code for the global trait call builder for an ink! trait. + /// + /// # Note + /// + /// - The generated call builder type implements the ink! trait definition and allows + /// to build up contract calls that allow for customization by the user to provide + /// gas limit, endowment etc. + /// - The call builder is used directly by the generated call forwarder. There exists + /// one global call forwarder and call builder pair for every ink! trait definition. + pub fn generate_message_builder(&self) -> TokenStream2 { + MessageBuilder::from(*self).generate_code() + } + + /// The identifier of the ink! trait message builder. + pub fn message_builder_ident(&self) -> syn::Ident { + self.append_trait_suffix(MessageBuilder::SUFFIX) + } +} + +/// Generates code for the global ink! trait call builder. +#[derive(From)] +struct MessageBuilder<'a> { + trait_def: TraitDefinition<'a>, +} + +impl GenerateCode for MessageBuilder<'_> { + fn generate_code(&self) -> TokenStream2 { + let struct_definition = self.generate_struct_definition(); + let auxiliary_trait_impls = self.generate_auxiliary_trait_impls(); + let ink_trait_impl = self.generate_ink_trait_impl(); + quote! { + #struct_definition + #auxiliary_trait_impls + #ink_trait_impl + } + } +} + +impl MessageBuilder<'_> { + /// The name suffix for ink! trait message builder. + const SUFFIX: &'static str = "TraitMessageBuilder"; + + /// Returns the span of the ink! trait definition. + fn span(&self) -> Span { + self.trait_def.span() + } + + /// Generates the struct type definition for the account wrapper type. + /// + /// This type is going to implement the trait so that invoking its trait + /// methods will return an `Execution` instance populated with the message selector, + /// arguments and return type, which can then be executed via the `exec` method. + fn generate_struct_definition(&self) -> TokenStream2 { + let span = self.span(); + let message_builder_ident = self.trait_def.message_builder_ident(); + quote_spanned!(span => + /// The global call builder type for all trait implementers. + /// + /// All calls to types (contracts) implementing the trait will be built by this type. + #[doc(hidden)] + #[allow(non_camel_case_types)] + #[::ink::scale_derive(Encode, Decode, TypeInfo)] + pub struct #message_builder_ident { + marker: ::core::marker::PhantomData E>, + } + ) + } + + /// Generates trait implementations for auxiliary traits for the message builder. + /// + /// # Note + /// + /// Auxiliary traits currently include: + /// + /// - `Default`: To allow initializing a contract message builder. + fn generate_auxiliary_trait_impls(&self) -> TokenStream2 { + let span = self.span(); + let message_builder_ident = self.trait_def.message_builder_ident(); + quote_spanned!(span=> + impl ::core::default::Default for #message_builder_ident + where + E: ::ink::env::Environment, + { + fn default() -> Self { + Self { marker: ::core::default::Default::default() } + } + } + ) + } + + /// Generates the implementation of the associated ink! trait definition. + /// + /// # Note + /// + /// The implemented messages create an instance of the `Execution` type which + /// encapsulates the execution input (the selector and arguments) and the output + /// type of the message. + fn generate_ink_trait_impl(&self) -> TokenStream2 { + let span = self.trait_def.span(); + let trait_ident = self.trait_def.trait_def.item().ident(); + let trait_info_ident = self.trait_def.trait_info_ident(); + let message_builder_ident = self.trait_def.message_builder_ident(); + let message_impls = self.generate_ink_trait_impl_messages(); + quote_spanned!(span=> + impl ::ink::env::ContractEnv for #message_builder_ident + where + E: ::ink::env::Environment, + { + type Env = E; + } + + impl #trait_ident for #message_builder_ident + where + E: ::ink::env::Environment, + { + #[allow(non_camel_case_types)] + type __ink_TraitInfo = #trait_info_ident; + + #message_impls + } + ) + } + + /// Generate the code for all ink! trait messages implemented by the trait call + /// builder. + fn generate_ink_trait_impl_messages(&self) -> TokenStream2 { + let messages = self.trait_def.trait_def.item().iter_items().filter_map( + |(item, selector)| { + item.filter_map_message().map(|message| { + self.generate_ink_trait_impl_for_message(&message, selector) + }) + }, + ); + quote! { + #( #messages )* + } + } + + /// Generate the code for a single ink! trait message implemented by the trait call + /// builder. + fn generate_ink_trait_impl_for_message( + &self, + message: &ir::InkTraitMessage, + selector: ir::Selector, + ) -> TokenStream2 { + let span = message.span(); + let message_ident = message.ident(); + let attrs = self + .trait_def + .trait_def + .config() + .whitelisted_attributes() + .filter_attr(message.attrs()); + let output_ident = generator::output_ident(message_ident); + let output = message.output(); + let output_type = + output.map_or_else(|| quote! { () }, |output| quote! { #output }); + let selector_bytes = selector.hex_lits(); + let input_bindings = generator::input_bindings(message.inputs()); + let input_types = generator::input_types(message.inputs()); + let arg_list = generator::generate_argument_list(input_types.iter().cloned()); + let mut_tok = message.mutates().then(|| quote! { mut }); + let cfg_attrs = message.get_cfg_attrs(span); + quote_spanned!(span => + #( #cfg_attrs )* + type #output_ident = ::ink::env::call::Execution< + #arg_list, + #output_type, + >; + + #( #attrs )* + #[inline] + fn #message_ident( + & #mut_tok self + #( , #input_bindings : #input_types )* + ) -> Self::#output_ident { + ::ink::env::call::Execution::new( + ::ink::env::call::ExecutionInput::new( + ::ink::env::call::Selector::new([ #( #selector_bytes ),* ]) + ) + #( + .push_arg(#input_bindings) + )* + ) + } + ) + } +} diff --git a/crates/ink/codegen/src/generator/trait_def/mod.rs b/crates/ink/codegen/src/generator/trait_def/mod.rs index 9a5442b9c7..378ad3d258 100644 --- a/crates/ink/codegen/src/generator/trait_def/mod.rs +++ b/crates/ink/codegen/src/generator/trait_def/mod.rs @@ -15,6 +15,7 @@ mod call_builder; mod call_forwarder; mod definition; +mod message_builder; mod trait_registry; use crate::GenerateCode; @@ -55,12 +56,14 @@ impl GenerateCode for TraitDefinition<'_> { let span = self.trait_def.item().span(); let trait_definition = self.generate_trait_definition(); let trait_registry = self.generate_trait_registry_impl(); + let trait_message_builder = self.generate_message_builder(); let trait_call_builder = self.generate_call_builder(); let trait_call_forwarder = self.generate_call_forwarder(); quote_spanned!(span => #trait_definition const _: () = { #trait_registry + #trait_message_builder #trait_call_builder #trait_call_forwarder }; diff --git a/crates/ink/codegen/src/generator/trait_def/trait_registry.rs b/crates/ink/codegen/src/generator/trait_def/trait_registry.rs index 49298fc18c..85267921f4 100644 --- a/crates/ink/codegen/src/generator/trait_def/trait_registry.rs +++ b/crates/ink/codegen/src/generator/trait_def/trait_registry.rs @@ -250,6 +250,7 @@ impl TraitRegistry<'_> { let trait_ident = self.trait_ident(); let trait_info_ident = self.trait_def.trait_info_ident(); let trait_call_forwarder = self.trait_def.call_forwarder_ident(); + let trait_message_builder = self.trait_def.message_builder_ident(); let trait_message_info = self.generate_info_for_trait_messages(); quote_spanned!(span => #[doc(hidden)] @@ -277,6 +278,13 @@ impl TraitRegistry<'_> { { type Forwarder = #trait_call_forwarder; } + + impl ::ink::codegen::TraitMessageBuilder for #trait_info_ident + where + E: ::ink::env::Environment, + { + type MessageBuilder = #trait_message_builder; + } ) } diff --git a/crates/ink/src/codegen/implies_return.rs b/crates/ink/src/codegen/implies_return.rs index bb83fe7377..82d2381bb3 100644 --- a/crates/ink/src/codegen/implies_return.rs +++ b/crates/ink/src/codegen/implies_return.rs @@ -19,6 +19,7 @@ use ink_env::{ Set, }, CallBuilder, + Execution, ExecutionInput, }, Environment, @@ -50,3 +51,5 @@ where E: Environment, { } + +impl ImpliesReturn for Execution {} diff --git a/crates/ink/src/codegen/mod.rs b/crates/ink/src/codegen/mod.rs index 497fb54fcc..629350a7c3 100644 --- a/crates/ink/src/codegen/mod.rs +++ b/crates/ink/src/codegen/mod.rs @@ -36,6 +36,7 @@ pub use self::{ TraitCallBuilder, TraitCallForwarder, TraitCallForwarderFor, + TraitMessageBuilder, TraitMessagePayable, TraitMessageSelector, }, diff --git a/crates/ink/src/codegen/trait_def/call_builder.rs b/crates/ink/src/codegen/trait_def/call_builder.rs index 8a7e1402d6..e8fac5bf7e 100644 --- a/crates/ink/src/codegen/trait_def/call_builder.rs +++ b/crates/ink/src/codegen/trait_def/call_builder.rs @@ -12,6 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. +/// Access the trait message builder implementation. +pub trait TraitMessageBuilder { + /// The message builder type. + type MessageBuilder: Default; +} + /// The global call builder type for an ink! trait definition. pub trait TraitCallBuilder { /// The call builder type. diff --git a/crates/ink/src/codegen/trait_def/mod.rs b/crates/ink/src/codegen/trait_def/mod.rs index 3671e1b96a..c22cc6909c 100644 --- a/crates/ink/src/codegen/trait_def/mod.rs +++ b/crates/ink/src/codegen/trait_def/mod.rs @@ -20,6 +20,7 @@ pub use self::{ TraitCallBuilder, TraitCallForwarder, TraitCallForwarderFor, + TraitMessageBuilder, }, trait_message::{ TraitMessagePayable, diff --git a/crates/ink/src/lib.rs b/crates/ink/src/lib.rs index 3612b6f7b0..578a2a93ca 100644 --- a/crates/ink/src/lib.rs +++ b/crates/ink/src/lib.rs @@ -34,6 +34,7 @@ pub mod reflect; mod chain_extension; mod contract_ref; mod env_access; +mod message_builder; pub use ink_env as env; #[cfg(feature = "std")] diff --git a/crates/ink/src/message_builder.rs b/crates/ink/src/message_builder.rs new file mode 100644 index 0000000000..53425eb4a0 --- /dev/null +++ b/crates/ink/src/message_builder.rs @@ -0,0 +1,147 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// Creates an instance of a message builder for an `#[ink::trait_definition]`. +/// +/// This is done by creating a wrapper around the trait defined with the +/// [`ink::trait_definition`](crate::trait_definition) macro. +/// +/// The macro returns an instance of the generated message builder type which implements +/// the trait, allowing the user to create and invoke messages on the trait. +/// +/// This is similar to the call builder syntax accessible via the [`crate::contract_ref!`] +/// macro, except that it is decoupled from the callee account id, as well as the +/// underlying execution environment. This allows it to be used in execution contexts +/// other than cross-contract calls. +/// +/// # Usage +/// +/// The macro expects two arguments: +/// - The first argument is the path to the trait, e.g. `Erc20` or `erc20::Erc20`. +/// - The second argument is the type of the [`ink_env::Environment`]. +/// +/// If the second argument is not specified, the macro uses the +/// [`ink_env::DefaultEnvironment`]. +/// +/// ```rust +/// use ink::message_builder; +/// use ink_env::{ +/// call::{ +/// ExecutionInput, +/// Executor, +/// }, +/// DefaultEnvironment, +/// }; +/// use ink_primitives::{ +/// AccountId, +/// MessageResult, +/// }; +/// use scale::{ +/// Decode, +/// Encode, +/// }; +/// +/// #[ink::trait_definition] +/// pub trait Erc20 { +/// /// Returns the total supply of the ERC-20 smart contract. +/// #[ink(message)] +/// fn total_supply(&self) -> u128; +/// +/// /// Transfers balance from the caller to the given address. +/// #[ink(message)] +/// fn transfer(&mut self, amount: u128, to: AccountId) -> bool; +/// } +/// +/// #[derive(Clone)] +/// pub struct CustomEnv; +/// +/// impl ink_env::Environment for CustomEnv { +/// const MAX_EVENT_TOPICS: usize = 3; +/// type AccountId = [u8; 32]; +/// type Balance = u64; +/// type Hash = [u8; 32]; +/// type Timestamp = u64; +/// type BlockNumber = u64; +/// type ChainExtension = (); +/// } +/// +/// /// To demonstrate implementing an execution environment agnostic executor +/// pub struct ExampleExecutor { +/// marker: core::marker::PhantomData, +/// } +/// +/// impl ExampleExecutor { +/// pub fn new() -> Self { +/// Self { +/// marker: core::marker::PhantomData, +/// } +/// } +/// } +/// +/// impl Executor for ExampleExecutor +/// where +/// E: ink_env::Environment, +/// { +/// type Error = (); +/// fn exec( +/// &self, +/// input: &ExecutionInput, +/// ) -> Result, Self::Error> +/// where +/// Args: Encode, +/// Output: Decode, +/// { +/// println!("Executing contract with input: {:?}", Encode::encode(input)); +/// unimplemented!("Decode contract execution output") +/// } +/// } +/// +/// fn default(to: AccountId) { +/// let executor = ExampleExecutor::::new(); +/// let mut contract = message_builder!(Erc20); +/// let total_supply = contract.total_supply().exec(&executor).unwrap().unwrap(); +/// contract.transfer(total_supply, to).exec(&executor).unwrap(); +/// } +/// +/// fn custom(to: AccountId) { +/// let executor = ExampleExecutor::::new(); +/// let mut contract = message_builder!(Erc20, CustomEnv); +/// let total_supply = contract.total_supply().exec(&executor).unwrap().unwrap(); +/// contract.transfer(total_supply, to).exec(&executor).unwrap(); +/// } +/// +/// fn generic(to: AccountId) +/// where +/// E: ink_env::Environment, +/// { +/// let executor = ExampleExecutor::::new(); +/// let mut contract = message_builder!(Erc20, E); +/// let total_supply = contract.total_supply().exec(&executor).unwrap().unwrap(); +/// contract.transfer(total_supply, to).exec(&executor).unwrap(); +/// } +/// ``` +#[macro_export] +macro_rules! message_builder { + // The case of the default `Environment` + ( $trait_path:path ) => { + $crate::message_builder!($trait_path, $crate::env::DefaultEnvironment) + }; + // The case of the custom `Environment` + ( $trait_path:path, $env:ty ) => { + <<<$crate::reflect::TraitDefinitionRegistry<$env> + as $trait_path>::__ink_TraitInfo + as $crate::codegen::TraitMessageBuilder>::MessageBuilder + as ::core::default::Default>::default() + }; +} diff --git a/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr index 1fa8fadd15..32869d879c 100644 --- a/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr +++ b/crates/ink/tests/ui/contract/fail/constructor-input-non-codec.stderr @@ -55,7 +55,7 @@ error[E0277]: the trait bound `NonCodecType: WrapperTypeEncode` is not satisfied &mut T = note: required for `NonCodecType` to implement `Encode` note: required by a bound in `ExecutionInput::>::push_arg` - --> $WORKSPACE/crates/env/src/call/execution_input.rs + --> $WORKSPACE/crates/env/src/call/execution.rs | | pub fn push_arg( | -------- required by a bound in this associated function diff --git a/crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr b/crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr index 7ebe788e4d..e0044f00af 100644 --- a/crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr +++ b/crates/ink/tests/ui/contract/fail/message-input-non-codec.stderr @@ -51,7 +51,7 @@ error[E0277]: the trait bound `NonCodecType: WrapperTypeEncode` is not satisfied &mut T = note: required for `NonCodecType` to implement `Encode` note: required by a bound in `ExecutionInput::>::push_arg` - --> $WORKSPACE/crates/env/src/call/execution_input.rs + --> $WORKSPACE/crates/env/src/call/execution.rs | | pub fn push_arg( | -------- required by a bound in this associated function @@ -65,7 +65,7 @@ error[E0599]: the method `try_invoke` exists for struct `CallBuilder { | ----------------------------------- doesn't satisfy `_: Encode` diff --git a/crates/ink/tests/ui/trait_def/fail/message_input_non_codec.stderr b/crates/ink/tests/ui/trait_def/fail/message_input_non_codec.stderr index a7dd5ad4bf..feea5916fb 100644 --- a/crates/ink/tests/ui/trait_def/fail/message_input_non_codec.stderr +++ b/crates/ink/tests/ui/trait_def/fail/message_input_non_codec.stderr @@ -40,7 +40,7 @@ error[E0277]: the trait bound `NonCodec: WrapperTypeEncode` is not satisfied &mut T = note: required for `NonCodec` to implement `Encode` note: required by a bound in `ExecutionInput::>::push_arg` - --> $WORKSPACE/crates/env/src/call/execution_input.rs + --> $WORKSPACE/crates/env/src/call/execution.rs | | pub fn push_arg( | -------- required by a bound in this associated function @@ -48,6 +48,25 @@ note: required by a bound in `ExecutionInput::>::push_arg` +error[E0277]: the trait bound `ArgumentList, ArgumentList>: Encode` is not satisfied + --> tests/ui/trait_def/fail/message_input_non_codec.rs:5:5 + | +5 | / #[ink(message)] +6 | | fn message(&self, input: NonCodec); + | |_______________________________________^ the trait `Encode` is not implemented for `ArgumentList, ArgumentList>` + | + = help: the following other types implement trait `Encode`: + ArgumentList, Rest> + ArgumentList +note: required by a bound in `Execution::::new` + --> $WORKSPACE/crates/env/src/call/execution.rs + | + | Args: scale::Encode, + | ^^^^^^^^^^^^^ required by this bound in `Execution::::new` +... + | pub fn new(input: ExecutionInput) -> Self { + | --- required by a bound in this associated function + error[E0599]: the method `try_invoke` exists for struct `CallBuilder>, Set, ...>>>, ...>`, but its trait bounds were not satisfied --> tests/ui/trait_def/fail/message_input_non_codec.rs:5:5 | @@ -56,7 +75,7 @@ error[E0599]: the method `try_invoke` exists for struct `CallBuilder { | ----------------------------------- doesn't satisfy `_: Encode` diff --git a/crates/ink/tests/ui/trait_def/fail/message_output_non_codec.stderr b/crates/ink/tests/ui/trait_def/fail/message_output_non_codec.stderr index d31c7b1f97..d15348a8aa 100644 --- a/crates/ink/tests/ui/trait_def/fail/message_output_non_codec.stderr +++ b/crates/ink/tests/ui/trait_def/fail/message_output_non_codec.stderr @@ -24,6 +24,27 @@ note: required by a bound in `DispatchOutput` | T: scale::Encode + 'static; | ^^^^^^^^^^^^^ required by this bound in `DispatchOutput` +error[E0277]: the trait bound `NonCodec: WrapperTypeDecode` is not satisfied + --> tests/ui/trait_def/fail/message_output_non_codec.rs:5:5 + | +5 | / #[ink(message)] +6 | | fn message(&self) -> NonCodec; + | |__________________________________^ the trait `WrapperTypeDecode` is not implemented for `NonCodec` + | + = help: the following other types implement trait `WrapperTypeDecode`: + Box + Rc + Arc + = note: required for `NonCodec` to implement `ink::parity_scale_codec::Decode` +note: required by a bound in `Execution::::new` + --> $WORKSPACE/crates/env/src/call/execution.rs + | + | Output: scale::Decode, + | ^^^^^^^^^^^^^ required by this bound in `Execution::::new` +... + | pub fn new(input: ExecutionInput) -> Self { + | --- required by a bound in this associated function + error[E0599]: the method `try_invoke` exists for struct `CallBuilder>, Set>>, Set>>`, but its trait bounds were not satisfied --> tests/ui/trait_def/fail/message_output_non_codec.rs:5:5 | diff --git a/integration-tests/public/runtime-call-contract/Cargo.toml b/integration-tests/public/runtime-call-contract/Cargo.toml index 7f6fc8613b..1b01cda8d2 100644 --- a/integration-tests/public/runtime-call-contract/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/Cargo.toml @@ -13,6 +13,7 @@ repository = "https://github.com/use-ink/ink" frame-support = { version = "32.0.0", default-features = false } frame-system = { version = "32.0.0", default-features = false } pallet-contracts = { version = "31.0.0", default-features = false } +sp-runtime = { version = "35.0.0", default-features = false } codec = { package = "parity-scale-codec", version = "3.6.9", default-features = false } scale-info = { version = "2.11.1", default-features = false } diff --git a/integration-tests/public/runtime-call-contract/e2e_tests.rs b/integration-tests/public/runtime-call-contract/e2e_tests.rs index 805ca41419..f4b73396e1 100644 --- a/integration-tests/public/runtime-call-contract/e2e_tests.rs +++ b/integration-tests/public/runtime-call-contract/e2e_tests.rs @@ -43,6 +43,7 @@ async fn instantiate_and_get(mut client: Client) -> E2EResul gas_required.proof_size(), )) .unwrap(), + scale_value::serde::to_value(None::).unwrap(), ], ) .await diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml index 8708796900..226dfddf2a 100644 --- a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml @@ -17,6 +17,7 @@ codec = { workspace = true, default-features = false, features = ["derive"] } scale-info = { workspace = true, default-features = false, features = ["derive"] } frame-support = { workspace = true, default-features = false } frame-system = { workspace = true, default-features = false } +sp-runtime = { workspace = true, default-features = false } pallet-contracts = { workspace = true, default-features = false } flipper-traits = { path = "../../traits", default-features = false } @@ -28,6 +29,7 @@ std = [ "codec/std", "frame-support/std", "frame-system/std", + "sp-runtime/std", "scale-info/std", "pallet-contracts/std", "ink/std" diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/executor.rs b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/executor.rs new file mode 100644 index 0000000000..214cf5fda9 --- /dev/null +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/executor.rs @@ -0,0 +1,59 @@ +use crate::{ + AccountIdOf, + BalanceOf, +}; +use frame_support::pallet_prelude::Weight; +use ink::env::{ + call::{ + ExecutionInput, + Executor, + }, + Environment, +}; + +pub struct PalletContractsExecutor { + pub origin: AccountIdOf, + pub contract: AccountIdOf, + pub value: BalanceOf, + pub gas_limit: Weight, + pub storage_deposit_limit: Option>, + pub marker: core::marker::PhantomData, +} + +impl Executor for PalletContractsExecutor +where + E: Environment, + R: pallet_contracts::Config, +{ + type Error = sp_runtime::DispatchError; + + fn exec( + &self, + input: &ExecutionInput, + ) -> Result, Self::Error> + where + Args: codec::Encode, + Output: codec::Decode, + { + let data = codec::Encode::encode(&input); + + let result = pallet_contracts::Pallet::::bare_call( + self.origin.clone(), + self.contract.clone(), + self.value, + self.gas_limit, + self.storage_deposit_limit, + data, + pallet_contracts::DebugInfo::UnsafeDebug, + pallet_contracts::CollectEvents::Skip, + pallet_contracts::Determinism::Enforced, + ); + + let output = result.result?.data; + let result = codec::Decode::decode(&mut &output[..]).map_err(|_| { + sp_runtime::DispatchError::Other("Failed to decode contract output") + })?; + + Ok(result) + } +} diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/lib.rs b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/lib.rs index 50dc43f7a2..cf7abdd411 100644 --- a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/lib.rs +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/src/lib.rs @@ -4,8 +4,19 @@ #![cfg_attr(not(feature = "std"), no_std)] +mod executor; + +use frame_support::{ + pallet_prelude::Weight, + traits::fungible::Inspect, +}; pub use pallet::*; +type AccountIdOf = ::AccountId; +type BalanceOf = <::Currency as Inspect< + ::AccountId, +>>::Balance; + #[frame_support::pallet] pub mod pallet { use super::*; @@ -15,9 +26,6 @@ pub mod pallet { traits::fungible::Inspect, }; use frame_system::pallet_prelude::*; - use ink::codegen::TraitCallBuilder; - - type AccountIdOf = ::AccountId; #[pallet::pallet] pub struct Pallet(_); @@ -43,43 +51,24 @@ pub mod pallet { origin: OriginFor, contract: AccountIdOf, gas_limit: Weight, + storage_deposit_limit: Option>, ) -> DispatchResult { let who = ensure_signed(origin)?; - let ink_account_id = - ink::primitives::AccountId::from(<[u8; 32]>::from(contract.clone())); - let mut flipper: ink::contract_ref!(Flip, ink::env::DefaultEnvironment) = - ink_account_id.into(); - let call_builder = flipper.call_mut(); - - let params = call_builder - .flip() - .ref_time_limit(gas_limit.ref_time()) - .proof_size_limit(gas_limit.proof_size()) - .params(); - - // Next step is to explore ways to encapsulate the following into the call - // builder. - let value = *params.transferred_value(); - let data = params.exec_input().encode(); - let weight = - Weight::from_parts(params.ref_time_limit(), params.proof_size_limit()); - let storage_deposit_limit = - params.storage_deposit_limit().map(|limit| (*limit).into()); + let executor = + executor::PalletContractsExecutor:: { + origin: who.clone(), + contract: contract.clone(), + value: 0.into(), + gas_limit, + storage_deposit_limit, + marker: Default::default(), + }; - let result = pallet_contracts::Pallet::::bare_call( - who.clone(), - contract.clone(), - value.into(), - weight, - storage_deposit_limit, - data, - pallet_contracts::DebugInfo::UnsafeDebug, - pallet_contracts::CollectEvents::Skip, - pallet_contracts::Determinism::Enforced, - ); + let mut flipper = ink::message_builder!(Flip); + let result = flipper.flip().exec(&executor)?; - assert!(!result.result?.did_revert()); + assert!(result.is_ok()); Ok(()) } From 370a495d027d0e856647dfc7171a66c4220d53a5 Mon Sep 17 00:00:00 2001 From: Sebastian Miasojed Date: Fri, 26 Apr 2024 17:21:55 +0200 Subject: [PATCH 25/51] Fix publish docs workflow (#2223) --- .github/workflows/publish-docs.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 4563912016..3474c84a45 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -22,20 +22,33 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 100 - token: ${{ secrets.GH_PAGES }} - - name: Download Contract Sizes + - name: Download Docs uses: ./.github/download-artifact with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ARTIFACT_NAME: docs-data DOWNLOAD_DIR: crate-docs + - name: Add key to allow access to repository + env: + SSH_AUTH_SOCK: /tmp/ssh_agent.sock + run: | + mkdir -p ~/.ssh + ssh-keyscan github.com >> ~/.ssh/known_hosts + echo "${{ secrets.GH_PAGES_DEPLOY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + cat <> ~/.ssh/config + Host github.com + HostName github.com + IdentityFile ~/.ssh/id_rsa + EOT + - name: Push docs run: | # Set git config - git config user.email "paritytech-ci@parity.io" - git config user.name "paritytech-ci" + git config user.email "actions@github.com" + git config user.name "actions" git fetch origin gh-pages # saving README and docs cp -r ./crate-docs/ /tmp/doc/ From eeae6c910349ec2a4f85246ad0e05caab55cb8c6 Mon Sep 17 00:00:00 2001 From: PG Herveou Date: Fri, 26 Apr 2024 18:26:17 +0200 Subject: [PATCH 26/51] Add xcm integration (#1912) Expose xcm_execute and xcm_send host functions to ink! --- .config/cargo_spellcheck.dic | 1 + .github/workflows/ci.yml | 2 +- CHANGELOG.md | 1 + Cargo.lock | 2 + Cargo.toml | 1 + crates/e2e/Cargo.toml | 2 +- crates/e2e/src/lib.rs | 5 +- crates/e2e/src/sandbox_client.rs | 13 +- crates/env/Cargo.toml | 14 +- crates/env/src/api.rs | 51 ++++ crates/env/src/backend.rs | 24 ++ crates/env/src/engine/off_chain/impls.rs | 18 ++ crates/env/src/engine/on_chain/impls.rs | 37 +++ crates/ink/Cargo.toml | 3 +- crates/ink/src/env_access.rs | 15 + crates/ink/src/lib.rs | 1 + crates/primitives/src/types.rs | 2 +- .../public/contract-xcm/Cargo.toml | 27 ++ integration-tests/public/contract-xcm/lib.rs | 272 ++++++++++++++++++ 19 files changed, 478 insertions(+), 13 deletions(-) create mode 100644 integration-tests/public/contract-xcm/Cargo.toml create mode 100644 integration-tests/public/contract-xcm/lib.rs diff --git a/.config/cargo_spellcheck.dic b/.config/cargo_spellcheck.dic index fafdff77c7..b232f7a22c 100644 --- a/.config/cargo_spellcheck.dic +++ b/.config/cargo_spellcheck.dic @@ -132,3 +132,4 @@ DRink ^ externalities sandbox_client +xcm diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8446532080..0fb05d907c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -622,7 +622,7 @@ jobs: # - custom_allocator # Pulls in sp-std which needlessly requires atomic pointers (TODO: Fix sp-std and enable this example) # - call-runtime - scripts/for_all_contracts_exec.sh --path integration-tests --ignore public/custom-allocator --ignore public/call-runtime \ + scripts/for_all_contracts_exec.sh --path integration-tests --ignore public/custom-allocator --ignore public/call-runtime --ignore public/contract-xcm \ -- cargo build --manifest-path {} --no-default-features --target $RISCV_TARGET -Zbuild-std="core,alloc" examples-docs: diff --git a/CHANGELOG.md b/CHANGELOG.md index 50bd37087a..9d05bcc7b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - [Linter] Add links to detailed lint description ‒ [#2170](https://github.com/use-ink/ink/pull/2170) +- Add `xcm_execute` and `xcm_send` support - [#1912](https://github.com/paritytech/ink/pull/1912) - Environment agnostic contract invocation API ‒ [#219](https://github.com/use-ink/ink/pull/2219) ### Changed diff --git a/Cargo.lock b/Cargo.lock index 69d72290a5..eedf1c64b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2551,6 +2551,7 @@ dependencies = [ "pallet-contracts-uapi", "parity-scale-codec", "scale-info", + "staging-xcm", "trybuild", ] @@ -2676,6 +2677,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", + "staging-xcm", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 5ee0bac0a1..0a4a802984 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -99,6 +99,7 @@ sp-core = { version = "32.0.0", default-features = false } sp-keyring = { version = "35.0.0", default-features = false } sp-runtime = { version = "35.0.0", default-features = false } sp-weights = { version = "31.0.0", default-features = false } +xcm = { package = "staging-xcm", version = "11.0.0", default-features = false } # Local dependencies ink = { version = "=5.0.0", path = "crates/ink", default-features = false } diff --git a/crates/e2e/Cargo.toml b/crates/e2e/Cargo.toml index 4e5f1c1e0d..9d5d185e52 100644 --- a/crates/e2e/Cargo.toml +++ b/crates/e2e/Cargo.toml @@ -68,7 +68,7 @@ std = [ "ink_e2e_macro/std", "ink_sandbox/std", "frame-support/std", - "pallet-contracts-mock-network?/std" + "pallet-contracts-mock-network?/std", ] sandbox = [ diff --git a/crates/e2e/src/lib.rs b/crates/e2e/src/lib.rs index 82ead6181d..61cfada3a8 100644 --- a/crates/e2e/src/lib.rs +++ b/crates/e2e/src/lib.rs @@ -56,7 +56,10 @@ pub use node_proc::{ TestNodeProcessBuilder, }; #[cfg(feature = "sandbox")] -pub use sandbox_client::Client as SandboxClient; +pub use sandbox_client::{ + preset, + Client as SandboxClient, +}; pub use sp_core::H256; pub use sp_keyring::AccountKeyring; pub use subxt::{ diff --git a/crates/e2e/src/sandbox_client.rs b/crates/e2e/src/sandbox_client.rs index ac27c240a4..91f7f9b2d1 100644 --- a/crates/e2e/src/sandbox_client.rs +++ b/crates/e2e/src/sandbox_client.rs @@ -483,18 +483,27 @@ pub mod preset { /// } /// ``` #[derive(Default)] - pub struct MockNetworkSandbox; + pub struct MockNetworkSandbox { + dry_run: bool, + } + impl Sandbox for MockNetworkSandbox { type Runtime = parachain::Runtime; fn execute_with(&mut self, execute: impl FnOnce() -> T) -> T { - ParaA::execute_with(execute) + if self.dry_run { + ParaA::execute_with(execute) + } else { + ParaA::execute_without_dispatch(execute) + } } fn dry_run(&mut self, action: impl FnOnce(&mut Self) -> T) -> T { EXT_PARAA.with(|v| { let backend_backup = v.borrow_mut().as_backend(); + self.dry_run = true; let result = action(self); + self.dry_run = false; let mut v = v.borrow_mut(); v.commit_all().expect("Failed to commit changes"); diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml index 268aa0a853..065d8cb233 100644 --- a/crates/env/Cargo.toml +++ b/crates/env/Cargo.toml @@ -29,6 +29,7 @@ cfg-if = { workspace = true } paste = { workspace = true } static_assertions = { workspace = true } const_env = { workspace = true } +xcm = { workspace = true } [target.'cfg(target_arch = "wasm32")'.dependencies] rlibc = "1" @@ -63,22 +64,23 @@ default = [ "std" ] std = [ "blake2", "ink_allocator/std", - "ink_engine/std", "ink_prelude/std", "ink_primitives/std", "ink_storage_traits/std", - "num-traits/std", + "ink_engine/std", + "scale/std", "scale-decode", "scale-encode", "scale-info/std", - "scale/std", - "schnorrkel", "secp256k1", - # Enables hashing crates for off-chain environment. + "schnorrkel", + "num-traits/std", + # Enables hashing crates for off-chain environment. "sha2", "sha3", "scale-decode?/std", - "scale-encode?/std" + "scale-encode?/std", + "xcm/std" ] # Enable contract debug messages via `debug_print!` and `debug_println!`. diff --git a/crates/env/src/api.rs b/crates/env/src/api.rs index 4ef8a7d047..47ee8c696c 100644 --- a/crates/env/src/api.rs +++ b/crates/env/src/api.rs @@ -903,3 +903,54 @@ where instance.unlock_delegate_dependency::(code_hash) }) } + +/// Execute an XCM message locally, using the contract's address as the origin. +/// +/// For more details consult the +/// [host function documentation](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.xcm_execute). +/// +/// # Errors +/// +/// - If the message cannot be properly decoded on the `pallet-contracts` side. +/// - If the XCM execution fails because of the runtime's XCM configuration. +/// +/// # Panics +/// +/// Panics in the off-chain environment. +pub fn xcm_execute(msg: &xcm::VersionedXcm) -> Result<()> +where + E: Environment, + Call: scale::Encode, +{ + ::on_instance(|instance| { + TypedEnvBackend::xcm_execute::(instance, msg) + }) +} + +/// Send an XCM message, using the contract's address as the origin. +/// +/// The `msg` argument has to be SCALE encoded, it needs to be decodable to a valid +/// instance of the `RuntimeCall` enum. +/// +/// For more details consult +/// [host function documentation](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.xcm_send). +/// +/// # Errors +/// +/// - If the message cannot be properly decoded on the `pallet-contracts` side. +/// +/// # Panics +/// +/// Panics in the off-chain environment. +pub fn xcm_send( + dest: &xcm::VersionedLocation, + msg: &xcm::VersionedXcm, +) -> Result +where + E: Environment, + Call: scale::Encode, +{ + ::on_instance(|instance| { + TypedEnvBackend::xcm_send::(instance, dest, msg) + }) +} diff --git a/crates/env/src/backend.rs b/crates/env/src/backend.rs index b2d819f204..1ace832dfa 100644 --- a/crates/env/src/backend.rs +++ b/crates/env/src/backend.rs @@ -455,4 +455,28 @@ pub trait TypedEnvBackend: EnvBackend { fn unlock_delegate_dependency(&mut self, code_hash: &E::Hash) where E: Environment; + + /// Execute an XCM message locally, using the contract's address as the origin. + /// + /// # Note + /// + /// For more details visit: [`xcm`][`crate::xcm_execute`]. + fn xcm_execute(&mut self, msg: &xcm::VersionedXcm) -> Result<()> + where + E: Environment, + Call: scale::Encode; + + /// Send an XCM message, using the contract's address as the origin. + /// + /// # Note + /// + /// For more details visit: [`xcm`][`crate::xcm_send`]. + fn xcm_send( + &mut self, + dest: &xcm::VersionedLocation, + msg: &xcm::VersionedXcm, + ) -> Result + where + E: Environment, + Call: scale::Encode; } diff --git a/crates/env/src/engine/off_chain/impls.rs b/crates/env/src/engine/off_chain/impls.rs index f212a64b52..727bee025a 100644 --- a/crates/env/src/engine/off_chain/impls.rs +++ b/crates/env/src/engine/off_chain/impls.rs @@ -595,6 +595,24 @@ impl TypedEnvBackend for EnvInstance { unimplemented!("off-chain environment does not support delegate dependencies") } + fn xcm_execute(&mut self, _msg: &xcm::VersionedXcm) -> Result<()> + where + E: Environment, + { + unimplemented!("off-chain environment does not support `xcm_execute`") + } + + fn xcm_send( + &mut self, + _dest: &xcm::VersionedLocation, + _msg: &xcm::VersionedXcm, + ) -> Result + where + E: Environment, + { + unimplemented!("off-chain environment does not support `xcm_send`") + } + fn unlock_delegate_dependency(&mut self, _code_hash: &E::Hash) where E: Environment, diff --git a/crates/env/src/engine/on_chain/impls.rs b/crates/env/src/engine/on_chain/impls.rs index 5a870fc719..aaf35f50e1 100644 --- a/crates/env/src/engine/on_chain/impls.rs +++ b/crates/env/src/engine/on_chain/impls.rs @@ -58,6 +58,7 @@ use pallet_contracts_uapi::{ ReturnErrorCode, ReturnFlags, }; +use xcm::VersionedXcm; impl CryptoHash for Blake2x128 { fn hash(input: &[u8], output: &mut ::Type) { @@ -726,4 +727,40 @@ impl TypedEnvBackend for EnvInstance { let enc_code_hash = scope.take_encoded(code_hash); ext::unlock_delegate_dependency(enc_code_hash) } + + fn xcm_execute(&mut self, msg: &VersionedXcm) -> Result<()> + where + E: Environment, + Call: scale::Encode, + { + let mut scope = self.scoped_buffer(); + + // Double encoding the message as the host fn expects an encoded message. + let enc_msg = scope.take_encoded(&scale::Encode::encode(msg)); + #[allow(deprecated)] + ext::xcm_execute(enc_msg).map_err(Into::into) + } + + fn xcm_send( + &mut self, + dest: &xcm::VersionedLocation, + msg: &VersionedXcm, + ) -> Result + where + E: Environment, + Call: scale::Encode, + { + let mut scope = self.scoped_buffer(); + let output = scope.take(32); + scope.append_encoded(dest); + let enc_dest = scope.take_appended(); + + // Double encoding the message as the host fn expects an encoded message. + scope.append_encoded(&scale::Encode::encode(msg)); + let enc_msg = scope.take_appended(); + #[allow(deprecated)] + ext::xcm_send(enc_dest, enc_msg, output.try_into().unwrap())?; + let hash: xcm::v4::XcmHash = scale::Decode::decode(&mut &output[..])?; + Ok(hash) + } } diff --git a/crates/ink/Cargo.toml b/crates/ink/Cargo.toml index ece158eb5c..8bf8c1e919 100644 --- a/crates/ink/Cargo.toml +++ b/crates/ink/Cargo.toml @@ -26,11 +26,11 @@ pallet-contracts-uapi = { workspace = true } scale = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"], optional = true } derive_more = { workspace = true, features = ["from"] } +xcm = { workspace = true} [dev-dependencies] ink_ir = { workspace = true, default-features = true } ink_metadata = { workspace = true } - trybuild = { workspace = true, features = ["diff"] } @@ -45,6 +45,7 @@ std = [ "ink_storage/std", "scale-info/std", "scale/std", + "xcm/std" ] # Enable contract debug messages via `debug_print!` and `debug_println!`. ink-debug = [ "ink_env/ink-debug" ] diff --git a/crates/ink/src/env_access.rs b/crates/ink/src/env_access.rs index ea6460d6e0..106a015860 100644 --- a/crates/ink/src/env_access.rs +++ b/crates/ink/src/env_access.rs @@ -1341,4 +1341,19 @@ where pub fn unlock_delegate_dependency(self, code_hash: &E::Hash) { ink_env::unlock_delegate_dependency::(code_hash) } + + pub fn xcm_execute( + self, + msg: &xcm::VersionedXcm, + ) -> Result<()> { + ink_env::xcm_execute::(msg) + } + + pub fn xcm_send( + self, + dest: &xcm::VersionedLocation, + msg: &xcm::VersionedXcm, + ) -> Result { + ink_env::xcm_send::(dest, msg) + } } diff --git a/crates/ink/src/lib.rs b/crates/ink/src/lib.rs index 578a2a93ca..01698cd17e 100644 --- a/crates/ink/src/lib.rs +++ b/crates/ink/src/lib.rs @@ -44,6 +44,7 @@ pub use ink_primitives as primitives; pub use scale; #[cfg(feature = "std")] pub use scale_info; +pub use xcm; pub mod storage { pub mod traits { diff --git a/crates/primitives/src/types.rs b/crates/primitives/src/types.rs index 4185f34e8a..ffb4a073af 100644 --- a/crates/primitives/src/types.rs +++ b/crates/primitives/src/types.rs @@ -47,7 +47,7 @@ use { From, )] #[cfg_attr(feature = "std", derive(TypeInfo, DecodeAsType, EncodeAsType))] -pub struct AccountId([u8; 32]); +pub struct AccountId(pub [u8; 32]); impl AsRef<[u8; 32]> for AccountId { #[inline] diff --git a/integration-tests/public/contract-xcm/Cargo.toml b/integration-tests/public/contract-xcm/Cargo.toml new file mode 100644 index 0000000000..5e865bb84c --- /dev/null +++ b/integration-tests/public/contract-xcm/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "contract-xcm" +version = "4.0.0" +authors = ["Parity Technologies "] +edition = "2021" +publish = false + +[dependencies] +ink = { path = "../../../crates/ink", default-features = false } +frame-support = { version = "32.0.0", default-features = false } +pallet-balances = { version = "33.0.0", default-features = false } + +[dev-dependencies] +ink_e2e = { path = "../../../crates/e2e", features = ["sandbox"] } + +[lib] +path = "lib.rs" + +[features] +default = ["std"] +std = [ + "ink/std", + "pallet-balances/std", + "frame-support/std", +] +ink-as-dependency = [] +e2e-tests = [] diff --git a/integration-tests/public/contract-xcm/lib.rs b/integration-tests/public/contract-xcm/lib.rs new file mode 100644 index 0000000000..93cf048645 --- /dev/null +++ b/integration-tests/public/contract-xcm/lib.rs @@ -0,0 +1,272 @@ +#![cfg_attr(not(feature = "std"), no_std, no_main)] + +#[ink::contract] +mod contract_xcm { + use ink::{ + env::Error as EnvError, + xcm::prelude::*, + }; + + /// A trivial contract used to exercise XCM API. + #[ink(storage)] + #[derive(Default)] + pub struct ContractXcm; + + #[derive(Debug, PartialEq, Eq)] + #[ink::scale_derive(Encode, Decode, TypeInfo)] + pub enum RuntimeError { + XcmExecuteFailed, + XcmSendFailed, + } + + impl From for RuntimeError { + fn from(e: EnvError) -> Self { + use ink::env::ReturnErrorCode; + match e { + EnvError::ReturnError(ReturnErrorCode::XcmExecutionFailed) => { + RuntimeError::XcmExecuteFailed + } + EnvError::ReturnError(ReturnErrorCode::XcmSendFailed) => { + RuntimeError::XcmSendFailed + } + _ => panic!("Unexpected error from `pallet-contracts`."), + } + } + } + + impl ContractXcm { + /// The constructor is `payable`, so that during instantiation it can be given + /// some tokens that will be further transferred when transferring funds through + /// XCM. + #[ink(constructor, payable)] + pub fn new() -> Self { + Default::default() + } + + /// Tries to transfer `value` from the contract's balance to `receiver`. + /// + /// Fails if: + /// - called in the off-chain environment + /// - the chain is not configured to support XCM + /// - the XCM program executed failed (e.g contract doesn't have enough balance) + #[ink(message)] + pub fn transfer_through_xcm( + &mut self, + receiver: AccountId, + value: Balance, + ) -> Result<(), RuntimeError> { + let asset: Asset = (Here, value).into(); + let beneficiary = AccountId32 { + network: None, + id: *receiver.as_ref(), + }; + + let message: Xcm<()> = Xcm::builder() + .withdraw_asset(asset.clone().into()) + .buy_execution(asset.clone(), Unlimited) + .deposit_asset(asset.into(), beneficiary.into()) + .build(); + + self.env() + .xcm_execute(&VersionedXcm::V4(message)) + .map_err(Into::into) + } + + /// Transfer some funds on the relay chain via XCM from the contract's derivative + /// account to the caller's account. + /// + /// Fails if: + /// - called in the off-chain environment + /// - the chain is not configured to support XCM + /// - the XCM program executed failed (e.g contract doesn't have enough balance) + #[ink(message)] + pub fn send_funds( + &mut self, + value: Balance, + fee: Balance, + ) -> Result { + let destination: Location = Parent.into(); + let asset: Asset = (Here, value).into(); + let beneficiary = AccountId32 { + network: None, + id: *self.env().caller().as_ref(), + }; + + let message: Xcm<()> = Xcm::builder() + .withdraw_asset(asset.clone().into()) + .buy_execution((Here, fee).into(), WeightLimit::Unlimited) + .deposit_asset(asset.into(), beneficiary.into()) + .build(); + + let hash = self.env().xcm_send( + &VersionedLocation::V4(destination), + &VersionedXcm::V4(message), + )?; + + Ok(hash) + } + } + + #[cfg(all(test, feature = "e2e-tests"))] + mod e2e_tests { + use frame_support::{ + sp_runtime::AccountId32, + traits::tokens::currency::Currency, + }; + use ink::{ + env::{ + test::default_accounts, + DefaultEnvironment, + }, + primitives::AccountId, + }; + use ink_e2e::{ + preset::mock_network::{ + self, + primitives::{ + CENTS, + UNITS, + }, + MockNetworkSandbox, + }, + ChainBackend, + ContractsBackend, + }; + use mock_network::{ + parachain::estimate_message_fee, + parachain_account_sovereign_account_id, + relay_chain, + Relay, + TestExt, + }; + + use super::*; + + /// The contract will be given 1000 tokens during instantiation. + pub const CONTRACT_BALANCE: u128 = 1_000 * UNITS; + + type E2EResult = Result>; + + #[ink_e2e::test(backend(runtime_only(sandbox = MockNetworkSandbox)))] + async fn xcm_execute_works( + mut client: Client, + ) -> E2EResult<()> { + // given + let mut constructor = ContractXcmRef::new(); + let contract = client + .instantiate("contract_xcm", &ink_e2e::alice(), &mut constructor) + .value(CONTRACT_BALANCE) + .submit() + .await + .expect("instantiate failed"); + let mut call_builder = contract.call_builder::(); + + let receiver: AccountId = default_accounts::().bob; + + let contract_balance_before = client + .free_balance(contract.account_id) + .await + .expect("Failed to get account balance"); + let receiver_balance_before = client + .free_balance(receiver) + .await + .expect("Failed to get account balance"); + + // when + let amount = 1000 * CENTS; + let transfer_message = call_builder.transfer_through_xcm(receiver, amount); + + let call_res = client + .call(&ink_e2e::alice(), &transfer_message) + .submit() + .await + .expect("call failed"); + + assert!(call_res.return_value().is_ok()); + + // then + let contract_balance_after = client + .free_balance(contract.account_id) + .await + .expect("Failed to get account balance"); + let receiver_balance_after = client + .free_balance(receiver) + .await + .expect("Failed to get account balance"); + + assert_eq!(contract_balance_before, contract_balance_after + amount); + assert_eq!(receiver_balance_before, receiver_balance_after - amount); + + Ok(()) + } + + #[ink_e2e::test(backend(runtime_only(sandbox = MockNetworkSandbox)))] + async fn incomplete_xcm_execute_works( + mut client: Client, + ) -> E2EResult<()> { + let mut constructor = ContractXcmRef::new(); + let contract = client + .instantiate("contract_xcm", &ink_e2e::alice(), &mut constructor) + .value(CONTRACT_BALANCE) + .submit() + .await + .expect("instantiate failed"); + let mut call_builder = contract.call_builder::(); + + // This will fail since we have insufficient balance + let transfer_message = call_builder.transfer_through_xcm( + default_accounts::().bob, + CONTRACT_BALANCE + 1, + ); + + let call_res = client + .call(&ink_e2e::alice(), &transfer_message) + .submit() + .await? + .return_value(); + + assert!(matches!(call_res, Err(RuntimeError::XcmExecuteFailed))); + Ok(()) + } + + #[ink_e2e::test(backend(runtime_only(sandbox = MockNetworkSandbox)))] + async fn xcm_send_works(mut client: Client) -> E2EResult<()> { + let mut constructor = ContractXcmRef::new(); + let contract = client + .instantiate("contract_xcm", &ink_e2e::alice(), &mut constructor) + .value(CONTRACT_BALANCE) + .submit() + .await + .expect("instantiate failed"); + + Relay::execute_with(|| { + let sovereign_account = parachain_account_sovereign_account_id( + 1u32, + AccountId32::from(contract.account_id.0), + ); + + // Fund the contract's derivative account, so we can use it as a sink, to + // transfer funds to the caller. + relay_chain::Balances::make_free_balance_be( + &sovereign_account, + CONTRACT_BALANCE, + ); + }); + + let amount = 1000 * CENTS; + let fee = estimate_message_fee(4); + + let mut call_builder = contract.call_builder::(); + let message = call_builder.send_funds(amount, fee); + let call_res = client.call(&ink_e2e::alice(), &message).submit().await?; + assert!(call_res.return_value().is_ok()); + + Relay::execute_with(|| { + let alice = AccountId32::from(ink_e2e::alice().public_key().0); + assert_eq!(relay_chain::Balances::free_balance(&alice), amount - fee); + }); + + Ok(()) + } + } +} From 39c8cbf54f4d8c899d4960c71c96f77f88b20466 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 08:54:55 +0000 Subject: [PATCH 27/51] Bump wat from 1.205.0 to 1.206.0 (#2224) --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eedf1c64b7..c205b7be28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6961,9 +6961,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" -version = "0.205.0" +version = "0.206.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e95b3563d164f33c1cfb0a7efbd5940c37710019be10cd09f800fdec8b0e5c" +checksum = "d759312e1137f199096d80a70be685899cd7d3d09c572836bb2e9b69b4dc3b1e" dependencies = [ "leb128", ] @@ -7059,9 +7059,9 @@ dependencies = [ [[package]] name = "wast" -version = "205.0.0" +version = "206.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441a6a195b3b5245e26d450bbcc91366c6b652382a22f63cbe3c73240e13b2bb" +checksum = "68586953ee4960b1f5d84ebf26df3b628b17e6173bc088e0acfbce431469795a" dependencies = [ "bumpalo", "leb128", @@ -7072,9 +7072,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.205.0" +version = "1.206.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19832624d606e7c6bf3cd4caa73578ecec5eac30c768269256d19c79900beb18" +checksum = "da4c6f2606276c6e991aebf441b2fc92c517807393f039992a3e0ad873efe4ad" dependencies = [ "wast", ] diff --git a/Cargo.toml b/Cargo.toml index 0a4a802984..a21f00bf0f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } const_env = { version = "0.1"} -wat = { version = "1.205.0" } +wat = { version = "1.206.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } From 44f3c21c592a08e085cd1c5065cffc458105284e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:09:23 +0000 Subject: [PATCH 28/51] Bump serde from 1.0.198 to 1.0.199 (#2225) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.198 to 1.0.199. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.198...v1.0.199) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c205b7be28..d6f5c07e1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5012,9 +5012,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" dependencies = [ "serde_derive", ] @@ -5030,9 +5030,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index a21f00bf0f..8d63d64e94 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ scale-encode = { version = "0.6.0", default-features = false } scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } -serde = { version = "1.0.198", default-features = false } +serde = { version = "1.0.199", default-features = false } serde_json = { version = "1.0.116" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } From 325e9dc74c875592ecff002af8283c6c16475178 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:15:01 +0000 Subject: [PATCH 29/51] Bump jsonrpsee from 0.22.4 to 0.22.5 (#2226) Bumps [jsonrpsee](https://github.com/paritytech/jsonrpsee) from 0.22.4 to 0.22.5. - [Release notes](https://github.com/paritytech/jsonrpsee/releases) - [Changelog](https://github.com/paritytech/jsonrpsee/blob/v0.22.5/CHANGELOG.md) - [Commits](https://github.com/paritytech/jsonrpsee/compare/v0.22.4...v0.22.5) --- updated-dependencies: - dependency-name: jsonrpsee dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 24 ++++++++++++------------ Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d6f5c07e1e..20d6b81c1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2875,9 +2875,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4b0e68d9af1f066c06d6e2397583795b912d78537d7d907c561e82c13d69fa1" +checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -2888,9 +2888,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92f254f56af1ae84815b9b1325094743dcf05b92abb5e94da2e81a35cff0cada" +checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" dependencies = [ "futures-util", "http 0.2.12", @@ -2909,9 +2909,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "274d68152c24aa78977243bb56f28d7946e6aa309945b37d33174a3f92d89a3a" +checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" dependencies = [ "anyhow", "async-trait", @@ -2932,9 +2932,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac13bc1e44cd00448a5ff485824a128629c945f02077804cb659c07a0ba41395" +checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" dependencies = [ "async-trait", "hyper 0.14.28", @@ -2952,9 +2952,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dc828e537868d6b12bbb07ec20324909a22ced6efca0057c825c3e1126b2c6d" +checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d" dependencies = [ "anyhow", "beef", @@ -2965,9 +2965,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f00abe918bf34b785f87459b9205790e5361a3f7437adb50e928dc243f27eb" +checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" dependencies = [ "http 0.2.12", "jsonrpsee-client-transport", diff --git a/Cargo.toml b/Cargo.toml index 8d63d64e94..347c0938a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,7 @@ funty = { version = "2.0.0" } heck = { version = "0.5.0" } impl-serde = { version = "0.4.0", default-features = false } itertools = { version = "0.12", default-features = false } -jsonrpsee = { version = "0.22.4" } +jsonrpsee = { version = "0.22.5" } linkme = { version = "0.3.25" } num-traits = { version = "0.2", default-features = false } paste = { version = "1.0" } From 14034a987cacbe54b52a89695296070ba6dbc8ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 20:35:55 +0000 Subject: [PATCH 30/51] Bump schemars from 0.8.16 to 0.8.17 (#2227) Bumps [schemars](https://github.com/GREsau/schemars) from 0.8.16 to 0.8.17. - [Release notes](https://github.com/GREsau/schemars/releases) - [Changelog](https://github.com/GREsau/schemars/blob/master/CHANGELOG.md) - [Commits](https://github.com/GREsau/schemars/compare/v0.8.16...v0.8.17) --- updated-dependencies: - dependency-name: schemars dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 20d6b81c1a..7ec82f907b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4847,9 +4847,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.16" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +checksum = "7f55c82c700538496bdc329bb4918a81f87cc8888811bd123cf325a0f2f8d309" dependencies = [ "dyn-clone", "schemars_derive", @@ -4859,14 +4859,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.16" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +checksum = "83263746fe5e32097f06356968a077f96089739c927a61450efa069905eec108" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 1.0.109", + "syn 2.0.58", ] [[package]] @@ -5041,13 +5041,13 @@ dependencies = [ [[package]] name = "serde_derive_internals" -version = "0.26.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.58", ] [[package]] From cdf7220d9765eb834ac227be808f50b47255bc34 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 30 Apr 2024 17:48:30 +0100 Subject: [PATCH 31/51] Refactor: separate different types of builders into different files (#2228) * Move call_flags from builder/params into call types * Promote call_builder mod to dir * Move call types to their own files * Move delegate types * Complete separating call builder types --- crates/env/src/call/call_builder.rs | 1124 ------------------ crates/env/src/call/call_builder/call.rs | 344 ++++++ crates/env/src/call/call_builder/call_v1.rs | 297 +++++ crates/env/src/call/call_builder/delegate.rs | 249 ++++ crates/env/src/call/call_builder/mod.rs | 357 ++++++ 5 files changed, 1247 insertions(+), 1124 deletions(-) delete mode 100644 crates/env/src/call/call_builder.rs create mode 100644 crates/env/src/call/call_builder/call.rs create mode 100644 crates/env/src/call/call_builder/call_v1.rs create mode 100644 crates/env/src/call/call_builder/delegate.rs create mode 100644 crates/env/src/call/call_builder/mod.rs diff --git a/crates/env/src/call/call_builder.rs b/crates/env/src/call/call_builder.rs deleted file mode 100644 index 056aa03400..0000000000 --- a/crates/env/src/call/call_builder.rs +++ /dev/null @@ -1,1124 +0,0 @@ -// Copyright (C) Use Ink (UK) Ltd. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use crate::{ - call::{ - utils::{ - EmptyArgumentList, - ReturnType, - Set, - Unset, - }, - Execution, - ExecutionInput, - }, - types::Gas, - Environment, - Error, -}; -use core::marker::PhantomData; -use num_traits::Zero; -use pallet_contracts_uapi::CallFlags; - -/// The final parameters to the cross-contract call. -#[derive(Debug)] -pub struct CallParams -where - E: Environment, -{ - /// A marker to indicate which type of call to perform. - call_type: CallType, - /// The flags used to change the behavior of a contract call. - call_flags: CallFlags, - /// The expected return type. - _return_type: ReturnType, - /// The inputs to the execution which is a selector and encoded arguments. - exec_input: ExecutionInput, - /// `Environment` is used by `CallType` for correct types - _phantom: PhantomData E>, -} - -impl CallParams -where - E: Environment, -{ - /// Returns the call flags. - #[inline] - pub fn call_flags(&self) -> &CallFlags { - &self.call_flags - } - - /// Returns the execution input. - #[inline] - pub fn exec_input(&self) -> &ExecutionInput { - &self.exec_input - } -} - -impl CallParams, Args, R> -where - E: Environment, -{ - /// Returns the account ID of the called contract instance. - #[inline] - pub fn callee(&self) -> &E::AccountId { - &self.call_type.callee - } - - /// Returns the chosen gas limit for the called contract execution. - #[inline] - pub fn gas_limit(&self) -> Gas { - self.call_type.gas_limit - } - - /// Returns the transferred value for the called contract. - #[inline] - pub fn transferred_value(&self) -> &E::Balance { - &self.call_type.transferred_value - } -} - -impl CallParams, Args, R> -where - E: Environment, -{ - /// Returns the account ID of the called contract instance. - #[inline] - pub fn callee(&self) -> &E::AccountId { - &self.call_type.callee - } - - /// Returns the chosen ref time limit for the called contract execution. - #[inline] - pub fn ref_time_limit(&self) -> u64 { - self.call_type.ref_time_limit - } - - /// Returns the chosen proof size limit for the called contract execution. - #[inline] - pub fn proof_size_limit(&self) -> u64 { - self.call_type.proof_size_limit - } - - /// Returns the chosen storage deposit limit for the called contract execution. - #[inline] - pub fn storage_deposit_limit(&self) -> Option<&E::Balance> { - self.call_type.storage_deposit_limit.as_ref() - } - - /// Returns the transferred value for the called contract. - #[inline] - pub fn transferred_value(&self) -> &E::Balance { - &self.call_type.transferred_value - } -} - -impl CallParams, Args, R> -where - E: Environment, -{ - /// Returns the code hash which we use to perform a delegate call. - #[inline] - pub fn code_hash(&self) -> &E::Hash { - &self.call_type.code_hash - } -} - -impl CallParams, Args, R> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invokes the contract with the given built-up call parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. - pub fn invoke(&self) -> R { - crate::invoke_contract_v1(self) - .unwrap_or_else(|env_error| { - panic!("Cross-contract call failed with {env_error:?}") - }) - .unwrap_or_else(|lang_error| { - panic!("Cross-contract call failed with {lang_error:?}") - }) - } - - /// Invokes the contract with the given built-up call parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(&self) -> Result, crate::Error> { - crate::invoke_contract_v1(self) - } -} - -impl CallParams, Args, R> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invokes the contract with the given built-up call parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. - pub fn invoke(&self) -> R { - crate::invoke_contract(self) - .unwrap_or_else(|env_error| { - panic!("Cross-contract call failed with {env_error:?}") - }) - .unwrap_or_else(|lang_error| { - panic!("Cross-contract call failed with {lang_error:?}") - }) - } - - /// Invokes the contract with the given built-up call parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(&self) -> Result, crate::Error> { - crate::invoke_contract(self) - } -} - -impl CallParams, Args, R> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invoke the contract using Delegate Call semantics with the given built-up call - /// parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. - pub fn invoke(&self) -> R { - crate::invoke_contract_delegate(self) - .unwrap_or_else(|env_error| { - panic!("Cross-contract call failed with {env_error:?}") - }) - .unwrap_or_else(|lang_error| { - panic!("Cross-contract call failed with {lang_error:?}") - }) - } - - /// Invoke the contract using Delegate Call semantics with the given built-up call - /// parameters. - /// - /// Returns the result of the contract execution. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(&self) -> Result, crate::Error> { - crate::invoke_contract_delegate(self) - } -} - -/// Returns a new [`CallBuilder`] to build up the parameters to a cross-contract call. -/// -/// # Example -/// -/// **Note:** The shown examples panic because there is currently no cross-calling -/// support in the off-chain testing environment. However, this code -/// should work fine in on-chain environments. -/// -/// ## Example 1: No Return Value -/// -/// The below example shows calling of a message of another contract that does -/// not return any value back to its caller. The called function: -/// -/// - has a selector equal to `0xDEADBEEF` -/// - is provided with 5000 units of gas for its execution -/// - is provided with 10 units of transferred value for the contract instance -/// - receives the following arguments in order 1. an `i32` with value `42` 2. a `bool` -/// with value `true` 3. an array of 32 `u8` with value `0x10` -/// -/// ```should_panic -/// # use ::ink_env::{ -/// # Environment, -/// # DefaultEnvironment, -/// # call::{build_call, Selector, ExecutionInput} -/// # }; -/// # use ink_env::call::CallV1; -/// # type AccountId = ::AccountId; -/// # type Balance = ::Balance; -/// build_call::() -/// .call_v1(AccountId::from([0x42; 32])) -/// .gas_limit(5000) -/// .transferred_value(10) -/// .exec_input( -/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) -/// .push_arg(42u8) -/// .push_arg(true) -/// .push_arg(&[0x10u8; 32]), -/// ) -/// .returns::<()>() -/// .invoke(); -/// ``` -/// -/// ## Example 2: With Return Value -/// -/// The below example shows calling of a message of another contract that does -/// return a `i32` value back to its caller. The called function: -/// -/// - has a selector equal to `0xDEADBEEF` -/// - is provided with 5000 units of gas for its execution -/// - is provided with 10 units of transferred value for the contract instance -/// - receives the following arguments in order 1. an `i32` with value `42` 2. a `bool` -/// with value `true` 3. an array of 32 `u8` with value `0x10` -/// -/// ```should_panic -/// # use ::ink_env::{ -/// # Environment, -/// # DefaultEnvironment, -/// # call::{build_call, Selector, ExecutionInput, CallV1}, -/// # }; -/// # type AccountId = ::AccountId; -/// let my_return_value: i32 = build_call::() -/// .call_type(CallV1::new(AccountId::from([0x42; 32]))) -/// .gas_limit(5000) -/// .transferred_value(10) -/// .exec_input( -/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) -/// .push_arg(42u8) -/// .push_arg(true) -/// .push_arg(&[0x10u8; 32]), -/// ) -/// .returns::() -/// .invoke(); -/// ``` -/// -/// ## Example 3: Delegate call -/// -/// **Note:** The shown example panics because there is currently no delegate calling -/// support in the off-chain testing environment. However, this code -/// should work fine in on-chain environments. -/// -/// ```should_panic -/// # use ::ink_env::{ -/// # Environment, -/// # DefaultEnvironment, -/// # call::{build_call, Selector, ExecutionInput, utils::ReturnType, DelegateCall}, -/// # }; -/// # use ink_primitives::Clear; -/// # type AccountId = ::AccountId; -/// let my_return_value: i32 = build_call::() -/// .delegate(::Hash::CLEAR_HASH) -/// .exec_input( -/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) -/// .push_arg(42u8) -/// .push_arg(true) -/// .push_arg(&[0x10u8; 32]) -/// ) -/// .returns::() -/// .invoke(); -/// ``` -/// -/// # Handling `LangError`s -/// -/// It is also important to note that there are certain types of errors which can happen -/// during cross-contract calls which can be handled know as -/// [`LangError`][`ink_primitives::LangError`]. -/// -/// If you want to handle these errors use the [`CallBuilder::try_invoke`] methods instead -/// of the [`CallBuilder::invoke`] ones. -/// -/// **Note:** The shown examples panic because there is currently no cross-calling -/// support in the off-chain testing environment. However, this code -/// should work fine in on-chain environments. -/// -/// ## Example: Handling a `LangError` -/// -/// ```should_panic -/// # use ::ink_env::{ -/// # Environment, -/// # DefaultEnvironment, -/// # call::{build_call, Selector, ExecutionInput} -/// # }; -/// # use ink_env::call::CallV1; -/// # type AccountId = ::AccountId; -/// # type Balance = ::Balance; -/// let call_result = build_call::() -/// .call_v1(AccountId::from([0x42; 32])) -/// .gas_limit(5000) -/// .transferred_value(10) -/// .try_invoke() -/// .expect("Got an error from the Contract's pallet."); -/// -/// match call_result { -/// Ok(_) => unimplemented!(), -/// Err(e @ ink_primitives::LangError::CouldNotReadInput) => unimplemented!(), -/// Err(_) => unimplemented!(), -/// } -/// ``` -#[allow(clippy::type_complexity)] -pub fn build_call() -> CallBuilder< - E, - Unset>, - Unset>, - Unset>, -> -where - E: Environment, -{ - CallBuilder { - call_type: Default::default(), - call_flags: CallFlags::empty(), - exec_input: Default::default(), - return_type: Default::default(), - _phantom: Default::default(), - } -} - -/// The legacy call type for cross-contract calls. Performs a cross-contract call to -/// `callee` with gas limit `gas_limit`, transferring `transferred_value` of currency. -/// -/// Calls into the original `call` host function. -#[derive(Clone)] -pub struct CallV1 { - callee: E::AccountId, - gas_limit: Gas, - transferred_value: E::Balance, -} - -impl CallV1 { - /// Returns a clean builder for [`CallV1`]. - pub fn new(callee: E::AccountId) -> Self { - Self { - callee, - gas_limit: Default::default(), - transferred_value: E::Balance::zero(), - } - } -} - -impl CallV1 -where - E: Environment, -{ - /// Sets the `gas_limit` for the current cross-contract call. - pub fn gas_limit(self, gas_limit: Gas) -> Self { - CallV1 { - callee: self.callee, - gas_limit, - transferred_value: self.transferred_value, - } - } - - /// Sets the `transferred_value` for the current cross-contract call. - pub fn transferred_value(self, transferred_value: E::Balance) -> Self { - CallV1 { - callee: self.callee, - gas_limit: self.gas_limit, - transferred_value, - } - } -} - -/// The default call type for cross-contract calls, for calling into the latest `call_v2` -/// host function. This adds the additional weight limit parameter `proof_size_limit` as -/// well as `storage_deposit_limit`. -#[derive(Clone)] -pub struct Call { - callee: E::AccountId, - ref_time_limit: u64, - proof_size_limit: u64, - storage_deposit_limit: Option, - transferred_value: E::Balance, -} - -impl Call { - /// Returns a clean builder for [`CallV1`]. - pub fn new(callee: E::AccountId) -> Self { - Self { - callee, - ref_time_limit: Default::default(), - proof_size_limit: Default::default(), - storage_deposit_limit: None, - transferred_value: E::Balance::zero(), - } - } -} - -/// The `delegatecall` call type. Performs a call with the given code hash. -#[derive(Clone)] -pub struct DelegateCall { - code_hash: E::Hash, -} - -impl DelegateCall { - /// Returns a clean builder for [`DelegateCall`] - pub const fn new(code_hash: E::Hash) -> Self { - DelegateCall { code_hash } - } -} - -impl DelegateCall { - /// Sets the `code_hash` to perform a delegate call with. - pub fn code_hash(self, code_hash: E::Hash) -> Self { - DelegateCall { code_hash } - } -} - -/// Builds up a cross contract call. -#[derive(Clone)] -pub struct CallBuilder -where - E: Environment, -{ - /// The current parameters that have been built up so far. - call_type: CallType, - call_flags: CallFlags, - exec_input: Args, - return_type: RetType, - _phantom: PhantomData E>, -} - -impl From> - for CallBuilder< - E, - Unset>, - Set>, - Set>, - > -where - E: Environment, -{ - fn from(invoke: Execution) -> Self { - CallBuilder { - call_type: Default::default(), - call_flags: CallFlags::empty(), - exec_input: Set(invoke.input), - return_type: Set(invoke.output), - _phantom: Default::default(), - } - } -} - -impl CallBuilder, Args, RetType> -where - E: Environment, -{ - /// The type of the call. - #[inline] - #[must_use] - pub fn call_type( - self, - call_type: NewCallType, - ) -> CallBuilder, Args, RetType> { - CallBuilder { - call_type: Set(call_type), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl CallBuilder -where - E: Environment, -{ - /// The flags used to change the behavior of the contract call. - #[inline] - #[must_use] - pub fn call_flags( - self, - call_flags: CallFlags, - ) -> CallBuilder { - CallBuilder { - call_type: self.call_type, - call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl CallBuilder>> -where - E: Environment, -{ - /// Sets the type of the returned value upon the execution of the call. - /// - /// # Note - /// - /// Either use `.returns::<()>` to signal that the call does not return a value - /// or use `.returns::` to signal that the call returns a value of type `T`. - #[inline] - pub fn returns(self) -> CallBuilder>> { - CallBuilder { - call_type: self.call_type, - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: Set(Default::default()), - _phantom: Default::default(), - } - } -} - -impl - CallBuilder>, RetType> -where - E: Environment, -{ - /// Sets the execution input to the given value. - pub fn exec_input( - self, - exec_input: ExecutionInput, - ) -> CallBuilder>, RetType> { - CallBuilder { - call_type: self.call_type, - call_flags: self.call_flags, - exec_input: Set(exec_input), - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl CallBuilder, Args, RetType> -where - E: Environment, -{ - /// Prepares the `CallBuilder` for a cross-contract [`CallV1`], calling into the - /// original `call` host function. - pub fn call_v1( - self, - callee: E::AccountId, - ) -> CallBuilder>, Args, RetType> { - CallBuilder { - call_type: Set(CallV1::new(callee)), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } - - /// Prepares the `CallBuilder` for a cross-contract [`Call`] to the latest `call_v2` - /// host function. - pub fn call( - self, - callee: E::AccountId, - ) -> CallBuilder>, Args, RetType> { - CallBuilder { - call_type: Set(Call::new(callee)), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } - - /// Prepares the `CallBuilder` for a cross-contract [`DelegateCall`]. - pub fn delegate( - self, - code_hash: E::Hash, - ) -> CallBuilder>, Args, RetType> { - CallBuilder { - call_type: Set(DelegateCall::new(code_hash)), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl CallBuilder>, Args, RetType> -where - E: Environment, -{ - /// Sets the `gas_limit` for the current cross-contract call. - pub fn gas_limit(self, gas_limit: Gas) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(CallV1 { - callee: call_type.callee, - gas_limit, - transferred_value: call_type.transferred_value, - }), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } - - /// Sets the `transferred_value` for the current cross-contract call. - pub fn transferred_value(self, transferred_value: E::Balance) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(CallV1 { - callee: call_type.callee, - gas_limit: call_type.gas_limit, - transferred_value, - }), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl CallBuilder>, Args, RetType> -where - E: Environment, -{ - /// Switch to the original `call` host function API, which only allows the `gas_limit` - /// limit parameter (equivalent to the `ref_time_limit` in the latest `call_v2`). - /// - /// This method instance is used to allow usage of the generated call builder methods - /// for messages which initialize the builder with the new [`Call`] type. - pub fn call_v1(self) -> CallBuilder>, Args, RetType> { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(CallV1 { - callee: call_type.callee, - gas_limit: call_type.ref_time_limit, - transferred_value: call_type.transferred_value, - }), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } - - /// Sets the `ref_time_limit` part of the weight limit for the current cross-contract - /// call. - /// - /// `ref_time` refers to the amount of computational time that can be - /// used for execution, in picoseconds. You can find more info - /// [here](https://use.ink/basics/gas). - pub fn ref_time_limit(self, ref_time_limit: Gas) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(Call { - ref_time_limit, - ..call_type - }), - ..self - } - } - - /// Sets the `proof_size_limit` part of the weight limit for the current - /// cross-contract call. - /// - /// `proof_size` refers to the amount of storage in bytes that a transaction - /// is allowed to read. You can find more info - /// [here](https://use.ink/basics/gas). - /// - /// **Note** - /// - /// This limit is only relevant for parachains, not for standalone chains which do not - /// require sending a Proof-of-validity to the relay chain. - pub fn proof_size_limit(self, proof_size_limit: Gas) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(Call { - proof_size_limit, - ..call_type - }), - ..self - } - } - - /// Sets the `storage_deposit_limit` for the current cross-contract call. - /// - /// The `storage_deposit_limit` specifies the amount of user funds that - /// can be charged for creating storage. You can find more info - /// [here](https://use.ink/basics/gas). - pub fn storage_deposit_limit(self, storage_deposit_limit: E::Balance) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(Call { - storage_deposit_limit: Some(storage_deposit_limit), - ..call_type - }), - ..self - } - } - - /// Sets the `transferred_value` for the current cross-contract call. - /// - /// This value specifies the amount of user funds that are transferred - /// to the other contract with this call. - pub fn transferred_value(self, transferred_value: E::Balance) -> Self { - let call_type = self.call_type.value(); - CallBuilder { - call_type: Set(Call { - transferred_value, - ..call_type - }), - ..self - } - } -} - -impl CallBuilder>, Args, RetType> -where - E: Environment, -{ - /// Sets the `code_hash` to perform a delegate call with. - pub fn code_hash(self, code_hash: E::Hash) -> Self { - CallBuilder { - call_type: Set(DelegateCall { code_hash }), - call_flags: self.call_flags, - exec_input: self.exec_input, - return_type: self.return_type, - _phantom: Default::default(), - } - } -} - -impl - CallBuilder>, Set>, Set>> -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, Args, RetType> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: self.exec_input.value(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder>, Set>, Set>> -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, Args, RetType> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: self.exec_input.value(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder< - E, - Set>, - Set>, - Set>, - > -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, Args, RetType> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: self.exec_input.value(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder< - E, - Set>, - Unset>, - Unset, - > -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, EmptyArgumentList, ()> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: Default::default(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder>, Unset>, Unset> -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, EmptyArgumentList, ()> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: Default::default(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder< - E, - Set>, - Unset>, - Unset, - > -where - E: Environment, -{ - /// Finalizes the call builder to call a function. - pub fn params(self) -> CallParams, EmptyArgumentList, ()> { - CallParams { - call_type: self.call_type.value(), - call_flags: self.call_flags, - _return_type: Default::default(), - exec_input: Default::default(), - _phantom: self._phantom, - } - } -} - -impl - CallBuilder< - E, - Set>, - Unset>, - Unset>, - > -where - E: Environment, -{ - /// Invokes the cross-chain function call. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. - pub fn invoke(self) { - self.params().invoke() - } - - /// Invokes the cross-chain function call. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} - -impl - CallBuilder< - E, - Set>, - Unset>, - Unset>, - > -where - E: Environment, -{ - /// Invokes the cross-chain function call. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. - pub fn invoke(self) { - self.params().invoke() - } - - /// Invokes the cross-chain function call. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} - -impl - CallBuilder< - E, - Set>, - Unset>, - Unset>, - > -where - E: Environment, -{ - /// Invokes the cross-chain function call using Delegate Call semantics. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] - /// If you want to handle those use the [`try_invoke`][`CallBuilder::try_invoke`] - /// method instead. - pub fn invoke(self) { - self.params().invoke() - } - - /// Invokes the cross-chain function call using Delegate Call semantics. - /// - /// # Note - /// - /// On failure this an [`ink::env::Error`][`crate::Error`] which can be handled by the - /// caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} - -impl - CallBuilder>, Set>, Set>> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invokes the cross-chain function call and returns the result. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. - pub fn invoke(self) -> R { - self.params().invoke() - } - - /// Invokes the cross-chain function call and returns the result. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} - -impl - CallBuilder>, Set>, Set>> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invokes the cross-chain function call and returns the result. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. - pub fn invoke(self) -> R { - self.params().invoke() - } - - /// Invokes the cross-chain function call and returns the result. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} - -impl - CallBuilder>, Set>, Set>> -where - E: Environment, - Args: scale::Encode, - R: scale::Decode, -{ - /// Invokes the cross-chain function call using Delegate Call semantics and returns - /// the result. - /// - /// # Panics - /// - /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an - /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle - /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. - pub fn invoke(self) -> R { - self.params().invoke() - } - - /// Invokes the cross-chain function call using Delegate Call semantics and returns - /// the result. - /// - /// # Note - /// - /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner - /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be - /// handled by the caller. - pub fn try_invoke(self) -> Result, Error> { - self.params().try_invoke() - } -} diff --git a/crates/env/src/call/call_builder/call.rs b/crates/env/src/call/call_builder/call.rs new file mode 100644 index 0000000000..087d700a61 --- /dev/null +++ b/crates/env/src/call/call_builder/call.rs @@ -0,0 +1,344 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::{ + call::{ + common::{ + ReturnType, + Set, + Unset, + }, + execution::EmptyArgumentList, + CallBuilder, + CallParams, + CallV1, + ExecutionInput, + }, + Environment, + Error, + Gas, +}; +use num_traits::Zero; +use pallet_contracts_uapi::CallFlags; + +/// The default call type for cross-contract calls, for calling into the latest `call_v2` +/// host function. This adds the additional weight limit parameter `proof_size_limit` as +/// well as `storage_deposit_limit`. +#[derive(Clone)] +pub struct Call { + callee: E::AccountId, + ref_time_limit: u64, + proof_size_limit: u64, + storage_deposit_limit: Option, + transferred_value: E::Balance, + call_flags: CallFlags, +} + +impl Call { + /// Returns a clean builder for [`Call`]. + pub fn new(callee: E::AccountId) -> Self { + Self { + callee, + ref_time_limit: Default::default(), + proof_size_limit: Default::default(), + storage_deposit_limit: None, + transferred_value: E::Balance::zero(), + call_flags: CallFlags::empty(), + } + } +} + +impl CallBuilder>, Args, RetType> +where + E: Environment, +{ + /// Switch to the original `call` host function API, which only allows the `gas_limit` + /// limit parameter (equivalent to the `ref_time_limit` in the latest `call_v2`). + /// + /// This method instance is used to allow usage of the generated call builder methods + /// for messages which initialize the builder with the new [`Call`] type. + pub fn call_v1(self) -> CallBuilder>, Args, RetType> { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(CallV1 { + callee: call_type.callee, + gas_limit: call_type.ref_time_limit, + transferred_value: call_type.transferred_value, + call_flags: call_type.call_flags, + }), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } + + /// Sets the `ref_time_limit` part of the weight limit for the current cross-contract + /// call. + /// + /// `ref_time` refers to the amount of computational time that can be + /// used for execution, in picoseconds. You can find more info + /// [here](https://use.ink/basics/gas). + pub fn ref_time_limit(self, ref_time_limit: Gas) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(Call { + ref_time_limit, + ..call_type + }), + ..self + } + } + + /// Sets the `proof_size_limit` part of the weight limit for the current + /// cross-contract call. + /// + /// `proof_size` refers to the amount of storage in bytes that a transaction + /// is allowed to read. You can find more info + /// [here](https://use.ink/basics/gas). + /// + /// **Note** + /// + /// This limit is only relevant for parachains, not for standalone chains which do not + /// require sending a Proof-of-validity to the relay chain. + pub fn proof_size_limit(self, proof_size_limit: Gas) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(Call { + proof_size_limit, + ..call_type + }), + ..self + } + } + + /// Sets the `storage_deposit_limit` for the current cross-contract call. + /// + /// The `storage_deposit_limit` specifies the amount of user funds that + /// can be charged for creating storage. You can find more info + /// [here](https://use.ink/basics/gas). + pub fn storage_deposit_limit(self, storage_deposit_limit: E::Balance) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(Call { + storage_deposit_limit: Some(storage_deposit_limit), + ..call_type + }), + ..self + } + } + + /// Sets the `transferred_value` for the current cross-contract call. + /// + /// This value specifies the amount of user funds that are transferred + /// to the other contract with this call. + pub fn transferred_value(self, transferred_value: E::Balance) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(Call { + transferred_value, + ..call_type + }), + ..self + } + } + + /// Sets the `call_flags` for the current cross-contract call. + /// + /// These flags are used to change the behavior of the contract call. + pub fn call_flags(self, call_flags: CallFlags) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(Call { + call_flags, + ..call_type + }), + ..self + } + } +} + +impl + CallBuilder>, Set>, Set>> +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, Args, RetType> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: self.exec_input.value(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder>, Unset>, Unset> +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, EmptyArgumentList, ()> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: Default::default(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder< + E, + Set>, + Unset>, + Unset>, + > +where + E: Environment, +{ + /// Invokes the cross-chain function call. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. + pub fn invoke(self) { + self.params().invoke() + } + + /// Invokes the cross-chain function call. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl + CallBuilder>, Set>, Set>> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invokes the cross-chain function call and returns the result. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. + pub fn invoke(self) -> R { + self.params().invoke() + } + + /// Invokes the cross-chain function call and returns the result. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl CallParams, Args, R> +where + E: Environment, +{ + /// Returns the account ID of the called contract instance. + #[inline] + pub fn callee(&self) -> &E::AccountId { + &self.call_type.callee + } + + /// Returns the chosen ref time limit for the called contract execution. + #[inline] + pub fn ref_time_limit(&self) -> u64 { + self.call_type.ref_time_limit + } + + /// Returns the chosen proof size limit for the called contract execution. + #[inline] + pub fn proof_size_limit(&self) -> u64 { + self.call_type.proof_size_limit + } + + /// Returns the chosen storage deposit limit for the called contract execution. + #[inline] + pub fn storage_deposit_limit(&self) -> Option<&E::Balance> { + self.call_type.storage_deposit_limit.as_ref() + } + + /// Returns the transferred value for the called contract. + #[inline] + pub fn transferred_value(&self) -> &E::Balance { + &self.call_type.transferred_value + } + + /// Returns the call flags. + #[inline] + pub fn call_flags(&self) -> &CallFlags { + &self.call_type.call_flags + } +} + +impl CallParams, Args, R> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invokes the contract with the given built-up call parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. + pub fn invoke(&self) -> R { + crate::invoke_contract(self) + .unwrap_or_else(|env_error| { + panic!("Cross-contract call failed with {env_error:?}") + }) + .unwrap_or_else(|lang_error| { + panic!("Cross-contract call failed with {lang_error:?}") + }) + } + + /// Invokes the contract with the given built-up call parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(&self) -> Result, crate::Error> { + crate::invoke_contract(self) + } +} diff --git a/crates/env/src/call/call_builder/call_v1.rs b/crates/env/src/call/call_builder/call_v1.rs new file mode 100644 index 0000000000..e3563d1bb1 --- /dev/null +++ b/crates/env/src/call/call_builder/call_v1.rs @@ -0,0 +1,297 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use super::CallParams; +use crate::{ + call::{ + common::{ + ReturnType, + Set, + Unset, + }, + execution::EmptyArgumentList, + CallBuilder, + ExecutionInput, + }, + Environment, + Error, + Gas, +}; +use num_traits::Zero; +use pallet_contracts_uapi::CallFlags; + +/// The legacy call type for cross-contract calls. Performs a cross-contract call to +/// `callee` with gas limit `gas_limit`, transferring `transferred_value` of currency. +/// +/// Calls into the original `call` host function. +#[derive(Clone)] +pub struct CallV1 { + pub(crate) callee: E::AccountId, + pub(crate) gas_limit: Gas, + pub(crate) transferred_value: E::Balance, + pub(crate) call_flags: CallFlags, +} + +impl CallV1 { + /// Returns a clean builder for [`CallV1`]. + pub fn new(callee: E::AccountId) -> Self { + Self { + callee, + gas_limit: Default::default(), + transferred_value: E::Balance::zero(), + call_flags: CallFlags::empty(), + } + } +} + +impl CallV1 +where + E: Environment, +{ + /// Sets the `gas_limit` for the current cross-contract call. + pub fn gas_limit(self, gas_limit: Gas) -> Self { + CallV1 { gas_limit, ..self } + } + + /// Sets the `transferred_value` for the current cross-contract call. + pub fn transferred_value(self, transferred_value: E::Balance) -> Self { + CallV1 { + transferred_value, + ..self + } + } +} + +impl CallBuilder>, Args, RetType> +where + E: Environment, +{ + /// Sets the `gas_limit` for the current cross-contract call. + pub fn gas_limit(self, gas_limit: Gas) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(CallV1 { + callee: call_type.callee, + gas_limit, + transferred_value: call_type.transferred_value, + call_flags: call_type.call_flags, + }), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } + + /// Sets the `transferred_value` for the current cross-contract call. + pub fn transferred_value(self, transferred_value: E::Balance) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(CallV1 { + callee: call_type.callee, + gas_limit: call_type.gas_limit, + transferred_value, + call_flags: call_type.call_flags, + }), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } + + /// Sets the flags used to change the behavior of the contract call. + #[inline] + #[must_use] + pub fn call_flags(self, call_flags: CallFlags) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(CallV1 { + callee: call_type.callee, + gas_limit: call_type.gas_limit, + transferred_value: call_type.transferred_value, + call_flags, + }), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } +} + +impl + CallBuilder>, Set>, Set>> +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, Args, RetType> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: self.exec_input.value(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder< + E, + Set>, + Unset>, + Unset, + > +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, EmptyArgumentList, ()> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: Default::default(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder< + E, + Set>, + Unset>, + Unset>, + > +where + E: Environment, +{ + /// Invokes the cross-chain function call. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. + pub fn invoke(self) { + self.params().invoke() + } + + /// Invokes the cross-chain function call. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl + CallBuilder>, Set>, Set>> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invokes the cross-chain function call and returns the result. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. + pub fn invoke(self) -> R { + self.params().invoke() + } + + /// Invokes the cross-chain function call and returns the result. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl CallParams, Args, R> +where + E: Environment, +{ + /// Returns the account ID of the called contract instance. + #[inline] + pub fn callee(&self) -> &E::AccountId { + &self.call_type.callee + } + + /// Returns the chosen gas limit for the called contract execution. + #[inline] + pub fn gas_limit(&self) -> Gas { + self.call_type.gas_limit + } + + /// Returns the transferred value for the called contract. + #[inline] + pub fn transferred_value(&self) -> &E::Balance { + &self.call_type.transferred_value + } + + /// Returns the call flags. + #[inline] + pub fn call_flags(&self) -> &CallFlags { + &self.call_type.call_flags + } +} + +impl CallParams, Args, R> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invokes the contract with the given built-up call parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. + pub fn invoke(&self) -> R { + crate::invoke_contract_v1(self) + .unwrap_or_else(|env_error| { + panic!("Cross-contract call failed with {env_error:?}") + }) + .unwrap_or_else(|lang_error| { + panic!("Cross-contract call failed with {lang_error:?}") + }) + } + + /// Invokes the contract with the given built-up call parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(&self) -> Result, crate::Error> { + crate::invoke_contract_v1(self) + } +} diff --git a/crates/env/src/call/call_builder/delegate.rs b/crates/env/src/call/call_builder/delegate.rs new file mode 100644 index 0000000000..9473432e71 --- /dev/null +++ b/crates/env/src/call/call_builder/delegate.rs @@ -0,0 +1,249 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::{ + call::{ + common::{ + ReturnType, + Set, + Unset, + }, + execution::EmptyArgumentList, + CallBuilder, + CallParams, + ExecutionInput, + }, + Environment, + Error, +}; +use pallet_contracts_uapi::CallFlags; + +/// The `delegatecall` call type. Performs a call with the given code hash. +#[derive(Clone)] +pub struct DelegateCall { + code_hash: E::Hash, + call_flags: CallFlags, +} + +impl DelegateCall { + /// Returns a clean builder for [`DelegateCall`] + pub const fn new(code_hash: E::Hash) -> Self { + DelegateCall { + code_hash, + call_flags: CallFlags::empty(), + } + } + + /// Sets the `code_hash` to perform a delegate call with. + pub fn code_hash(self, code_hash: E::Hash) -> Self { + DelegateCall { + code_hash, + call_flags: CallFlags::empty(), + } + } +} + +impl CallBuilder>, Args, RetType> +where + E: Environment, +{ + /// Sets the `code_hash` to perform a delegate call with. + pub fn code_hash(self, code_hash: E::Hash) -> Self { + let call_type = self.call_type.value(); + CallBuilder { + call_type: Set(DelegateCall { + code_hash, + ..call_type + }), + ..self + } + } + + /// Sets the `code_hash` to perform a delegate call with. + pub fn call_flags(self, call_flags: CallFlags) -> Self { + CallBuilder { + call_type: Set(DelegateCall { + call_flags, + ..self.call_type.value() + }), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } +} + +impl + CallBuilder< + E, + Set>, + Set>, + Set>, + > +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, Args, RetType> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: self.exec_input.value(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder< + E, + Set>, + Unset>, + Unset, + > +where + E: Environment, +{ + /// Finalizes the call builder to call a function. + pub fn params(self) -> CallParams, EmptyArgumentList, ()> { + CallParams { + call_type: self.call_type.value(), + _return_type: Default::default(), + exec_input: Default::default(), + _phantom: self._phantom, + } + } +} + +impl + CallBuilder< + E, + Set>, + Unset>, + Unset>, + > +where + E: Environment, +{ + /// Invokes the cross-chain function call using Delegate Call semantics. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] + /// If you want to handle those use the [`try_invoke`][`CallBuilder::try_invoke`] + /// method instead. + pub fn invoke(self) { + self.params().invoke() + } + + /// Invokes the cross-chain function call using Delegate Call semantics. + /// + /// # Note + /// + /// On failure this an [`ink::env::Error`][`crate::Error`] which can be handled by the + /// caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl + CallBuilder>, Set>, Set>> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invokes the cross-chain function call using Delegate Call semantics and returns + /// the result. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallBuilder::try_invoke`] method instead. + pub fn invoke(self) -> R { + self.params().invoke() + } + + /// Invokes the cross-chain function call using Delegate Call semantics and returns + /// the result. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(self) -> Result, Error> { + self.params().try_invoke() + } +} + +impl CallParams, Args, R> +where + E: Environment, +{ + /// Returns the code hash which we use to perform a delegate call. + #[inline] + pub fn code_hash(&self) -> &E::Hash { + &self.call_type.code_hash + } + + /// Returns the call flags. + #[inline] + pub fn call_flags(&self) -> &CallFlags { + &self.call_type.call_flags + } +} + +impl CallParams, Args, R> +where + E: Environment, + Args: scale::Encode, + R: scale::Decode, +{ + /// Invoke the contract using Delegate Call semantics with the given built-up call + /// parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Panics + /// + /// This method panics if it encounters an [`ink::env::Error`][`crate::Error`] or an + /// [`ink::primitives::LangError`][`ink_primitives::LangError`]. If you want to handle + /// those use the [`try_invoke`][`CallParams::try_invoke`] method instead. + pub fn invoke(&self) -> R { + crate::invoke_contract_delegate(self) + .unwrap_or_else(|env_error| { + panic!("Cross-contract call failed with {env_error:?}") + }) + .unwrap_or_else(|lang_error| { + panic!("Cross-contract call failed with {lang_error:?}") + }) + } + + /// Invoke the contract using Delegate Call semantics with the given built-up call + /// parameters. + /// + /// Returns the result of the contract execution. + /// + /// # Note + /// + /// On failure this returns an outer [`ink::env::Error`][`crate::Error`] or inner + /// [`ink::primitives::LangError`][`ink_primitives::LangError`], both of which can be + /// handled by the caller. + pub fn try_invoke(&self) -> Result, crate::Error> { + crate::invoke_contract_delegate(self) + } +} diff --git a/crates/env/src/call/call_builder/mod.rs b/crates/env/src/call/call_builder/mod.rs new file mode 100644 index 0000000000..bc9acaead7 --- /dev/null +++ b/crates/env/src/call/call_builder/mod.rs @@ -0,0 +1,357 @@ +// Copyright (C) Use Ink (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +mod call; +mod call_v1; +mod delegate; + +pub use call::Call; +pub use call_v1::CallV1; +pub use delegate::DelegateCall; + +use crate::{ + call::{ + utils::{ + EmptyArgumentList, + ReturnType, + Set, + Unset, + }, + Execution, + ExecutionInput, + }, + Environment, +}; +use core::marker::PhantomData; + +/// The final parameters to the cross-contract call. +#[derive(Debug)] +pub struct CallParams +where + E: Environment, +{ + /// A marker to indicate which type of call to perform. + call_type: CallType, + /// The expected return type. + _return_type: ReturnType, + /// The inputs to the execution which is a selector and encoded arguments. + exec_input: ExecutionInput, + /// `Environment` is used by `CallType` for correct types + _phantom: PhantomData E>, +} + +impl CallParams +where + E: Environment, +{ + /// Returns the execution input. + #[inline] + pub fn exec_input(&self) -> &ExecutionInput { + &self.exec_input + } +} + +/// Returns a new [`CallBuilder`] to build up the parameters to a cross-contract call. +/// +/// # Example +/// +/// **Note:** The shown examples panic because there is currently no cross-calling +/// support in the off-chain testing environment. However, this code +/// should work fine in on-chain environments. +/// +/// ## Example 1: No Return Value +/// +/// The below example shows calling of a message of another contract that does +/// not return any value back to its caller. The called function: +/// +/// - has a selector equal to `0xDEADBEEF` +/// - is provided with 5000 units of gas for its execution +/// - is provided with 10 units of transferred value for the contract instance +/// - receives the following arguments in order 1. an `i32` with value `42` 2. a `bool` +/// with value `true` 3. an array of 32 `u8` with value `0x10` +/// +/// ```should_panic +/// # use ::ink_env::{ +/// # Environment, +/// # DefaultEnvironment, +/// # call::{build_call, Selector, ExecutionInput} +/// # }; +/// # use ink_env::call::CallV1; +/// # type AccountId = ::AccountId; +/// # type Balance = ::Balance; +/// build_call::() +/// .call_v1(AccountId::from([0x42; 32])) +/// .gas_limit(5000) +/// .transferred_value(10) +/// .exec_input( +/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) +/// .push_arg(42u8) +/// .push_arg(true) +/// .push_arg(&[0x10u8; 32]), +/// ) +/// .returns::<()>() +/// .invoke(); +/// ``` +/// +/// ## Example 2: With Return Value +/// +/// The below example shows calling of a message of another contract that does +/// return a `i32` value back to its caller. The called function: +/// +/// - has a selector equal to `0xDEADBEEF` +/// - is provided with 5000 units of gas for its execution +/// - is provided with 10 units of transferred value for the contract instance +/// - receives the following arguments in order 1. an `i32` with value `42` 2. a `bool` +/// with value `true` 3. an array of 32 `u8` with value `0x10` +/// +/// ```should_panic +/// # use ::ink_env::{ +/// # Environment, +/// # DefaultEnvironment, +/// # call::{build_call, Selector, ExecutionInput, CallV1}, +/// # }; +/// # type AccountId = ::AccountId; +/// let my_return_value: i32 = build_call::() +/// .call_type(CallV1::new(AccountId::from([0x42; 32]))) +/// .gas_limit(5000) +/// .transferred_value(10) +/// .exec_input( +/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) +/// .push_arg(42u8) +/// .push_arg(true) +/// .push_arg(&[0x10u8; 32]), +/// ) +/// .returns::() +/// .invoke(); +/// ``` +/// +/// ## Example 3: Delegate call +/// +/// **Note:** The shown example panics because there is currently no delegate calling +/// support in the off-chain testing environment. However, this code +/// should work fine in on-chain environments. +/// +/// ```should_panic +/// # use ::ink_env::{ +/// # Environment, +/// # DefaultEnvironment, +/// # call::{build_call, Selector, ExecutionInput, utils::ReturnType, DelegateCall}, +/// # }; +/// # use ink_primitives::Clear; +/// # type AccountId = ::AccountId; +/// let my_return_value: i32 = build_call::() +/// .delegate(::Hash::CLEAR_HASH) +/// .exec_input( +/// ExecutionInput::new(Selector::new([0xDE, 0xAD, 0xBE, 0xEF])) +/// .push_arg(42u8) +/// .push_arg(true) +/// .push_arg(&[0x10u8; 32]) +/// ) +/// .returns::() +/// .invoke(); +/// ``` +/// +/// # Handling `LangError`s +/// +/// It is also important to note that there are certain types of errors which can happen +/// during cross-contract calls which can be handled know as +/// [`LangError`][`ink_primitives::LangError`]. +/// +/// If you want to handle these errors use the [`CallBuilder::try_invoke`] methods instead +/// of the [`CallBuilder::invoke`] ones. +/// +/// **Note:** The shown examples panic because there is currently no cross-calling +/// support in the off-chain testing environment. However, this code +/// should work fine in on-chain environments. +/// +/// ## Example: Handling a `LangError` +/// +/// ```should_panic +/// # use ::ink_env::{ +/// # Environment, +/// # DefaultEnvironment, +/// # call::{build_call, Selector, ExecutionInput} +/// # }; +/// # use ink_env::call::CallV1; +/// # type AccountId = ::AccountId; +/// # type Balance = ::Balance; +/// let call_result = build_call::() +/// .call_v1(AccountId::from([0x42; 32])) +/// .gas_limit(5000) +/// .transferred_value(10) +/// .try_invoke() +/// .expect("Got an error from the Contract's pallet."); +/// +/// match call_result { +/// Ok(_) => unimplemented!(), +/// Err(e @ ink_primitives::LangError::CouldNotReadInput) => unimplemented!(), +/// Err(_) => unimplemented!(), +/// } +/// ``` +#[allow(clippy::type_complexity)] +pub fn build_call() -> CallBuilder< + E, + Unset>, + Unset>, + Unset>, +> +where + E: Environment, +{ + CallBuilder { + call_type: Default::default(), + exec_input: Default::default(), + return_type: Default::default(), + _phantom: Default::default(), + } +} + +/// Builds up a cross contract call. +#[derive(Clone)] +pub struct CallBuilder +where + E: Environment, +{ + /// The current parameters that have been built up so far. + call_type: CallType, + exec_input: Args, + return_type: RetType, + _phantom: PhantomData E>, +} + +impl From> + for CallBuilder< + E, + Unset>, + Set>, + Set>, + > +where + E: Environment, +{ + fn from(invoke: Execution) -> Self { + CallBuilder { + call_type: Default::default(), + exec_input: Set(invoke.input), + return_type: Set(invoke.output), + _phantom: Default::default(), + } + } +} + +impl CallBuilder, Args, RetType> +where + E: Environment, +{ + /// The type of the call. + #[inline] + #[must_use] + pub fn call_type( + self, + call_type: NewCallType, + ) -> CallBuilder, Args, RetType> { + CallBuilder { + call_type: Set(call_type), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } +} + +impl CallBuilder>> +where + E: Environment, +{ + /// Sets the type of the returned value upon the execution of the call. + /// + /// # Note + /// + /// Either use `.returns::<()>` to signal that the call does not return a value + /// or use `.returns::` to signal that the call returns a value of type `T`. + #[inline] + pub fn returns(self) -> CallBuilder>> { + CallBuilder { + call_type: self.call_type, + exec_input: self.exec_input, + return_type: Set(Default::default()), + _phantom: Default::default(), + } + } +} + +impl + CallBuilder>, RetType> +where + E: Environment, +{ + /// Sets the execution input to the given value. + pub fn exec_input( + self, + exec_input: ExecutionInput, + ) -> CallBuilder>, RetType> { + CallBuilder { + call_type: self.call_type, + exec_input: Set(exec_input), + return_type: self.return_type, + _phantom: Default::default(), + } + } +} + +impl CallBuilder, Args, RetType> +where + E: Environment, +{ + /// Prepares the `CallBuilder` for a cross-contract [`CallV1`], calling into the + /// original `call` host function. + pub fn call_v1( + self, + callee: E::AccountId, + ) -> CallBuilder>, Args, RetType> { + CallBuilder { + call_type: Set(CallV1::new(callee)), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } + + /// Prepares the `CallBuilder` for a cross-contract [`Call`] to the latest `call_v2` + /// host function. + pub fn call( + self, + callee: E::AccountId, + ) -> CallBuilder>, Args, RetType> { + CallBuilder { + call_type: Set(Call::new(callee)), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } + + /// Prepares the `CallBuilder` for a cross-contract [`DelegateCall`]. + pub fn delegate( + self, + code_hash: E::Hash, + ) -> CallBuilder>, Args, RetType> { + CallBuilder { + call_type: Set(DelegateCall::new(code_hash)), + exec_input: self.exec_input, + return_type: self.return_type, + _phantom: Default::default(), + } + } +} From 49d0443467a6a1852b6065b020ba3df6bfbd4d97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 19:33:07 +0000 Subject: [PATCH 32/51] Bump serde from 1.0.199 to 1.0.200 (#2229) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.199 to 1.0.200. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.199...v1.0.200) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7ec82f907b..2e8174e8e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5012,9 +5012,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.199" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" dependencies = [ "serde_derive", ] @@ -5030,9 +5030,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.199" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 347c0938a7..6f0f7a7690 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ scale-encode = { version = "0.6.0", default-features = false } scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } -serde = { version = "1.0.199", default-features = false } +serde = { version = "1.0.200", default-features = false } serde_json = { version = "1.0.116" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } From 8da88ddb768a493be010753c1b04854539444279 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 20:12:16 +0000 Subject: [PATCH 33/51] Bump num-traits from 0.2.18 to 0.2.19 (#2231) Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.18 to 0.2.19. - [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md) - [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.18...num-traits-0.2.19) --- updated-dependencies: - dependency-name: num-traits dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2e8174e8e4..fc4a08966a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3394,9 +3394,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] From 8f9834945304961de4f5b1343738313f3ab6a60c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 20:17:55 +0000 Subject: [PATCH 34/51] Bump schemars from 0.8.17 to 0.8.19 (#2232) Bumps [schemars](https://github.com/GREsau/schemars) from 0.8.17 to 0.8.19. - [Release notes](https://github.com/GREsau/schemars/releases) - [Changelog](https://github.com/GREsau/schemars/blob/master/CHANGELOG.md) - [Commits](https://github.com/GREsau/schemars/compare/v0.8.17...v0.8.19) --- updated-dependencies: - dependency-name: schemars dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fc4a08966a..884cfe7d92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4847,9 +4847,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.17" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f55c82c700538496bdc329bb4918a81f87cc8888811bd123cf325a0f2f8d309" +checksum = "fc6e7ed6919cb46507fb01ff1654309219f62b4d603822501b0b80d42f6f21ef" dependencies = [ "dyn-clone", "schemars_derive", @@ -4859,9 +4859,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.17" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83263746fe5e32097f06356968a077f96089739c927a61450efa069905eec108" +checksum = "185f2b7aa7e02d418e453790dde16890256bbd2bcd04b7dc5348811052b53f49" dependencies = [ "proc-macro2", "quote", From e1f5af2eef3e9b8ec15de6e98df21814a949754c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 20:19:16 +0000 Subject: [PATCH 35/51] Bump trybuild from 1.0.91 to 1.0.93 (#2233) Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.91 to 1.0.93. - [Release notes](https://github.com/dtolnay/trybuild/releases) - [Commits](https://github.com/dtolnay/trybuild/compare/1.0.91...1.0.93) --- updated-dependencies: - dependency-name: trybuild dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 5 ++--- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 884cfe7d92..1a8f348e4e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6717,13 +6717,12 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad7eb6319ebadebca3dacf1f85a93bc54b73dd81b9036795f73de7ddfe27d5a" +checksum = "2a0e5d82932dfbf36df38de5df0cfe846d13430b3ae3fdc48b2e91ed692c8df7" dependencies = [ "dissimilar", "glob", - "once_cell", "serde", "serde_derive", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 6f0f7a7690..685cf79176 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,7 +76,7 @@ thiserror = { version = "1.0.59" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } -trybuild = { version = "1.0.91" } +trybuild = { version = "1.0.93" } wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } From 4436483194942a7a0c9f3f28fb78e09c0866adfd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 19:54:08 +0000 Subject: [PATCH 36/51] Bump linkme from 0.3.25 to 0.3.26 (#2234) Bumps [linkme](https://github.com/dtolnay/linkme) from 0.3.25 to 0.3.26. - [Release notes](https://github.com/dtolnay/linkme/releases) - [Commits](https://github.com/dtolnay/linkme/compare/0.3.25...0.3.26) --- updated-dependencies: - dependency-name: linkme dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a8f348e4e..703d71bf0f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3082,18 +3082,18 @@ dependencies = [ [[package]] name = "linkme" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" +checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" +checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 685cf79176..b1cfe28b84 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ heck = { version = "0.5.0" } impl-serde = { version = "0.4.0", default-features = false } itertools = { version = "0.12", default-features = false } jsonrpsee = { version = "0.22.5" } -linkme = { version = "0.3.25" } +linkme = { version = "0.3.26" } num-traits = { version = "0.2", default-features = false } paste = { version = "1.0" } pretty_assertions = { version = "1" } From 7c28e2860f104f21b4811a8c11917aacc1526a4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 20:01:38 +0000 Subject: [PATCH 37/51] Bump trybuild from 1.0.93 to 1.0.94 (#2237) Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.93 to 1.0.94. - [Release notes](https://github.com/dtolnay/trybuild/releases) - [Commits](https://github.com/dtolnay/trybuild/compare/1.0.93...1.0.94) --- updated-dependencies: - dependency-name: trybuild dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 703d71bf0f..195ae169fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6717,9 +6717,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0e5d82932dfbf36df38de5df0cfe846d13430b3ae3fdc48b2e91ed692c8df7" +checksum = "bfe21c256d6fba8499cf9d9b1c24971bec43a369d81c52e024adc7670cf112df" dependencies = [ "dissimilar", "glob", diff --git a/Cargo.toml b/Cargo.toml index b1cfe28b84..b72cbf306e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,7 +76,7 @@ thiserror = { version = "1.0.59" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } -trybuild = { version = "1.0.93" } +trybuild = { version = "1.0.94" } wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } From 5ff337efdf8e7ab1117fd65977d39c878a752461 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 20:01:56 +0000 Subject: [PATCH 38/51] Bump thiserror from 1.0.59 to 1.0.60 (#2236) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.60. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 195ae169fb..c12336969d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6329,18 +6329,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index b72cbf306e..712c77b368 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,7 @@ subxt-metadata = { version = "0.35.2" } subxt-signer = { version = "0.35.3" } syn = { version = "2" } synstructure = { version = "0.13.1" } -thiserror = { version = "1.0.59" } +thiserror = { version = "1.0.60" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } From f7ce1ed487ef3e64007d9c22b2c044e7397832bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 20:34:33 +0000 Subject: [PATCH 39/51] Bump paste from 1.0.14 to 1.0.15 (#2238) Bumps [paste](https://github.com/dtolnay/paste) from 1.0.14 to 1.0.15. - [Release notes](https://github.com/dtolnay/paste/releases) - [Commits](https://github.com/dtolnay/paste/compare/1.0.14...1.0.15) --- updated-dependencies: - dependency-name: paste dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c12336969d..2b64f96536 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3939,9 +3939,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" From 2cdf681dd023ff06fffb58323556972963e0be70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 20:38:48 +0000 Subject: [PATCH 40/51] Bump proc-macro2 from 1.0.81 to 1.0.82 (#2235) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.81 to 1.0.82. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b64f96536..27decc042b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4312,9 +4312,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] From 89651933e882d5582a2d6f122b6ed268804370d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 20:06:10 +0000 Subject: [PATCH 41/51] Bump scale-info from 2.11.2 to 2.11.3 (#2240) Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.11.2 to 2.11.3. - [Release notes](https://github.com/paritytech/scale-info/releases) - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md) - [Commits](https://github.com/paritytech/scale-info/compare/v2.11.2...v2.11.3) --- updated-dependencies: - dependency-name: scale-info dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 27decc042b..18cbedd69d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4767,9 +4767,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "bitvec", "cfg-if", @@ -4782,11 +4782,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", From fc08690ae24dcc2af1269046f53b34a490be09da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 20:13:02 +0000 Subject: [PATCH 42/51] Bump serde from 1.0.200 to 1.0.201 (#2241) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.200 to 1.0.201. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 18cbedd69d..c96b7a7cee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5012,9 +5012,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.200" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] @@ -5030,9 +5030,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.200" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 712c77b368..616ef0417a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ scale-encode = { version = "0.6.0", default-features = false } scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } -serde = { version = "1.0.200", default-features = false } +serde = { version = "1.0.201", default-features = false } serde_json = { version = "1.0.116" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } From cb93e92ea472f457fbfde46cc3b0fc7f7c827e93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 20:43:11 +0000 Subject: [PATCH 43/51] Bump serde_json from 1.0.116 to 1.0.117 (#2242) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.116 to 1.0.117. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c96b7a7cee..378720060e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5052,9 +5052,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", diff --git a/Cargo.toml b/Cargo.toml index 616ef0417a..d44e9f16ce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } serde = { version = "1.0.201", default-features = false } -serde_json = { version = "1.0.116" } +serde_json = { version = "1.0.117" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } static_assertions = { version = "1.1" } From 8afeb07e3301c90e1b3aae31c35550fb1f39a131 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 20:20:03 +0000 Subject: [PATCH 44/51] Bump trybuild from 1.0.94 to 1.0.95 (#2243) Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.94 to 1.0.95. - [Release notes](https://github.com/dtolnay/trybuild/releases) - [Commits](https://github.com/dtolnay/trybuild/compare/1.0.94...1.0.95) --- updated-dependencies: - dependency-name: trybuild dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 378720060e..dd00a4b33f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6717,9 +6717,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe21c256d6fba8499cf9d9b1c24971bec43a369d81c52e024adc7670cf112df" +checksum = "4ddb747392ea12569d501a5bbca08852e4c8cd88b92566074b2243b8846f09e6" dependencies = [ "dissimilar", "glob", diff --git a/Cargo.toml b/Cargo.toml index d44e9f16ce..f8d4281aaf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,7 +76,7 @@ thiserror = { version = "1.0.60" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } -trybuild = { version = "1.0.94" } +trybuild = { version = "1.0.95" } wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } From 8071fdc9a57301a54eb8cf935928fec4e25c6f57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 21:46:48 +0000 Subject: [PATCH 45/51] Bump wat from 1.206.0 to 1.207.0 (#2239) --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dd00a4b33f..01edc371b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6960,9 +6960,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-encoder" -version = "0.206.0" +version = "0.207.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d759312e1137f199096d80a70be685899cd7d3d09c572836bb2e9b69b4dc3b1e" +checksum = "d996306fb3aeaee0d9157adbe2f670df0236caf19f6728b221e92d0f27b3fe17" dependencies = [ "leb128", ] @@ -7058,9 +7058,9 @@ dependencies = [ [[package]] name = "wast" -version = "206.0.0" +version = "207.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68586953ee4960b1f5d84ebf26df3b628b17e6173bc088e0acfbce431469795a" +checksum = "0e40be9fd494bfa501309487d2dc0b3f229be6842464ecbdc54eac2679c84c93" dependencies = [ "bumpalo", "leb128", @@ -7071,9 +7071,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.206.0" +version = "1.207.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4c6f2606276c6e991aebf441b2fc92c517807393f039992a3e0ad873efe4ad" +checksum = "8eb2b15e2d5f300f5e1209e7dc237f2549edbd4203655b6c6cab5cf180561ee7" dependencies = [ "wast", ] diff --git a/Cargo.toml b/Cargo.toml index f8d4281aaf..5e63dbe868 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } const_env = { version = "0.1"} -wat = { version = "1.206.0" } +wat = { version = "1.207.0" } # Substrate dependencies frame-metadata = { version = "16.0.0" } From 19e3bedfd025a1a15bbf0b596405ba45ba7eee34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 21:47:24 +0000 Subject: [PATCH 46/51] Bump dtolnay/rust-toolchain (#2230) --- .github/workflows/examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 82b1a53efa..94a55ac3d0 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -42,7 +42,7 @@ jobs: - name: Install toolchain id: toolchain - uses: dtolnay/rust-toolchain@bb45937a053e097f8591208d8e74c90db1873d07 # Master branch, Rust up to 1.74.1 + uses: dtolnay/rust-toolchain@d8352f6b1d2e870bc5716e7a6d9b65c4cc244a1a # Master branch, Rust up to 1.74.1 with: toolchain: ${{ matrix.toolchain }} components: rust-src From 6eeb2ca09bf6cb79bf66c733477eeeefd6571000 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 22:04:16 +0000 Subject: [PATCH 47/51] Bump trybuild from 1.0.95 to 1.0.96 (#2244) Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.95 to 1.0.96. - [Release notes](https://github.com/dtolnay/trybuild/releases) - [Commits](https://github.com/dtolnay/trybuild/compare/1.0.95...1.0.96) --- updated-dependencies: - dependency-name: trybuild dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 01edc371b9..921b4dd7c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6717,9 +6717,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.95" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddb747392ea12569d501a5bbca08852e4c8cd88b92566074b2243b8846f09e6" +checksum = "33a5f13f11071020bb12de7a16b925d2d58636175c20c11dc5f96cb64bb6c9b3" dependencies = [ "dissimilar", "glob", diff --git a/Cargo.toml b/Cargo.toml index 5e63dbe868..4eab6e2fd2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,7 +76,7 @@ thiserror = { version = "1.0.60" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } -trybuild = { version = "1.0.95" } +trybuild = { version = "1.0.96" } wasm-instrument = { version = "0.4.0" } which = { version = "6.0.1" } xxhash-rust = { version = "0.8" } From 4d6323087ec3f1a626270dac39829263afb25437 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 20:13:07 +0000 Subject: [PATCH 48/51] Bump serde from 1.0.201 to 1.0.202 (#2245) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.201 to 1.0.202. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.201...v1.0.202) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 921b4dd7c4..79ec392ff0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5012,9 +5012,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.201" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" +checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" dependencies = [ "serde_derive", ] @@ -5030,9 +5030,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.201" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" +checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 4eab6e2fd2..2666baebc7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ scale-encode = { version = "0.6.0", default-features = false } scale-info = { version = "2.11", default-features = false } schemars = { version = "0.8" } secp256k1 = { version = "0.28.2" } -serde = { version = "1.0.201", default-features = false } +serde = { version = "1.0.202", default-features = false } serde_json = { version = "1.0.117" } sha2 = { version = "0.10" } sha3 = { version = "0.10" } From 980a5d4214c50bfcfcf72c2115db573def0ef97b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 20:12:25 +0000 Subject: [PATCH 49/51] Bump thiserror from 1.0.60 to 1.0.61 (#2246) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.60 to 1.0.61. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.60...1.0.61) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79ec392ff0..ab3a75c62e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6329,18 +6329,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 2666baebc7..d0519eb95b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,7 @@ subxt-metadata = { version = "0.35.2" } subxt-signer = { version = "0.35.3" } syn = { version = "2" } synstructure = { version = "0.13.1" } -thiserror = { version = "1.0.60" } +thiserror = { version = "1.0.61" } tokio = { version = "1.37.0" } tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17" } From 0868f5ee0f5f3fdc2ca24783d5c67363c06d0b6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 17:43:39 +0000 Subject: [PATCH 50/51] Bump either from 1.11.0 to 1.12.0 (#2247) --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ab3a75c62e..1722ee0816 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1574,9 +1574,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" diff --git a/Cargo.toml b/Cargo.toml index d0519eb95b..d747a3c3e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,7 +41,7 @@ cfg-if = { version = "1.0" } contract-build = { version = "4.1.1" } darling = { version = "0.20.8" } derive_more = { version = "0.99.17", default-features = false } -either = { version = "1.11", default-features = false } +either = { version = "1.12", default-features = false } funty = { version = "2.0.0" } heck = { version = "0.5.0" } impl-serde = { version = "0.4.0", default-features = false } From 0cd2b897586194afca08714216f1ed876d05754d Mon Sep 17 00:00:00 2001 From: Peter White <23270067+peterwht@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:16:38 -0600 Subject: [PATCH 51/51] chore: update links and references to Use Ink (#2248) * chore: update refs to use-ink * docs: update SECURITY.md and README.md * chore: update toml keywords * chore: update CHANGELOG.md --- CHANGELOG.md | 4 ++-- CODE_OF_CONDUCT.adoc | 2 +- Cargo.toml | 6 +++--- README.md | 5 ++--- SECURITY.md | 6 +----- crates/allocator/Cargo.toml | 2 +- crates/e2e/sandbox/Cargo.toml | 2 +- crates/engine/Cargo.toml | 2 +- crates/env/Cargo.toml | 2 +- crates/env/src/api.rs | 2 +- crates/ink/Cargo.toml | 2 +- crates/ink/codegen/Cargo.toml | 2 +- crates/ink/ir/Cargo.toml | 2 +- crates/ink/macro/Cargo.toml | 2 +- crates/metadata/Cargo.toml | 2 +- crates/prelude/Cargo.toml | 2 +- crates/primitives/Cargo.toml | 2 +- crates/storage/Cargo.toml | 2 +- .../internal/call-builder-return-value/Cargo.toml | 2 +- .../internal/e2e-runtime-only-backend/Cargo.toml | 2 +- .../internal/lang-err/call-builder-delegate/Cargo.toml | 2 +- .../internal/lang-err/call-builder/Cargo.toml | 2 +- .../lang-err/constructors-return-value/Cargo.toml | 2 +- .../internal/lang-err/contract-ref/Cargo.toml | 2 +- .../internal/lang-err/integration-flipper/Cargo.toml | 2 +- integration-tests/internal/mother/Cargo.toml | 2 +- .../internal/sr25519-verification/Cargo.toml | 2 +- integration-tests/public/call-runtime/Cargo.toml | 2 +- integration-tests/public/combined-extension/Cargo.toml | 2 +- .../public/conditional-compilation/Cargo.toml | 2 +- integration-tests/public/contract-storage/Cargo.toml | 2 +- integration-tests/public/contract-terminate/Cargo.toml | 2 +- integration-tests/public/contract-transfer/Cargo.toml | 2 +- integration-tests/public/contract-xcm/Cargo.toml | 2 +- integration-tests/public/cross-contract-calls/Cargo.toml | 2 +- .../public/cross-contract-calls/other-contract/Cargo.toml | 2 +- integration-tests/public/custom-allocator/Cargo.toml | 2 +- integration-tests/public/custom-environment/Cargo.toml | 2 +- integration-tests/public/dns/Cargo.toml | 2 +- integration-tests/public/e2e-call-runtime/Cargo.toml | 2 +- integration-tests/public/erc1155/Cargo.toml | 2 +- integration-tests/public/erc20/Cargo.toml | 2 +- integration-tests/public/erc721/Cargo.toml | 2 +- integration-tests/public/events/Cargo.toml | 2 +- integration-tests/public/flipper/Cargo.toml | 2 +- integration-tests/public/incrementer/Cargo.toml | 2 +- integration-tests/public/lazyvec/Cargo.toml | 2 +- integration-tests/public/mapping/Cargo.toml | 2 +- integration-tests/public/multi-contract-caller/Cargo.toml | 2 +- .../public/multi-contract-caller/accumulator/Cargo.toml | 2 +- .../public/multi-contract-caller/adder/Cargo.toml | 2 +- .../public/multi-contract-caller/subber/Cargo.toml | 2 +- integration-tests/public/multisig/Cargo.toml | 2 +- integration-tests/public/payment-channel/Cargo.toml | 2 +- integration-tests/public/psp22-extension/Cargo.toml | 2 +- integration-tests/public/rand-extension/Cargo.toml | 2 +- integration-tests/public/runtime-call-contract/Cargo.toml | 8 ++++---- .../sandbox-runtime/pallet-contract-caller/Cargo.toml | 2 +- .../public/runtime-call-contract/traits/Cargo.toml | 2 +- integration-tests/public/static-buffer/Cargo.toml | 2 +- .../public/trait-dyn-cross-contract-calls/Cargo.toml | 2 +- .../contracts/incrementer/Cargo.toml | 2 +- .../trait-dyn-cross-contract-calls/traits/Cargo.toml | 2 +- integration-tests/public/trait-erc20/Cargo.toml | 2 +- integration-tests/public/trait-flipper/Cargo.toml | 2 +- integration-tests/public/trait-incrementer/Cargo.toml | 2 +- .../public/trait-incrementer/traits/Cargo.toml | 2 +- .../public/upgradeable-contracts/delegator/Cargo.toml | 2 +- .../upgradeable-contracts/delegator/delegatee/Cargo.toml | 2 +- .../upgradeable-contracts/delegator/delegatee2/Cargo.toml | 2 +- .../set-code-hash-migration/Cargo.toml | 2 +- .../set-code-hash-migration/migration/Cargo.toml | 2 +- .../updated-incrementer/Cargo.toml | 2 +- .../public/upgradeable-contracts/set-code-hash/Cargo.toml | 2 +- .../set-code-hash/updated-incrementer/Cargo.toml | 2 +- integration-tests/public/wildcard-selector/Cargo.toml | 2 +- linting/Cargo.toml | 6 +++--- 77 files changed, 86 insertions(+), 91 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d05bcc7b6..3003444997 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - [Linter] Add links to detailed lint description ‒ [#2170](https://github.com/use-ink/ink/pull/2170) -- Add `xcm_execute` and `xcm_send` support - [#1912](https://github.com/paritytech/ink/pull/1912) +- Add `xcm_execute` and `xcm_send` support - [#1912](https://github.com/use-ink/ink/pull/1912) - Environment agnostic contract invocation API ‒ [#219](https://github.com/use-ink/ink/pull/2219) ### Changed - [E2E] Update `subxt` and `polkadot-sdk` dependencies ‒ [#2174](https://github.com/use-ink/ink/pull/2174) -- Update repository URLs from `paritytech` GitHub organization to new `use-ink` one ‒ [#2220](https://github.com/use-ink/ink/pull/2220) +- Update repository URLs & references from `paritytech` GitHub organization to new `use-ink` one ‒ [#2220](https://github.com/use-ink/ink/pull/2220) and [#2248](https://github.com/use-ink/ink/pull/2248) ### Fixed - Fix outdated docs for `[ink_e2e::test]` ‒ [#2162](https://github.com/use-ink/ink/pull/2162) diff --git a/CODE_OF_CONDUCT.adoc b/CODE_OF_CONDUCT.adoc index 811e83e9fa..10e98b566a 100644 --- a/CODE_OF_CONDUCT.adoc +++ b/CODE_OF_CONDUCT.adoc @@ -41,7 +41,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe == Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at admin@parity.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ink@use.ink. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. diff --git a/Cargo.toml b/Cargo.toml index d747a3c3e1..de2485ba93 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,11 +23,11 @@ exclude = [ ] [workspace.package] -authors = ["Use Ink "] +authors = ["Use Ink "] categories = ["no-std", "embedded"] edition = "2021" -homepage = "https://www.parity.io/" -keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"] +homepage = "https://use.ink" +keywords = ["wasm", "ink", "webassembly", "blockchain", "edsl"] license = "Apache-2.0" repository = "https://github.com/use-ink/ink" version = "5.0.0" diff --git a/README.md b/README.md index 02ff666ae0..398f8c3fe5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
ink!

- Parity's ink! for writing smart contracts + Polkadot's ink! for writing smart contracts

[![linux][a1]][a2] [![codecov][c1]][c2] [![coveralls][d1]][d2] [![loc][e1]][e2] [![stack-exchange][s1]][s2] @@ -46,7 +46,7 @@ More relevant links: * [`cargo-contract`](https://github.com/use-ink/cargo-contract) ‒ CLI tool for ink! contracts * [Contracts UI](https://contracts-ui.substrate.io/) ‒ Frontend for contract instantiation and interaction * [Substrate Contracts Node](https://github.com/paritytech/substrate-contracts-node) ‒ Simple Substrate blockchain which includes smart contract functionality -* [Awesome ink!](https://github.com/use-ink/awesome-ink) - A curated list of awesome projects for Parity's ink! +* [Awesome ink!](https://github.com/use-ink/awesome-ink) - A curated list of awesome projects for Polkadot's ink! * We post announcements on [Matrix][k2] and [Discord][l2] (in the [`ink_smart-contracts`](https://discord.com/channels/722223075629727774/765280480609828864) channel). @@ -290,4 +290,3 @@ Use the scripts provided under `scripts/check-*` directory in order to run check The entire code within this repository is licensed under the [Apache License 2.0](LICENSE). -Please [contact us](https://www.parity.io/contact/) if you have questions about the licensing of our products. diff --git a/SECURITY.md b/SECURITY.md index 7a6cbe7ecc..e77ee0d7e9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,8 +2,4 @@ If you find something that can be treated as a security vulnerability, please do not use the issue tracker or discuss it in the public forum/channels, as it can cause more damage rather than giving real help to the ecosystem. -Security vulnerabilities should be reported using [this contact form](https://security-submission.parity.io/). - -If you think that your report might be eligible for the Bug Bounty Program, please mark this during the submission. Please check up-to-date [Parity Bug Bounty Program rules](https://www.parity.io/bug-bounty) for more information about our Bug Bounty Program. - -**Warning:** This is an unified `SECURITY.md` file for the Paritytech GitHub Organization. The presence of this file does not mean that this repository is covered by the Bug Bounty program. Please always check the Bug Bounty Program scope for the information. +Security vulnerabilities should be reported using [this contact form](https://blocksurvey.io/ink-security-vulnerability-reporting-QCfzqPF8QMqIrJUEll7yPA?v=o). diff --git a/crates/allocator/Cargo.toml b/crates/allocator/Cargo.toml index bfdb5a64ab..3f7baad5fa 100644 --- a/crates/allocator/Cargo.toml +++ b/crates/allocator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_allocator" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/e2e/sandbox/Cargo.toml b/crates/e2e/sandbox/Cargo.toml index cb67b704f5..11492dd92d 100644 --- a/crates/e2e/sandbox/Cargo.toml +++ b/crates/e2e/sandbox/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_sandbox" version = "5.0.0" -authors = ["Use Ink ", "Cardinal Cryptography"] +authors = ["Use Ink ", "Cardinal Cryptography"] edition.workspace = true license.workspace = true description = "Sandbox runtime environment for ink! e2e tests" diff --git a/crates/engine/Cargo.toml b/crates/engine/Cargo.toml index 29a2fb7e1c..77971c336f 100644 --- a/crates/engine/Cargo.toml +++ b/crates/engine/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_engine" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml index 065d8cb233..842b0be810 100644 --- a/crates/env/Cargo.toml +++ b/crates/env/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_env" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true rust-version = "1.68" diff --git a/crates/env/src/api.rs b/crates/env/src/api.rs index 47ee8c696c..654ea7987d 100644 --- a/crates/env/src/api.rs +++ b/crates/env/src/api.rs @@ -844,7 +844,7 @@ where /// enum. /// /// For more details consult -/// [host function documentation](https://use-ink.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.call_runtime). +/// [host function documentation](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.call_runtime). /// /// # Errors /// diff --git a/crates/ink/Cargo.toml b/crates/ink/Cargo.toml index 8bf8c1e919..722eb83edc 100644 --- a/crates/ink/Cargo.toml +++ b/crates/ink/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true rust-version = "1.63" diff --git a/crates/ink/codegen/Cargo.toml b/crates/ink/codegen/Cargo.toml index 21f87f3d4c..f8d72e0c33 100644 --- a/crates/ink/codegen/Cargo.toml +++ b/crates/ink/codegen/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_codegen" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/ink/ir/Cargo.toml b/crates/ink/ir/Cargo.toml index f19cb21bbd..ef9bf8a22c 100644 --- a/crates/ink/ir/Cargo.toml +++ b/crates/ink/ir/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_ir" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/ink/macro/Cargo.toml b/crates/ink/macro/Cargo.toml index fec3e2e6f3..b58c584306 100644 --- a/crates/ink/macro/Cargo.toml +++ b/crates/ink/macro/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_macro" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/metadata/Cargo.toml b/crates/metadata/Cargo.toml index 4efbf1210d..5c07162312 100644 --- a/crates/metadata/Cargo.toml +++ b/crates/metadata/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_metadata" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/prelude/Cargo.toml b/crates/prelude/Cargo.toml index 7e83ca274f..e5cc9561e6 100644 --- a/crates/prelude/Cargo.toml +++ b/crates/prelude/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_prelude" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 874c49af0d..a16291d292 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_primitives" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/crates/storage/Cargo.toml b/crates/storage/Cargo.toml index da69236c79..23345bdce5 100644 --- a/crates/storage/Cargo.toml +++ b/crates/storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ink_storage" version.workspace = true -authors = ["Use Ink "] +authors = ["Use Ink "] edition.workspace = true license.workspace = true diff --git a/integration-tests/internal/call-builder-return-value/Cargo.toml b/integration-tests/internal/call-builder-return-value/Cargo.toml index a77cd8504f..e41e32f327 100755 --- a/integration-tests/internal/call-builder-return-value/Cargo.toml +++ b/integration-tests/internal/call-builder-return-value/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder_return_value" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml b/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml index 733ede1080..597feb1848 100644 --- a/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml +++ b/integration-tests/internal/e2e-runtime-only-backend/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "e2e-runtime-only-backend" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml b/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml index 6e68a19a29..a07ab46948 100755 --- a/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml +++ b/integration-tests/internal/lang-err/call-builder-delegate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder_delegate" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/call-builder/Cargo.toml b/integration-tests/internal/lang-err/call-builder/Cargo.toml index 37d3af9091..6e6b8558c0 100755 --- a/integration-tests/internal/lang-err/call-builder/Cargo.toml +++ b/integration-tests/internal/lang-err/call-builder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call_builder" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml b/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml index 40135798e6..2063f67539 100644 --- a/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml +++ b/integration-tests/internal/lang-err/constructors-return-value/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "constructors_return_value" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/lang-err/contract-ref/Cargo.toml b/integration-tests/internal/lang-err/contract-ref/Cargo.toml index 8c2476325d..22c4a65ff3 100755 --- a/integration-tests/internal/lang-err/contract-ref/Cargo.toml +++ b/integration-tests/internal/lang-err/contract-ref/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_ref" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/internal/lang-err/integration-flipper/Cargo.toml b/integration-tests/internal/lang-err/integration-flipper/Cargo.toml index 2112ce592c..400fe102f1 100644 --- a/integration-tests/internal/lang-err/integration-flipper/Cargo.toml +++ b/integration-tests/internal/lang-err/integration-flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "integration_flipper" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/mother/Cargo.toml b/integration-tests/internal/mother/Cargo.toml index bd75ca348f..688531c6c6 100755 --- a/integration-tests/internal/mother/Cargo.toml +++ b/integration-tests/internal/mother/Cargo.toml @@ -2,7 +2,7 @@ name = "mother" description = "Mother of all contracts" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/internal/sr25519-verification/Cargo.toml b/integration-tests/internal/sr25519-verification/Cargo.toml index ea2b181d14..0e289b7387 100644 --- a/integration-tests/internal/sr25519-verification/Cargo.toml +++ b/integration-tests/internal/sr25519-verification/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sr25519_verification" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/call-runtime/Cargo.toml b/integration-tests/public/call-runtime/Cargo.toml index bd5566ee8c..3f882aa898 100644 --- a/integration-tests/public/call-runtime/Cargo.toml +++ b/integration-tests/public/call-runtime/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "call-runtime" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/combined-extension/Cargo.toml b/integration-tests/public/combined-extension/Cargo.toml index 41765d7868..4ae9104838 100755 --- a/integration-tests/public/combined-extension/Cargo.toml +++ b/integration-tests/public/combined-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "combined_extension" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/conditional-compilation/Cargo.toml b/integration-tests/public/conditional-compilation/Cargo.toml index d4996d7e54..bf65120029 100755 --- a/integration-tests/public/conditional-compilation/Cargo.toml +++ b/integration-tests/public/conditional-compilation/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "conditional-compilation" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/contract-storage/Cargo.toml b/integration-tests/public/contract-storage/Cargo.toml index 20f77ab1b7..994fb71cf2 100755 --- a/integration-tests/public/contract-storage/Cargo.toml +++ b/integration-tests/public/contract-storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract-storage" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/contract-terminate/Cargo.toml b/integration-tests/public/contract-terminate/Cargo.toml index c71f195740..fce0594614 100644 --- a/integration-tests/public/contract-terminate/Cargo.toml +++ b/integration-tests/public/contract-terminate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_terminate" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/contract-transfer/Cargo.toml b/integration-tests/public/contract-transfer/Cargo.toml index 1e4bdaac25..4fa3791662 100644 --- a/integration-tests/public/contract-transfer/Cargo.toml +++ b/integration-tests/public/contract-transfer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract_transfer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/contract-xcm/Cargo.toml b/integration-tests/public/contract-xcm/Cargo.toml index 5e865bb84c..eef9c75bf6 100644 --- a/integration-tests/public/contract-xcm/Cargo.toml +++ b/integration-tests/public/contract-xcm/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "contract-xcm" version = "4.0.0" -authors = ["Parity Technologies "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/cross-contract-calls/Cargo.toml b/integration-tests/public/cross-contract-calls/Cargo.toml index 9488bcce5b..5f7f057b95 100755 --- a/integration-tests/public/cross-contract-calls/Cargo.toml +++ b/integration-tests/public/cross-contract-calls/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "cross-contract-calls" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml b/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml index 2b391ad7f4..c9086d7240 100755 --- a/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml +++ b/integration-tests/public/cross-contract-calls/other-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "other-contract" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/custom-allocator/Cargo.toml b/integration-tests/public/custom-allocator/Cargo.toml index d2c6899ea0..19011587f3 100755 --- a/integration-tests/public/custom-allocator/Cargo.toml +++ b/integration-tests/public/custom-allocator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "custom-allocator" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/custom-environment/Cargo.toml b/integration-tests/public/custom-environment/Cargo.toml index 001f54771f..a68c4805dd 100644 --- a/integration-tests/public/custom-environment/Cargo.toml +++ b/integration-tests/public/custom-environment/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "custom-environment" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/dns/Cargo.toml b/integration-tests/public/dns/Cargo.toml index 891215a063..7667568b9d 100644 --- a/integration-tests/public/dns/Cargo.toml +++ b/integration-tests/public/dns/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dns" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/e2e-call-runtime/Cargo.toml b/integration-tests/public/e2e-call-runtime/Cargo.toml index 521f108b7b..1b21093660 100644 --- a/integration-tests/public/e2e-call-runtime/Cargo.toml +++ b/integration-tests/public/e2e-call-runtime/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "e2e_call_runtime" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc1155/Cargo.toml b/integration-tests/public/erc1155/Cargo.toml index 95ce767eef..a9055e0587 100644 --- a/integration-tests/public/erc1155/Cargo.toml +++ b/integration-tests/public/erc1155/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc1155" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc20/Cargo.toml b/integration-tests/public/erc20/Cargo.toml index 985e49ef8c..f8420f609b 100644 --- a/integration-tests/public/erc20/Cargo.toml +++ b/integration-tests/public/erc20/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc20" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/erc721/Cargo.toml b/integration-tests/public/erc721/Cargo.toml index 7e9b522085..6be60a74cf 100644 --- a/integration-tests/public/erc721/Cargo.toml +++ b/integration-tests/public/erc721/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "erc721" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/events/Cargo.toml b/integration-tests/public/events/Cargo.toml index 00d465e5b8..0e1b706f3c 100644 --- a/integration-tests/public/events/Cargo.toml +++ b/integration-tests/public/events/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "events" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/flipper/Cargo.toml b/integration-tests/public/flipper/Cargo.toml index bd9d854d94..c3df5bce25 100644 --- a/integration-tests/public/flipper/Cargo.toml +++ b/integration-tests/public/flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "flipper" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/incrementer/Cargo.toml b/integration-tests/public/incrementer/Cargo.toml index 18a445e9e6..4309d83e08 100644 --- a/integration-tests/public/incrementer/Cargo.toml +++ b/integration-tests/public/incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/lazyvec/Cargo.toml b/integration-tests/public/lazyvec/Cargo.toml index 1867d45c67..16ac1f130d 100755 --- a/integration-tests/public/lazyvec/Cargo.toml +++ b/integration-tests/public/lazyvec/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lazyvec" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/mapping/Cargo.toml b/integration-tests/public/mapping/Cargo.toml index a76b5b4e23..3e41a5d8e8 100755 --- a/integration-tests/public/mapping/Cargo.toml +++ b/integration-tests/public/mapping/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "mapping" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/multi-contract-caller/Cargo.toml b/integration-tests/public/multi-contract-caller/Cargo.toml index ee61a7a4d7..56fcf982dc 100644 --- a/integration-tests/public/multi-contract-caller/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "multi-contract-caller" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml b/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml index 176949820b..878f4fa0f0 100644 --- a/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/accumulator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "accumulator" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multi-contract-caller/adder/Cargo.toml b/integration-tests/public/multi-contract-caller/adder/Cargo.toml index 3dc5f512d2..ea47e40b88 100644 --- a/integration-tests/public/multi-contract-caller/adder/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multi-contract-caller/subber/Cargo.toml b/integration-tests/public/multi-contract-caller/subber/Cargo.toml index 792b7035f7..2c53c15803 100644 --- a/integration-tests/public/multi-contract-caller/subber/Cargo.toml +++ b/integration-tests/public/multi-contract-caller/subber/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "subber" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" [dependencies] diff --git a/integration-tests/public/multisig/Cargo.toml b/integration-tests/public/multisig/Cargo.toml index 9d9c7eedfc..0f5ed42cea 100755 --- a/integration-tests/public/multisig/Cargo.toml +++ b/integration-tests/public/multisig/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "multisig" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/payment-channel/Cargo.toml b/integration-tests/public/payment-channel/Cargo.toml index 2b402e0ae4..7f64f809ae 100755 --- a/integration-tests/public/payment-channel/Cargo.toml +++ b/integration-tests/public/payment-channel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "payment_channel" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/psp22-extension/Cargo.toml b/integration-tests/public/psp22-extension/Cargo.toml index f06daa8877..75c824187c 100755 --- a/integration-tests/public/psp22-extension/Cargo.toml +++ b/integration-tests/public/psp22-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "psp22_extension" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/rand-extension/Cargo.toml b/integration-tests/public/rand-extension/Cargo.toml index 98ead91b06..38bb146c21 100755 --- a/integration-tests/public/rand-extension/Cargo.toml +++ b/integration-tests/public/rand-extension/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "rand_extension" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/runtime-call-contract/Cargo.toml b/integration-tests/public/runtime-call-contract/Cargo.toml index 1b01cda8d2..0a89e13d39 100644 --- a/integration-tests/public/runtime-call-contract/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/Cargo.toml @@ -2,10 +2,10 @@ members = ["sandbox-runtime", "traits"] [workspace.package] -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" -homepage = "https://www.parity.io/" -keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"] +homepage = "https://use.ink" +keywords = ["wasm", "ink", "webassembly", "blockchain", "edsl"] license = "Apache-2.0" repository = "https://github.com/use-ink/ink" @@ -20,7 +20,7 @@ scale-info = { version = "2.11.1", default-features = false } [package] name = "runtime-call-contract" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml index 226dfddf2a..9726520d1e 100644 --- a/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/sandbox-runtime/pallet-contract-caller/Cargo.toml @@ -2,7 +2,7 @@ name = "pallet-contract-caller" version = "0.1.0" description = "Demonstrate calling an ink! contract from a pallet" -authors = ["Use Ink "] +authors = ["Use Ink "] homepage = "https://substrate.io" edition.workspace = true license = "MIT-0" diff --git a/integration-tests/public/runtime-call-contract/traits/Cargo.toml b/integration-tests/public/runtime-call-contract/traits/Cargo.toml index a0002c2e3a..149c121ee5 100644 --- a/integration-tests/public/runtime-call-contract/traits/Cargo.toml +++ b/integration-tests/public/runtime-call-contract/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "flipper-traits" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/static-buffer/Cargo.toml b/integration-tests/public/static-buffer/Cargo.toml index 2ed11bff43..59649b9133 100644 --- a/integration-tests/public/static-buffer/Cargo.toml +++ b/integration-tests/public/static-buffer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "static-buffer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml index f1233e4faf..9c953f5133 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer-caller" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml index ea74f139da..1a99632dd4 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml b/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml index b1faff99bb..58df26db12 100644 --- a/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml +++ b/integration-tests/public/trait-dyn-cross-contract-calls/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dyn-traits" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-erc20/Cargo.toml b/integration-tests/public/trait-erc20/Cargo.toml index c9e2a2fced..1b3f8f40fb 100644 --- a/integration-tests/public/trait-erc20/Cargo.toml +++ b/integration-tests/public/trait-erc20/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait_erc20" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-flipper/Cargo.toml b/integration-tests/public/trait-flipper/Cargo.toml index 56b61c3517..fbb5e18851 100644 --- a/integration-tests/public/trait-flipper/Cargo.toml +++ b/integration-tests/public/trait-flipper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait_flipper" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-incrementer/Cargo.toml b/integration-tests/public/trait-incrementer/Cargo.toml index 2d71c55920..2537c8a41f 100644 --- a/integration-tests/public/trait-incrementer/Cargo.toml +++ b/integration-tests/public/trait-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "trait-incrementer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/trait-incrementer/traits/Cargo.toml b/integration-tests/public/trait-incrementer/traits/Cargo.toml index eff1c934b2..a98483bf7c 100644 --- a/integration-tests/public/trait-incrementer/traits/Cargo.toml +++ b/integration-tests/public/trait-incrementer/traits/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "traits" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml index 2b4d06f4d5..8a67e693f5 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegator" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml index 2a84b03bf6..a95575b19b 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/delegatee/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegatee" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml b/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml index 6da4843d78..b7c35f7cd6 100644 --- a/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/delegator/delegatee2/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "delegatee2" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml index acf9a8d4c2..b332203e3f 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0-alpha" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml index 1f7da5016c..366b6fe12d 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/migration/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "migration" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml index 478f7f7067..4b55412c12 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash-migration/updated-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "updated-incrementer" version = "5.0.0-alpha" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml index 9e1acacd1a..6087821da8 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "incrementer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml b/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml index 03cf1f2aae..03ccbac320 100644 --- a/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml +++ b/integration-tests/public/upgradeable-contracts/set-code-hash/updated-incrementer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "updated-incrementer" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/integration-tests/public/wildcard-selector/Cargo.toml b/integration-tests/public/wildcard-selector/Cargo.toml index b5233a0ef2..f2de1fc025 100644 --- a/integration-tests/public/wildcard-selector/Cargo.toml +++ b/integration-tests/public/wildcard-selector/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wildcard-selector" version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" publish = false diff --git a/linting/Cargo.toml b/linting/Cargo.toml index d590643721..c1bcc42f2d 100644 --- a/linting/Cargo.toml +++ b/linting/Cargo.toml @@ -8,12 +8,12 @@ members = [ [workspace.package] version = "5.0.0" -authors = ["Use Ink "] +authors = ["Use Ink "] edition = "2021" license = "Apache-2.0" repository = "https://github.com/use-ink/ink" -homepage = "https://www.parity.io/" -keywords = ["parity", "blockchain", "edsl", "dylint", "linting"] +homepage = "https://use.ink" +keywords = ["ink", "blockchain", "edsl", "dylint", "linting"] [workspace.dependencies] ink_linting_utils = { version = "=5.0.0", path = "utils" }