difftreelog
Stable build: 2.0.0-alpha.6, no smart contracts and last changes removed
in: master
13 files changed
.dockerignorediffbeforeafterboth1.git/2.github/3doc/1target/4target/2chain-data/5chain-data/6smart_contract/Cargo.lockdiffbeforeafterboth906source = "registry+https://github.com/rust-lang/crates.io-index"906source = "registry+https://github.com/rust-lang/crates.io-index"907checksum = "4f2fc91a6a976ce87b105722d8d9cdc44d4cb03ad24493d34cbfb64bbaacb7ee"907checksum = "4f2fc91a6a976ce87b105722d8d9cdc44d4cb03ad24493d34cbfb64bbaacb7ee"908dependencies = [908dependencies = [909 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",909 "frame-support",910 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",910 "frame-system",911 "linregress",911 "linregress",912 "parity-scale-codec",912 "parity-scale-codec",913 "paste",913 "paste",914 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",914 "sp-api",915 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",915 "sp-io",916 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",916 "sp-runtime",917 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",917 "sp-runtime-interface",918 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",918 "sp-std",919]919]920920921[[package]]921[[package]]924source = "registry+https://github.com/rust-lang/crates.io-index"924source = "registry+https://github.com/rust-lang/crates.io-index"925checksum = "2941cd59682f596645d54b0e84c02e98f9be53a346841c720ead60cdbadb3463"925checksum = "2941cd59682f596645d54b0e84c02e98f9be53a346841c720ead60cdbadb3463"926dependencies = [926dependencies = [927 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",927 "frame-support",928 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",928 "frame-system",929 "parity-scale-codec",929 "parity-scale-codec",930 "serde",930 "serde",931 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",931 "sp-runtime",932 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",932 "sp-std",933]933]934935[[package]]936name = "frame-metadata"937version = "11.0.0-alpha.6"938source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"939dependencies = [940 "parity-scale-codec",941 "serde",942 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",943 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",944]945934946[[package]]935[[package]]947name = "frame-metadata"936name = "frame-metadata"951dependencies = [940dependencies = [952 "parity-scale-codec",941 "parity-scale-codec",953 "serde",942 "serde",954 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",943 "sp-core",955 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",944 "sp-std",956]945]957958[[package]]959name = "frame-support"960version = "2.0.0-alpha.6"961source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"962dependencies = [963 "bitmask",964 "frame-metadata 11.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",965 "frame-support-procedural 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",966 "impl-trait-for-tuples",967 "log",968 "once_cell",969 "parity-scale-codec",970 "paste",971 "serde",972 "sp-arithmetic 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",973 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",974 "sp-inherents 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",975 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",976 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",977 "sp-state-machine 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",978 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",979 "tracing",980]981946982[[package]]947[[package]]983name = "frame-support"948name = "frame-support"986checksum = "a4058dce75ae1d45b469a8cbbe0c9dc3083e5546936b60e4647e73584e0f7ba7"951checksum = "a4058dce75ae1d45b469a8cbbe0c9dc3083e5546936b60e4647e73584e0f7ba7"987dependencies = [952dependencies = [988 "bitmask",953 "bitmask",989 "frame-metadata 11.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",954 "frame-metadata",990 "frame-support-procedural 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",955 "frame-support-procedural",991 "impl-trait-for-tuples",956 "impl-trait-for-tuples",992 "log",957 "log",993 "once_cell",958 "once_cell",994 "parity-scale-codec",959 "parity-scale-codec",995 "paste",960 "paste",996 "serde",961 "serde",997 "sp-arithmetic 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",962 "sp-arithmetic",998 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",963 "sp-core",999 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",964 "sp-inherents",1000 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",965 "sp-io",1001 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",966 "sp-runtime",1002 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",967 "sp-state-machine",1003 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",968 "sp-std",1004 "tracing",969 "tracing",1005]970]10061007[[package]]1008name = "frame-support-procedural"1009version = "2.0.0-alpha.6"1010source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"1011dependencies = [1012 "frame-support-procedural-tools 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1013 "proc-macro2",1014 "quote 1.0.3",1015 "syn 1.0.17",1016]10179711018[[package]]972[[package]]1019name = "frame-support-procedural"973name = "frame-support-procedural"1020version = "2.0.0-alpha.6"974version = "2.0.0-alpha.6"1021source = "registry+https://github.com/rust-lang/crates.io-index"975source = "registry+https://github.com/rust-lang/crates.io-index"1022checksum = "eefa7eb42406f732f87f8331aaaa787a65abe0f5f681a59fac1737ba4e81d89e"976checksum = "eefa7eb42406f732f87f8331aaaa787a65abe0f5f681a59fac1737ba4e81d89e"1023dependencies = [977dependencies = [1024 "frame-support-procedural-tools 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",978 "frame-support-procedural-tools",1025 "proc-macro2",979 "proc-macro2",1026 "quote 1.0.3",980 "quote 1.0.3",1027 "syn 1.0.17",981 "syn 1.0.17",1028]982]10291030[[package]]1031name = "frame-support-procedural-tools"1032version = "2.0.0-alpha.6"1033source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"1034dependencies = [1035 "frame-support-procedural-tools-derive 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1036 "proc-macro-crate",1037 "proc-macro2",1038 "quote 1.0.3",1039 "syn 1.0.17",1040]10419831042[[package]]984[[package]]1043name = "frame-support-procedural-tools"985name = "frame-support-procedural-tools"1044version = "2.0.0-alpha.6"986version = "2.0.0-alpha.6"1045source = "registry+https://github.com/rust-lang/crates.io-index"987source = "registry+https://github.com/rust-lang/crates.io-index"1046checksum = "0d0fce760be3b164dd44ba5826f6a504c485020f6813604d4c73b42b50797d71"988checksum = "0d0fce760be3b164dd44ba5826f6a504c485020f6813604d4c73b42b50797d71"1047dependencies = [989dependencies = [1048 "frame-support-procedural-tools-derive 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",990 "frame-support-procedural-tools-derive",1049 "proc-macro-crate",991 "proc-macro-crate",1050 "proc-macro2",992 "proc-macro2",1051 "quote 1.0.3",993 "quote 1.0.3",1052 "syn 1.0.17",994 "syn 1.0.17",1053]995]10541055[[package]]1056name = "frame-support-procedural-tools-derive"1057version = "2.0.0-alpha.6"1058source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"1059dependencies = [1060 "proc-macro2",1061 "quote 1.0.3",1062 "syn 1.0.17",1063]10649961065[[package]]997[[package]]1066name = "frame-support-procedural-tools-derive"998name = "frame-support-procedural-tools-derive"1073 "syn 1.0.17",1005 "syn 1.0.17",1074]1006]10751076[[package]]1077name = "frame-system"1078version = "2.0.0-alpha.6"1079source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"1080dependencies = [1081 "frame-support 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1082 "impl-trait-for-tuples",1083 "parity-scale-codec",1084 "serde",1085 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1086 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1087 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1088 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1089 "sp-version 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",1090]109110071092[[package]]1008[[package]]1093name = "frame-system"1009name = "frame-system"1094version = "2.0.0-alpha.6"1010version = "2.0.0-alpha.6"1095source = "registry+https://github.com/rust-lang/crates.io-index"1011source = "registry+https://github.com/rust-lang/crates.io-index"1096checksum = "f9c97e7168ca4cd7b2358ca30da4c5aba4a2b9b5eef45df67ca85b3dd59069a5"1012checksum = "f9c97e7168ca4cd7b2358ca30da4c5aba4a2b9b5eef45df67ca85b3dd59069a5"1097dependencies = [1013dependencies = [1098 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1014 "frame-support",1099 "impl-trait-for-tuples",1015 "impl-trait-for-tuples",1100 "parity-scale-codec",1016 "parity-scale-codec",1101 "serde",1017 "serde",1102 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1018 "sp-core",1103 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1019 "sp-io",1104 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1020 "sp-runtime",1105 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1021 "sp-std",1106 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",1022 "sp-version",1107]1023]110810241109[[package]]1025[[package]]2614 "sc-transaction-pool",2530 "sc-transaction-pool",2615 "sp-consensus",2531 "sp-consensus",2616 "sp-consensus-aura",2532 "sp-consensus-aura",2617 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2533 "sp-core",2618 "sp-finality-grandpa",2534 "sp-finality-grandpa",2619 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2535 "sp-inherents",2620 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2536 "sp-runtime",2621 "sp-transaction-pool",2537 "sp-transaction-pool",2622 "structopt",2538 "structopt",2623 "substrate-build-script-utils",2539 "substrate-build-script-utils",2628version = "2.0.0-alpha.6"2544version = "2.0.0-alpha.6"2629dependencies = [2545dependencies = [2630 "frame-executive",2546 "frame-executive",2631 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2547 "frame-support",2632 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2548 "frame-system",2633 "pallet-aura",2549 "pallet-aura",2634 "pallet-balances",2550 "pallet-balances",2635 "pallet-contracts",2636 "pallet-contracts-primitives",2637 "pallet-contracts-rpc-runtime-api",2638 "pallet-grandpa",2551 "pallet-grandpa",2639 "pallet-nft",2552 "pallet-nft",2640 "pallet-randomness-collective-flip",2553 "pallet-randomness-collective-flip",2643 "pallet-transaction-payment",2556 "pallet-transaction-payment",2644 "parity-scale-codec",2557 "parity-scale-codec",2645 "serde",2558 "serde",2646 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2559 "sp-api",2647 "sp-block-builder",2560 "sp-block-builder",2648 "sp-consensus-aura",2561 "sp-consensus-aura",2649 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2562 "sp-core",2650 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2563 "sp-inherents",2651 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2564 "sp-io",2652 "sp-offchain",2565 "sp-offchain",2653 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2566 "sp-runtime",2654 "sp-session",2567 "sp-session",2655 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2568 "sp-std",2656 "sp-transaction-pool",2569 "sp-transaction-pool",2657 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2570 "sp-version",2658 "substrate-wasm-builder-runner",2571 "substrate-wasm-builder-runner",2659]2572]266025732820source = "registry+https://github.com/rust-lang/crates.io-index"2733source = "registry+https://github.com/rust-lang/crates.io-index"2821checksum = "9757d44df3ff0372ea313703736e69ba361b158a58b7c9677b54be11a777da81"2734checksum = "9757d44df3ff0372ea313703736e69ba361b158a58b7c9677b54be11a777da81"2822dependencies = [2735dependencies = [2823 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2736 "frame-support",2824 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2737 "frame-system",2825 "pallet-session",2738 "pallet-session",2826 "pallet-timestamp",2739 "pallet-timestamp",2827 "parity-scale-codec",2740 "parity-scale-codec",2828 "serde",2741 "serde",2829 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2742 "sp-application-crypto",2830 "sp-consensus-aura",2743 "sp-consensus-aura",2831 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2744 "sp-core",2832 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2745 "sp-inherents",2833 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2746 "sp-io",2834 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2747 "sp-runtime",2835 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2748 "sp-std",2836 "sp-timestamp",2749 "sp-timestamp",2837]2750]283827512843checksum = "b9ef08001886d3747220630337f7afbb8f1d7cbfacaa3a8a13317e1cb3e8e366"2756checksum = "b9ef08001886d3747220630337f7afbb8f1d7cbfacaa3a8a13317e1cb3e8e366"2844dependencies = [2757dependencies = [2845 "frame-benchmarking",2758 "frame-benchmarking",2846 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2759 "frame-support",2847 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2760 "frame-system",2848 "parity-scale-codec",2761 "parity-scale-codec",2849 "serde",2762 "serde",2850 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2763 "sp-io",2851 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2764 "sp-runtime",2852 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2765 "sp-std",2853]2766]28542855[[package]]2856name = "pallet-contracts"2857version = "2.0.0-alpha.6"2858source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"2859dependencies = [2860 "frame-support 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2861 "frame-system 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2862 "pallet-contracts-primitives",2863 "parity-scale-codec",2864 "parity-wasm",2865 "pwasm-utils",2866 "serde",2867 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2868 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2869 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2870 "sp-sandbox",2871 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2872 "wasmi-validation",2873]28742875[[package]]2876name = "pallet-contracts-primitives"2877version = "2.0.0-alpha.6"2878source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"2879dependencies = [2880 "parity-scale-codec",2881 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2882 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2883]28842885[[package]]2886name = "pallet-contracts-rpc-runtime-api"2887version = "0.8.0-alpha.6"2888source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"2889dependencies = [2890 "pallet-contracts-primitives",2891 "parity-scale-codec",2892 "sp-api 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2893 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2894 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",2895]289627672897[[package]]2768[[package]]2898name = "pallet-finality-tracker"2769name = "pallet-finality-tracker"2899version = "2.0.0-alpha.6"2770version = "2.0.0-alpha.6"2900source = "registry+https://github.com/rust-lang/crates.io-index"2771source = "registry+https://github.com/rust-lang/crates.io-index"2901checksum = "09d89d58fe723cc05bdfc5f237a51e275bf58dcafb493ad68211c27ecd8f1afd"2772checksum = "09d89d58fe723cc05bdfc5f237a51e275bf58dcafb493ad68211c27ecd8f1afd"2902dependencies = [2773dependencies = [2903 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2774 "frame-support",2904 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2775 "frame-system",2905 "impl-trait-for-tuples",2776 "impl-trait-for-tuples",2906 "parity-scale-codec",2777 "parity-scale-codec",2907 "serde",2778 "serde",2908 "sp-finality-tracker",2779 "sp-finality-tracker",2909 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2780 "sp-inherents",2910 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2781 "sp-runtime",2911 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2782 "sp-std",2912]2783]291327842914[[package]]2785[[package]]2917source = "registry+https://github.com/rust-lang/crates.io-index"2788source = "registry+https://github.com/rust-lang/crates.io-index"2918checksum = "6ed9f0fe5149552a1f1f26f4ed8999d692e0e209c54314c4f28a9bd8a1a1161d"2789checksum = "6ed9f0fe5149552a1f1f26f4ed8999d692e0e209c54314c4f28a9bd8a1a1161d"2919dependencies = [2790dependencies = [2920 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2791 "frame-support",2921 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2792 "frame-system",2922 "pallet-finality-tracker",2793 "pallet-finality-tracker",2923 "pallet-session",2794 "pallet-session",2924 "parity-scale-codec",2795 "parity-scale-codec",2925 "serde",2796 "serde",2926 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2797 "sp-core",2927 "sp-finality-grandpa",2798 "sp-finality-grandpa",2928 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2799 "sp-runtime",2929 "sp-staking",2800 "sp-staking",2930 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2801 "sp-std",2931]2802]293228032933[[package]]2804[[package]]2934name = "pallet-nft"2805name = "pallet-nft"2935version = "2.0.0-alpha.6"2806version = "2.0.0-alpha.6"2936dependencies = [2807dependencies = [2937 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2808 "frame-support",2938 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2809 "frame-system",2939 "parity-scale-codec",2810 "parity-scale-codec",2940 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2811 "sp-core",2941 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2812 "sp-io",2942 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2813 "sp-runtime",2943 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2814 "sp-std",2944]2815]294528162946[[package]]2817[[package]]2949source = "registry+https://github.com/rust-lang/crates.io-index"2820source = "registry+https://github.com/rust-lang/crates.io-index"2950checksum = "1139a9bf489b947a677574ee8ade27c7b710ce25a07f1630b80c20af8f682f91"2821checksum = "1139a9bf489b947a677574ee8ade27c7b710ce25a07f1630b80c20af8f682f91"2951dependencies = [2822dependencies = [2952 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2823 "frame-support",2953 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2824 "frame-system",2954 "parity-scale-codec",2825 "parity-scale-codec",2955 "safe-mix",2826 "safe-mix",2956 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2827 "sp-runtime",2957 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2828 "sp-std",2958]2829]295928302960[[package]]2831[[package]]2963source = "registry+https://github.com/rust-lang/crates.io-index"2834source = "registry+https://github.com/rust-lang/crates.io-index"2964checksum = "4fdeb41738a79d3247b2a7fd9ce8ae5a7d9e92ca2de198e006f891240c8dcacc"2835checksum = "4fdeb41738a79d3247b2a7fd9ce8ae5a7d9e92ca2de198e006f891240c8dcacc"2965dependencies = [2836dependencies = [2966 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2837 "frame-support",2967 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2838 "frame-system",2968 "impl-trait-for-tuples",2839 "impl-trait-for-tuples",2969 "pallet-timestamp",2840 "pallet-timestamp",2970 "parity-scale-codec",2841 "parity-scale-codec",2971 "serde",2842 "serde",2972 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2843 "sp-io",2973 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2844 "sp-runtime",2974 "sp-staking",2845 "sp-staking",2975 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2846 "sp-std",2976 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2847 "sp-trie",2977]2848]297828492979[[package]]2850[[package]]2982source = "registry+https://github.com/rust-lang/crates.io-index"2853source = "registry+https://github.com/rust-lang/crates.io-index"2983checksum = "70b15e01796c9d2791cbd9ae2d7c9b59c8eccc3682afbb1189f6ebe7b07f4d71"2854checksum = "70b15e01796c9d2791cbd9ae2d7c9b59c8eccc3682afbb1189f6ebe7b07f4d71"2984dependencies = [2855dependencies = [2985 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2856 "frame-support",2986 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2857 "frame-system",2987 "parity-scale-codec",2858 "parity-scale-codec",2988 "serde",2859 "serde",2989 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2860 "sp-io",2990 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2861 "sp-runtime",2991 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2862 "sp-std",2992]2863]299328642994[[package]]2865[[package]]2998checksum = "4d9de9af5f5ed3377a6108eed436791bfe18bc3e4e2e416854d0074d31b1be00"2869checksum = "4d9de9af5f5ed3377a6108eed436791bfe18bc3e4e2e416854d0074d31b1be00"2999dependencies = [2870dependencies = [3000 "frame-benchmarking",2871 "frame-benchmarking",3001 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2872 "frame-support",3002 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2873 "frame-system",3003 "impl-trait-for-tuples",2874 "impl-trait-for-tuples",3004 "parity-scale-codec",2875 "parity-scale-codec",3005 "serde",2876 "serde",3006 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2877 "sp-inherents",3007 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2878 "sp-runtime",3008 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2879 "sp-std",3009 "sp-timestamp",2880 "sp-timestamp",3010]2881]301128823015source = "registry+https://github.com/rust-lang/crates.io-index"2886source = "registry+https://github.com/rust-lang/crates.io-index"3016checksum = "54768f5959e0bef53218b91f289d6807c0786d93fb90a3c7e39ab7ff9f018f23"2887checksum = "54768f5959e0bef53218b91f289d6807c0786d93fb90a3c7e39ab7ff9f018f23"3017dependencies = [2888dependencies = [3018 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2889 "frame-support",3019 "frame-system 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2890 "frame-system",3020 "pallet-transaction-payment-rpc-runtime-api",2891 "pallet-transaction-payment-rpc-runtime-api",3021 "parity-scale-codec",2892 "parity-scale-codec",3022 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2893 "sp-runtime",3023 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2894 "sp-std",3024]2895]302528963026[[package]]2897[[package]]3029source = "registry+https://github.com/rust-lang/crates.io-index"2900source = "registry+https://github.com/rust-lang/crates.io-index"3030checksum = "7323ef565470b51bb79fc65d3c3a1bff0ecb317485acc66a64406309c25f1b77"2901checksum = "7323ef565470b51bb79fc65d3c3a1bff0ecb317485acc66a64406309c25f1b77"3031dependencies = [2902dependencies = [3032 "frame-support 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2903 "frame-support",3033 "parity-scale-codec",2904 "parity-scale-codec",3034 "serde",2905 "serde",3035 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2906 "sp-api",3036 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2907 "sp-runtime",3037 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",2908 "sp-std",3038]2909]303929103040[[package]]2911[[package]]3469source = "registry+https://github.com/rust-lang/crates.io-index"3340source = "registry+https://github.com/rust-lang/crates.io-index"3470checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485"3341checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485"34713472[[package]]3473name = "pwasm-utils"3474version = "0.12.0"3475source = "registry+https://github.com/rust-lang/crates.io-index"3476checksum = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192"3477dependencies = [3478 "byteorder",3479 "log",3480 "parity-wasm",3481]348233423483[[package]]3343[[package]]3484name = "quick-error"3344name = "quick-error"3914 "sc-block-builder",3774 "sc-block-builder",3915 "sc-client-api",3775 "sc-client-api",3916 "sc-telemetry",3776 "sc-telemetry",3917 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3777 "sp-api",3918 "sp-blockchain",3778 "sp-blockchain",3919 "sp-consensus",3779 "sp-consensus",3920 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3780 "sp-core",3921 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3781 "sp-inherents",3922 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3782 "sp-runtime",3923 "sp-transaction-pool",3783 "sp-transaction-pool",3924 "tokio-executor 0.2.0-alpha.6",3784 "tokio-executor 0.2.0-alpha.6",3925]3785]3932dependencies = [3792dependencies = [3933 "parity-scale-codec",3793 "parity-scale-codec",3934 "sc-client-api",3794 "sc-client-api",3935 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3795 "sp-api",3936 "sp-block-builder",3796 "sp-block-builder",3937 "sp-blockchain",3797 "sp-blockchain",3938 "sp-consensus",3798 "sp-consensus",3939 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3799 "sp-core",3940 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3800 "sp-runtime",3941 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3801 "sp-state-machine",3942]3802]394338033944[[package]]3804[[package]]3954 "serde",3814 "serde",3955 "serde_json",3815 "serde_json",3956 "sp-chain-spec",3816 "sp-chain-spec",3957 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3817 "sp-core",3958 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3818 "sp-runtime",3959]3819]396038203961[[package]]3821[[package]]4000 "sc-tracing",3860 "sc-tracing",4001 "serde_json",3861 "serde_json",4002 "sp-blockchain",3862 "sp-blockchain",4003 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3863 "sp-core",4004 "sp-keyring",3864 "sp-keyring",4005 "sp-panic-handler 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3865 "sp-panic-handler",4006 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3866 "sp-runtime",4007 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3867 "sp-state-machine",4008 "sp-utils",3868 "sp-utils",4009 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3869 "sp-version",4010 "structopt",3870 "structopt",4011 "substrate-prometheus-endpoint",3871 "substrate-prometheus-endpoint",4012 "time",3872 "time",4032 "sc-client-api",3892 "sc-client-api",4033 "sc-executor",3893 "sc-executor",4034 "sc-telemetry",3894 "sc-telemetry",4035 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3895 "sp-api",4036 "sp-blockchain",3896 "sp-blockchain",4037 "sp-consensus",3897 "sp-consensus",4038 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3898 "sp-core",4039 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3899 "sp-externalities",4040 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3900 "sp-inherents",4041 "sp-keyring",3901 "sp-keyring",4042 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3902 "sp-runtime",4043 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3903 "sp-state-machine",4044 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3904 "sp-std",4045 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3905 "sp-trie",4046 "sp-utils",3906 "sp-utils",4047 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3907 "sp-version",4048 "substrate-prometheus-endpoint",3908 "substrate-prometheus-endpoint",4049 "tracing",3909 "tracing",4050]3910]4067 "parking_lot 0.10.2",3927 "parking_lot 0.10.2",4068 "sc-executor",3928 "sc-executor",4069 "sc-telemetry",3929 "sc-telemetry",4070 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3930 "sp-api",4071 "sp-blockchain",3931 "sp-blockchain",4072 "sp-consensus",3932 "sp-consensus",4073 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3933 "sp-core",4074 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3934 "sp-externalities",4075 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3935 "sp-inherents",4076 "sp-keyring",3936 "sp-keyring",4077 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3937 "sp-runtime",4078 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3938 "sp-state-machine",4079 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3939 "sp-std",4080 "sp-storage 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3940 "sp-storage",4081 "sp-transaction-pool",3941 "sp-transaction-pool",4082 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3942 "sp-trie",4083 "sp-utils",3943 "sp-utils",4084 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3944 "sp-version",4085]3945]408639464087[[package]]3947[[package]]4105 "sc-state-db",3965 "sc-state-db",4106 "sp-blockchain",3966 "sp-blockchain",4107 "sp-consensus",3967 "sp-consensus",4108 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3968 "sp-core",4109 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3969 "sp-runtime",4110 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3970 "sp-state-machine",4111 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3971 "sp-trie",4112 "substrate-prometheus-endpoint",3972 "substrate-prometheus-endpoint",4113]3973]411439744130 "sc-consensus-slots",3990 "sc-consensus-slots",4131 "sc-keystore",3991 "sc-keystore",4132 "sc-telemetry",3992 "sc-telemetry",4133 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3993 "sp-api",4134 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3994 "sp-application-crypto",4135 "sp-block-builder",3995 "sp-block-builder",4136 "sp-blockchain",3996 "sp-blockchain",4137 "sp-consensus",3997 "sp-consensus",4138 "sp-consensus-aura",3998 "sp-consensus-aura",4139 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",3999 "sp-core",4140 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4000 "sp-inherents",4141 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4001 "sp-io",4142 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4002 "sp-runtime",4143 "sp-timestamp",4003 "sp-timestamp",4144 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4004 "sp-version",4145]4005]414640064147[[package]]4007[[package]]4157 "parking_lot 0.10.2",4017 "parking_lot 0.10.2",4158 "sc-client-api",4018 "sc-client-api",4159 "sc-telemetry",4019 "sc-telemetry",4160 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4020 "sp-api",4161 "sp-blockchain",4021 "sp-blockchain",4162 "sp-consensus",4022 "sp-consensus",4163 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4023 "sp-core",4164 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4024 "sp-inherents",4165 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4025 "sp-runtime",4166 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4026 "sp-state-machine",4167]4027]416840284169[[package]]4029[[package]]4181 "parking_lot 0.10.2",4041 "parking_lot 0.10.2",4182 "sc-executor-common",4042 "sc-executor-common",4183 "sc-executor-wasmi",4043 "sc-executor-wasmi",4184 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4044 "sp-core",4185 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4045 "sp-externalities",4186 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4046 "sp-io",4187 "sp-panic-handler 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4047 "sp-panic-handler",4188 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4048 "sp-runtime-interface",4189 "sp-serializer",4049 "sp-serializer",4190 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4050 "sp-trie",4191 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4051 "sp-version",4192 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4052 "sp-wasm-interface",4193 "wasmi",4053 "wasmi",4194]4054]419540554204 "parity-scale-codec",4064 "parity-scale-codec",4205 "parity-wasm",4065 "parity-wasm",4206 "sp-allocator",4066 "sp-allocator",4207 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4067 "sp-core",4208 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4068 "sp-runtime-interface",4209 "sp-serializer",4069 "sp-serializer",4210 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4070 "sp-wasm-interface",4211 "wasmi",4071 "wasmi",4212]4072]421340734221 "parity-scale-codec",4081 "parity-scale-codec",4222 "sc-executor-common",4082 "sc-executor-common",4223 "sp-allocator",4083 "sp-allocator",4224 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4084 "sp-core",4225 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4085 "sp-runtime-interface",4226 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4086 "sp-wasm-interface",4227 "wasmi",4087 "wasmi",4228]4088]422940894251 "sc-network-gossip",4111 "sc-network-gossip",4252 "sc-telemetry",4112 "sc-telemetry",4253 "serde_json",4113 "serde_json",4254 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4114 "sp-api",4255 "sp-arithmetic 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4115 "sp-arithmetic",4256 "sp-blockchain",4116 "sp-blockchain",4257 "sp-consensus",4117 "sp-consensus",4258 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4118 "sp-core",4259 "sp-finality-grandpa",4119 "sp-finality-grandpa",4260 "sp-finality-tracker",4120 "sp-finality-tracker",4261 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4121 "sp-inherents",4262 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4122 "sp-runtime",4263 "sp-utils",4123 "sp-utils",4264 "substrate-prometheus-endpoint",4124 "substrate-prometheus-endpoint",4265]4125]4278 "sc-network",4138 "sc-network",4279 "sc-service",4139 "sc-service",4280 "sp-blockchain",4140 "sp-blockchain",4281 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4141 "sp-runtime",4282 "wasm-timer",4142 "wasm-timer",4283]4143]428441444293 "parking_lot 0.10.2",4153 "parking_lot 0.10.2",4294 "rand 0.7.3",4154 "rand 0.7.3",4295 "serde_json",4155 "serde_json",4296 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4156 "sp-application-crypto",4297 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4157 "sp-core",4298 "subtle 2.2.2",4158 "subtle 2.2.2",4299]4159]430041604336 "slog",4196 "slog",4337 "slog_derive",4197 "slog_derive",4338 "smallvec 0.6.13",4198 "smallvec 0.6.13",4339 "sp-arithmetic 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4199 "sp-arithmetic",4340 "sp-blockchain",4200 "sp-blockchain",4341 "sp-consensus",4201 "sp-consensus",4342 "sp-consensus-babe",4202 "sp-consensus-babe",4343 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4203 "sp-core",4344 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4204 "sp-runtime",4345 "sp-utils",4205 "sp-utils",4346 "substrate-prometheus-endpoint",4206 "substrate-prometheus-endpoint",4347 "thiserror",4207 "thiserror",4363 "log",4223 "log",4364 "lru",4224 "lru",4365 "sc-network",4225 "sc-network",4366 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4226 "sp-runtime",4367 "sp-utils",4227 "sp-utils",4368 "wasm-timer",4228 "wasm-timer",4369]4229]4388 "sc-client-api",4248 "sc-client-api",4389 "sc-keystore",4249 "sc-keystore",4390 "sc-network",4250 "sc-network",4391 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4251 "sp-api",4392 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4252 "sp-core",4393 "sp-offchain",4253 "sp-offchain",4394 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4254 "sp-runtime",4395 "sp-utils",4255 "sp-utils",4396 "threadpool",4256 "threadpool",4397]4257]4430 "sc-keystore",4290 "sc-keystore",4431 "sc-rpc-api",4291 "sc-rpc-api",4432 "serde_json",4292 "serde_json",4433 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4293 "sp-api",4434 "sp-blockchain",4294 "sp-blockchain",4435 "sp-chain-spec",4295 "sp-chain-spec",4436 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4296 "sp-core",4437 "sp-offchain",4297 "sp-offchain",4438 "sp-rpc",4298 "sp-rpc",4439 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4299 "sp-runtime",4440 "sp-session",4300 "sp-session",4441 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4301 "sp-state-machine",4442 "sp-transaction-pool",4302 "sp-transaction-pool",4443 "sp-utils",4303 "sp-utils",4444 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4304 "sp-version",4445]4305]444643064447[[package]]4307[[package]]4462 "serde",4322 "serde",4463 "serde_json",4323 "serde_json",4464 "sp-chain-spec",4324 "sp-chain-spec",4465 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4325 "sp-core",4466 "sp-rpc",4326 "sp-rpc",4467 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4327 "sp-runtime",4468 "sp-transaction-pool",4328 "sp-transaction-pool",4469 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4329 "sp-version",4470]4330]447143314472[[package]]4332[[package]]4482 "log",4342 "log",4483 "serde",4343 "serde",4484 "serde_json",4344 "serde_json",4485 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4345 "sp-runtime",4486]4346]448743474488[[package]]4348[[package]]4521 "serde",4381 "serde",4522 "serde_json",4382 "serde_json",4523 "slog",4383 "slog",4524 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4384 "sp-api",4525 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4385 "sp-application-crypto",4526 "sp-blockchain",4386 "sp-blockchain",4527 "sp-consensus",4387 "sp-consensus",4528 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4388 "sp-core",4529 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4389 "sp-io",4530 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4390 "sp-runtime",4531 "sp-session",4391 "sp-session",4532 "sp-transaction-pool",4392 "sp-transaction-pool",4533 "sp-utils",4393 "sp-utils",4549 "parity-util-mem-derive",4409 "parity-util-mem-derive",4550 "parking_lot 0.10.2",4410 "parking_lot 0.10.2",4551 "sc-client-api",4411 "sc-client-api",4552 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4412 "sp-core",4553]4413]455444144555[[package]]4415[[package]]4605 "parking_lot 0.10.2",4465 "parking_lot 0.10.2",4606 "serde",4466 "serde",4607 "sp-blockchain",4467 "sp-blockchain",4608 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4468 "sp-core",4609 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4469 "sp-runtime",4610 "sp-transaction-pool",4470 "sp-transaction-pool",4611 "sp-utils",4471 "sp-utils",4612 "wasm-timer",4472 "wasm-timer",4628 "parking_lot 0.10.2",4488 "parking_lot 0.10.2",4629 "sc-client-api",4489 "sc-client-api",4630 "sc-transaction-graph",4490 "sc-transaction-graph",4631 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4491 "sp-api",4632 "sp-blockchain",4492 "sp-blockchain",4633 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4493 "sp-core",4634 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4494 "sp-runtime",4635 "sp-transaction-pool",4495 "sp-transaction-pool",4636 "sp-utils",4496 "sp-utils",4637 "wasm-timer",4497 "wasm-timer",4936dependencies = [4796dependencies = [4937 "derive_more",4797 "derive_more",4938 "log",4798 "log",4939 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4799 "sp-core",4940 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4800 "sp-std",4941 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4801 "sp-wasm-interface",4942]4802]49434944[[package]]4945name = "sp-api"4946version = "2.0.0-alpha.6"4947source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"4948dependencies = [4949 "hash-db",4950 "parity-scale-codec",4951 "sp-api-proc-macro 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4952 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4953 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4954 "sp-state-machine 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4955 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4956 "sp-version 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",4957]495848034959[[package]]4804[[package]]4960name = "sp-api"4805name = "sp-api"4964dependencies = [4809dependencies = [4965 "hash-db",4810 "hash-db",4966 "parity-scale-codec",4811 "parity-scale-codec",4967 "sp-api-proc-macro 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4812 "sp-api-proc-macro",4968 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4813 "sp-core",4969 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4814 "sp-runtime",4970 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4815 "sp-state-machine",4971 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4816 "sp-std",4972 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4817 "sp-version",4973]4818]49744975[[package]]4976name = "sp-api-proc-macro"4977version = "2.0.0-alpha.6"4978source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"4979dependencies = [4980 "blake2-rfc",4981 "proc-macro-crate",4982 "proc-macro2",4983 "quote 1.0.3",4984 "syn 1.0.17",4985]498648194987[[package]]4820[[package]]4988name = "sp-api-proc-macro"4821name = "sp-api-proc-macro"4997 "syn 1.0.17",4830 "syn 1.0.17",4998]4831]49995000[[package]]5001name = "sp-application-crypto"5002version = "2.0.0-alpha.6"5003source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5004dependencies = [5005 "parity-scale-codec",5006 "serde",5007 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5008 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5009 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5010]501148325012[[package]]4833[[package]]5013name = "sp-application-crypto"4834name = "sp-application-crypto"5017dependencies = [4838dependencies = [5018 "parity-scale-codec",4839 "parity-scale-codec",5019 "serde",4840 "serde",5020 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4841 "sp-core",5021 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4842 "sp-io",5022 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4843 "sp-std",5023]4844]50245025[[package]]5026name = "sp-arithmetic"5027version = "2.0.0-alpha.6"5028source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5029dependencies = [5030 "integer-sqrt",5031 "num-traits 0.2.11",5032 "parity-scale-codec",5033 "primitive-types",5034 "serde",5035 "sp-debug-derive 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5036 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5037]503848455039[[package]]4846[[package]]5040name = "sp-arithmetic"4847name = "sp-arithmetic"5047 "parity-scale-codec",4854 "parity-scale-codec",5048 "primitive-types",4855 "primitive-types",5049 "serde",4856 "serde",5050 "sp-debug-derive 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4857 "sp-debug-derive",5051 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4858 "sp-std",5052]4859]505348605054[[package]]4861[[package]]5058checksum = "70049c389c66c4c9207149e2579ce6d752788dee8c596fbda76059f2ddde968f"4865checksum = "70049c389c66c4c9207149e2579ce6d752788dee8c596fbda76059f2ddde968f"5059dependencies = [4866dependencies = [5060 "parity-scale-codec",4867 "parity-scale-codec",5061 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4868 "sp-api",5062 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4869 "sp-inherents",5063 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4870 "sp-runtime",5064 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4871 "sp-std",5065]4872]506648735067[[package]]4874[[package]]5077 "parking_lot 0.10.2",4884 "parking_lot 0.10.2",5078 "sp-block-builder",4885 "sp-block-builder",5079 "sp-consensus",4886 "sp-consensus",5080 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4887 "sp-runtime",5081 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4888 "sp-state-machine",5082]4889]508348905084[[package]]4891[[package]]5106 "parity-scale-codec",4913 "parity-scale-codec",5107 "parking_lot 0.10.2",4914 "parking_lot 0.10.2",5108 "serde",4915 "serde",5109 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4916 "sp-core",5110 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4917 "sp-inherents",5111 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4918 "sp-runtime",5112 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4919 "sp-state-machine",5113 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4920 "sp-std",5114 "sp-utils",4921 "sp-utils",5115 "sp-version 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4922 "sp-version",5116]4923]511749245118[[package]]4925[[package]]5122checksum = "0a5ffbc4aca29fe7a0f0c419445e34758210dba6418eeb101d60c1e15b27797a"4929checksum = "0a5ffbc4aca29fe7a0f0c419445e34758210dba6418eeb101d60c1e15b27797a"5123dependencies = [4930dependencies = [5124 "parity-scale-codec",4931 "parity-scale-codec",5125 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4932 "sp-api",5126 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4933 "sp-application-crypto",5127 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4934 "sp-inherents",5128 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4935 "sp-runtime",5129 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4936 "sp-std",5130 "sp-timestamp",4937 "sp-timestamp",5131]4938]513249395137checksum = "ac6108fbecddd95ce8151f09e8ecb0941b3eddcfeefb4c996f27a8a8b4827abd"4944checksum = "ac6108fbecddd95ce8151f09e8ecb0941b3eddcfeefb4c996f27a8a8b4827abd"5138dependencies = [4945dependencies = [5139 "parity-scale-codec",4946 "parity-scale-codec",5140 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4947 "sp-api",5141 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4948 "sp-application-crypto",5142 "sp-consensus",4949 "sp-consensus",5143 "sp-consensus-vrf",4950 "sp-consensus-vrf",5144 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4951 "sp-inherents",5145 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4952 "sp-runtime",5146 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4953 "sp-std",5147 "sp-timestamp",4954 "sp-timestamp",5148]4955]514949565155dependencies = [4962dependencies = [5156 "parity-scale-codec",4963 "parity-scale-codec",5157 "schnorrkel",4964 "schnorrkel",5158 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4965 "sp-core",5159 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4966 "sp-runtime",5160 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4967 "sp-std",5161]4968]51625163[[package]]5164name = "sp-core"5165version = "2.0.0-alpha.6"5166source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5167dependencies = [5168 "base58",5169 "blake2-rfc",5170 "byteorder",5171 "ed25519-dalek",5172 "futures 0.3.4",5173 "hash-db",5174 "hash256-std-hasher",5175 "hex",5176 "impl-serde 0.3.0",5177 "lazy_static",5178 "libsecp256k1",5179 "log",5180 "num-traits 0.2.11",5181 "parity-scale-codec",5182 "parity-util-mem",5183 "parking_lot 0.10.2",5184 "primitive-types",5185 "rand 0.7.3",5186 "regex",5187 "schnorrkel",5188 "serde",5189 "sha2",5190 "sp-debug-derive 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5191 "sp-externalities 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5192 "sp-runtime-interface 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5193 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5194 "sp-storage 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5195 "substrate-bip39",5196 "tiny-bip39",5197 "tiny-keccak",5198 "twox-hash",5199 "wasmi",5200 "zeroize",5201]520249695203[[package]]4970[[package]]5204name = "sp-core"4971name = "sp-core"5228 "schnorrkel",4995 "schnorrkel",5229 "serde",4996 "serde",5230 "sha2",4997 "sha2",5231 "sp-debug-derive 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4998 "sp-debug-derive",5232 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",4999 "sp-externalities",5233 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5000 "sp-runtime-interface",5234 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5001 "sp-std",5235 "sp-storage 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5002 "sp-storage",5236 "substrate-bip39",5003 "substrate-bip39",5237 "tiny-bip39",5004 "tiny-bip39",5238 "tiny-keccak",5005 "tiny-keccak",5241 "zeroize",5008 "zeroize",5242]5009]52435244[[package]]5245name = "sp-debug-derive"5246version = "2.0.0-alpha.6"5247source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5248dependencies = [5249 "proc-macro2",5250 "quote 1.0.3",5251 "syn 1.0.17",5252]525350105254[[package]]5011[[package]]5255name = "sp-debug-derive"5012name = "sp-debug-derive"5262 "syn 1.0.17",5019 "syn 1.0.17",5263]5020]52645265[[package]]5266name = "sp-externalities"5267version = "0.8.0-alpha.6"5268source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5269dependencies = [5270 "environmental",5271 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5272 "sp-storage 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5273]527450215275[[package]]5022[[package]]5276name = "sp-externalities"5023name = "sp-externalities"5279checksum = "b06b8ac80a03205205426ae9ef3200133a8ffab4f4f0eeecd3b858034f9e5b02"5026checksum = "b06b8ac80a03205205426ae9ef3200133a8ffab4f4f0eeecd3b858034f9e5b02"5280dependencies = [5027dependencies = [5281 "environmental",5028 "environmental",5282 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5029 "sp-std",5283 "sp-storage 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5030 "sp-storage",5284]5031]528550325286[[package]]5033[[package]]5291dependencies = [5038dependencies = [5292 "parity-scale-codec",5039 "parity-scale-codec",5293 "serde",5040 "serde",5294 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5041 "sp-api",5295 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5042 "sp-application-crypto",5296 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5043 "sp-runtime",5297 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5044 "sp-std",5298]5045]529950465300[[package]]5047[[package]]5304checksum = "a5f718fb1e75fd137b01b539a200cf5e3cd1e0f1d21dc55a03341d7e25c81624"5051checksum = "a5f718fb1e75fd137b01b539a200cf5e3cd1e0f1d21dc55a03341d7e25c81624"5305dependencies = [5052dependencies = [5306 "parity-scale-codec",5053 "parity-scale-codec",5307 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5054 "sp-inherents",5308 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5055 "sp-std",5309]5056]53105311[[package]]5312name = "sp-inherents"5313version = "2.0.0-alpha.6"5314source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5315dependencies = [5316 "derive_more",5317 "parity-scale-codec",5318 "parking_lot 0.10.2",5319 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5320 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5321]532250575323[[package]]5058[[package]]5324name = "sp-inherents"5059name = "sp-inherents"5329 "derive_more",5064 "derive_more",5330 "parity-scale-codec",5065 "parity-scale-codec",5331 "parking_lot 0.10.2",5066 "parking_lot 0.10.2",5332 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5067 "sp-core",5333 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5068 "sp-std",5334]5069]53355336[[package]]5337name = "sp-io"5338version = "2.0.0-alpha.6"5339source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5340dependencies = [5341 "hash-db",5342 "libsecp256k1",5343 "log",5344 "parity-scale-codec",5345 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5346 "sp-externalities 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5347 "sp-runtime-interface 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5348 "sp-state-machine 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5349 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5350 "sp-trie 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5351 "sp-wasm-interface 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5352]535350705354[[package]]5071[[package]]5355name = "sp-io"5072name = "sp-io"5361 "libsecp256k1",5078 "libsecp256k1",5362 "log",5079 "log",5363 "parity-scale-codec",5080 "parity-scale-codec",5364 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5081 "sp-core",5365 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5082 "sp-externalities",5366 "sp-runtime-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5083 "sp-runtime-interface",5367 "sp-state-machine 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5084 "sp-state-machine",5368 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5085 "sp-std",5369 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5086 "sp-trie",5370 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5087 "sp-wasm-interface",5371]5088]537250895373[[package]]5090[[package]]5377checksum = "9f71e65eb13d8a4d320d3785558ac8fc12f8b2bdbfc5268c0e8a5a143d68686e"5094checksum = "9f71e65eb13d8a4d320d3785558ac8fc12f8b2bdbfc5268c0e8a5a143d68686e"5378dependencies = [5095dependencies = [5379 "lazy_static",5096 "lazy_static",5380 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5097 "sp-core",5381 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5098 "sp-runtime",5382 "strum",5099 "strum",5383]5100]538451015388source = "registry+https://github.com/rust-lang/crates.io-index"5105source = "registry+https://github.com/rust-lang/crates.io-index"5389checksum = "6dfc02ea51f7abe7e8999658a8a41693426f14e66cff6cc5af989888289ad0fc"5106checksum = "6dfc02ea51f7abe7e8999658a8a41693426f14e66cff6cc5af989888289ad0fc"5390dependencies = [5107dependencies = [5391 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5108 "sp-api",5392 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5109 "sp-runtime",5393]5110]53945395[[package]]5396name = "sp-panic-handler"5397version = "2.0.0-alpha.6"5398source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5399dependencies = [5400 "backtrace",5401 "log",5402]540351115404[[package]]5112[[package]]5405name = "sp-panic-handler"5113name = "sp-panic-handler"5418checksum = "9d29a58ef51317f96eec408b40c604ccfe8c7c3b9ecc2636e2a9c84a79fae53a"5126checksum = "9d29a58ef51317f96eec408b40c604ccfe8c7c3b9ecc2636e2a9c84a79fae53a"5419dependencies = [5127dependencies = [5420 "serde",5128 "serde",5421 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5129 "sp-core",5422]5130]54235424[[package]]5425name = "sp-runtime"5426version = "2.0.0-alpha.6"5427source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5428dependencies = [5429 "hash256-std-hasher",5430 "impl-trait-for-tuples",5431 "log",5432 "parity-scale-codec",5433 "parity-util-mem",5434 "paste",5435 "rand 0.7.3",5436 "serde",5437 "sp-application-crypto 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5438 "sp-arithmetic 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5439 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5440 "sp-inherents 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5441 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5442 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5443]544451315445[[package]]5132[[package]]5446name = "sp-runtime"5133name = "sp-runtime"5456 "paste",5143 "paste",5457 "rand 0.7.3",5144 "rand 0.7.3",5458 "serde",5145 "serde",5459 "sp-application-crypto 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5146 "sp-application-crypto",5460 "sp-arithmetic 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5147 "sp-arithmetic",5461 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5148 "sp-core",5462 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5149 "sp-inherents",5463 "sp-io 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5150 "sp-io",5464 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5151 "sp-std",5465]5152]54665467[[package]]5468name = "sp-runtime-interface"5469version = "2.0.0-alpha.6"5470source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5471dependencies = [5472 "parity-scale-codec",5473 "primitive-types",5474 "sp-externalities 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5475 "sp-runtime-interface-proc-macro 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5476 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5477 "sp-wasm-interface 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5478 "static_assertions",5479]548051535481[[package]]5154[[package]]5482name = "sp-runtime-interface"5155name = "sp-runtime-interface"5486dependencies = [5159dependencies = [5487 "parity-scale-codec",5160 "parity-scale-codec",5488 "primitive-types",5161 "primitive-types",5489 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5162 "sp-externalities",5490 "sp-runtime-interface-proc-macro 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5163 "sp-runtime-interface-proc-macro",5491 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5164 "sp-std",5492 "sp-wasm-interface 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5165 "sp-wasm-interface",5493 "static_assertions",5166 "static_assertions",5494]5167]54955496[[package]]5497name = "sp-runtime-interface-proc-macro"5498version = "2.0.0-alpha.6"5499source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5500dependencies = [5501 "Inflector",5502 "proc-macro-crate",5503 "proc-macro2",5504 "quote 1.0.3",5505 "syn 1.0.17",5506]550751685508[[package]]5169[[package]]5509name = "sp-runtime-interface-proc-macro"5170name = "sp-runtime-interface-proc-macro"5518 "syn 1.0.17",5179 "syn 1.0.17",5519]5180]55205521[[package]]5522name = "sp-sandbox"5523version = "0.8.0-alpha.6"5524source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5525dependencies = [5526 "parity-scale-codec",5527 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5528 "sp-io 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5529 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5530 "sp-wasm-interface 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5531 "wasmi",5532]553351815534[[package]]5182[[package]]5535name = "sp-serializer"5183name = "sp-serializer"5547source = "registry+https://github.com/rust-lang/crates.io-index"5195source = "registry+https://github.com/rust-lang/crates.io-index"5548checksum = "6fca3ff8ddd14c5928536483d4b393bb795d55dcb5b576b1dceb3f5829216c76"5196checksum = "6fca3ff8ddd14c5928536483d4b393bb795d55dcb5b576b1dceb3f5829216c76"5549dependencies = [5197dependencies = [5550 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5198 "sp-api",5551 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5199 "sp-core",5552 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5200 "sp-runtime",5553 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5201 "sp-std",5554]5202]555552035556[[package]]5204[[package]]5560checksum = "61d7105e78848b8a8f6af3539a0cf7d9627b78a8776f61f43769da6406937ea9"5208checksum = "61d7105e78848b8a8f6af3539a0cf7d9627b78a8776f61f43769da6406937ea9"5561dependencies = [5209dependencies = [5562 "parity-scale-codec",5210 "parity-scale-codec",5563 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5211 "sp-runtime",5564 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5212 "sp-std",5565]5213]55665567[[package]]5568name = "sp-state-machine"5569version = "0.8.0-alpha.6"5570source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5571dependencies = [5572 "hash-db",5573 "log",5574 "num-traits 0.2.11",5575 "parity-scale-codec",5576 "parking_lot 0.10.2",5577 "rand 0.7.3",5578 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5579 "sp-externalities 0.8.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5580 "sp-panic-handler 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5581 "sp-trie 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5582 "trie-db",5583 "trie-root",5584]558552145586[[package]]5215[[package]]5587name = "sp-state-machine"5216name = "sp-state-machine"5595 "parity-scale-codec",5224 "parity-scale-codec",5596 "parking_lot 0.10.2",5225 "parking_lot 0.10.2",5597 "rand 0.7.3",5226 "rand 0.7.3",5598 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5227 "sp-core",5599 "sp-externalities 0.8.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5228 "sp-externalities",5600 "sp-panic-handler 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5229 "sp-panic-handler",5601 "sp-trie 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5230 "sp-trie",5602 "trie-db",5231 "trie-db",5603 "trie-root",5232 "trie-root",5604]5233]56055606[[package]]5607name = "sp-std"5608version = "2.0.0-alpha.6"5609source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"561052345611[[package]]5235[[package]]5612name = "sp-std"5236name = "sp-std"5613version = "2.0.0-alpha.6"5237version = "2.0.0-alpha.6"5614source = "registry+https://github.com/rust-lang/crates.io-index"5238source = "registry+https://github.com/rust-lang/crates.io-index"5615checksum = "eca806523d5df8082c89da042e31292f0c8f6e6ad9c3cfc312edfffde6a08490"5239checksum = "eca806523d5df8082c89da042e31292f0c8f6e6ad9c3cfc312edfffde6a08490"56165617[[package]]5618name = "sp-storage"5619version = "2.0.0-alpha.6"5620source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5621dependencies = [5622 "impl-serde 0.2.3",5623 "serde",5624 "sp-debug-derive 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5625 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5626]562752405628[[package]]5241[[package]]5629name = "sp-storage"5242name = "sp-storage"5633dependencies = [5246dependencies = [5634 "impl-serde 0.2.3",5247 "impl-serde 0.2.3",5635 "serde",5248 "serde",5636 "sp-debug-derive 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5249 "sp-debug-derive",5637 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5250 "sp-std",5638]5251]563952525640[[package]]5253[[package]]5645dependencies = [5258dependencies = [5646 "impl-trait-for-tuples",5259 "impl-trait-for-tuples",5647 "parity-scale-codec",5260 "parity-scale-codec",5648 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5261 "sp-api",5649 "sp-inherents 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5262 "sp-inherents",5650 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5263 "sp-runtime",5651 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5264 "sp-std",5652 "wasm-timer",5265 "wasm-timer",5653]5266]565452675663 "log",5276 "log",5664 "parity-scale-codec",5277 "parity-scale-codec",5665 "serde",5278 "serde",5666 "sp-api 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5279 "sp-api",5667 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5280 "sp-runtime",5668 "sp-utils",5281 "sp-utils",5669]5282]56705671[[package]]5672name = "sp-trie"5673version = "2.0.0-alpha.6"5674source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5675dependencies = [5676 "hash-db",5677 "memory-db",5678 "parity-scale-codec",5679 "sp-core 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5680 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5681 "trie-db",5682 "trie-root",5683]568452835685[[package]]5284[[package]]5686name = "sp-trie"5285name = "sp-trie"5691 "hash-db",5290 "hash-db",5692 "memory-db",5291 "memory-db",5693 "parity-scale-codec",5292 "parity-scale-codec",5694 "sp-core 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5293 "sp-core",5695 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5294 "sp-std",5696 "trie-db",5295 "trie-db",5697 "trie-root",5296 "trie-root",5698]5297]5709 "prometheus",5308 "prometheus",5710]5309]57115712[[package]]5713name = "sp-version"5714version = "2.0.0-alpha.6"5715source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5716dependencies = [5717 "impl-serde 0.2.3",5718 "parity-scale-codec",5719 "serde",5720 "sp-runtime 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5721 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5722]572353105724[[package]]5311[[package]]5725name = "sp-version"5312name = "sp-version"5730 "impl-serde 0.2.3",5317 "impl-serde 0.2.3",5731 "parity-scale-codec",5318 "parity-scale-codec",5732 "serde",5319 "serde",5733 "sp-runtime 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5320 "sp-runtime",5734 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5321 "sp-std",5735]5322]57365737[[package]]5738name = "sp-wasm-interface"5739version = "2.0.0-alpha.6"5740source = "git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6#67f354f57e738fa575775f7fa0fb903e8972182b"5741dependencies = [5742 "impl-trait-for-tuples",5743 "parity-scale-codec",5744 "sp-std 2.0.0-alpha.6 (git+https://github.com/paritytech/substrate.git?tag=v2.0.0-alpha.6)",5745 "wasmi",5746]574753235748[[package]]5324[[package]]5749name = "sp-wasm-interface"5325name = "sp-wasm-interface"5753dependencies = [5329dependencies = [5754 "impl-trait-for-tuples",5330 "impl-trait-for-tuples",5755 "parity-scale-codec",5331 "parity-scale-codec",5756 "sp-std 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",5332 "sp-std",5757 "wasmi",5333 "wasmi",5758]5334]57595335Dockerfilediffbeforeafterboth3FROM phusion/baseimage:0.10.2 as builder3FROM phusion/baseimage:0.10.2 as builder4LABEL maintainer="gz@usetech.com"4LABEL maintainer="gz@usetech.com"556ENV WASM_TOOLCHAIN=nightly6ENV WASM_TOOLCHAIN=nightly-2020-05-01778ARG PROFILE=release8ARG PROFILE=release99191920RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \20RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \21 export PATH="$PATH:$HOME/.cargo/bin" && \21 export PATH="$PATH:$HOME/.cargo/bin" && \22 rustup toolchain uninstall $(rustup toolchain list) && \23 rustup default 1.44.0 && \22 rustup toolchain install $WASM_TOOLCHAIN && \24 rustup toolchain install $WASM_TOOLCHAIN && \23 rustup target add wasm32-unknown-unknown --toolchain $WASM_TOOLCHAIN && \25 rustup target add wasm32-unknown-unknown --toolchain $WASM_TOOLCHAIN && \24 rustup default stable && \25 rustup target list --installed && \26 rustup target list --installed && \26 rustup show && \27 rustup show && \27 cargo build "--$PROFILE" 28 cargo build "--$PROFILE" README.mddiffbeforeafterboth889## Building9## Building101011Install Rust:11Building NFT chain requires special versions of Rust and toolchain. We don't use the most recent versions of everything so that we can keep the builds stable.1212131. Install Rust:1413```bash15```bash14curl https://sh.rustup.rs -sSf | sh16curl https://sh.rustup.rs -sSf | sh15rustup default nightly16sudo apt-get install libssl-dev pkg-config libclang-dev clang17sudo apt-get install libssl-dev pkg-config libclang-dev clang1718```18```191920Install required tools:202. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.2121223. Install Rust Toolchain 1.44.0:2322```bash24```bash23./scripts/init.sh25rustup install 1.44.024```26```252726Build the WebAssembly binary:284. Make it default (actual toochain version may be different, so do a `rustup toolchain list` first)29```bash30rustup toolchain list31rustup default 1.44.0-x86_64-unknown-linux-gnu32```2733345. Install nightly toolchain and add wasm target for it:3528```bash36```bash29./scripts/build.sh37rustup toolchain install nightly-2020-05-0138rustup target add wasm32-unknown-unknown --toolchain nightly-2020-05-01-x86_64-unknown-linux-gnu30```39```3132Build all native code:3340416. Build:34```bash42```bash35cargo build --release43cargo build36```44```374538## Run46## Runnode/Cargo.tomldiffbeforeafterboth1[package]1[package]2authors = ['Anonymous']2authors = ['Anonymous']3build = 'build.rs'3build = 'build.rs'4description = 'Substrate Node template'4description = 'Substrate Node nft'5edition = '2018'5edition = '2018'6homepage = 'https://substrate.dev'6homepage = 'https://substrate.dev'7license = 'Unlicense'7license = 'Unlicense'node/src/chain_spec.rsdiffbeforeafterboth8use sp_runtime::traits::{Verify, IdentifyAccount};8use sp_runtime::traits::{Verify, IdentifyAccount};9use sc_service::ChainType;9use sc_service::ChainType;1011use nft_runtime::{ContractsConfig, ContractsSchedule};121013// Note this is the URL for the telemetry server11// Note this is the URL for the telemetry server14//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";12//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";113 balances: Some(BalancesConfig {111 balances: Some(BalancesConfig {114 balances: endowed_accounts.iter().cloned().map(|k|(k, 1 << 60)).collect(),112 balances: endowed_accounts.iter().cloned().map(|k|(k, 1 << 60)).collect(),115 }),113 }),116 contracts: Some(ContractsConfig {117 current_schedule: ContractsSchedule {118 // enable_println,119 ..Default::default()120 },121 }),122 aura: Some(AuraConfig {114 aura: Some(AuraConfig {123 authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(),115 authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(),124 }),116 }),node/src/service.rsdiffbeforeafterbothno syntactic changes
pallets/nft/Cargo.tomldiffbeforeafterboth1[package]1[package]2authors = ['https://usetech.com/blockchain']2authors = ['Anonymous']3description = 'NFT pallet'3description = 'FRAME pallet nft'4edition = '2018'4edition = '2018'5homepage = 'https://usetech.com/blockchain'5homepage = 'https://substrate.dev'6license = 'Unlicense'6license = 'Unlicense'7name = 'pallet-nft'7name = 'pallet-nft'8repository = 'https://github.com/usetech-llc/nft_parachain/'8repository = 'https://github.com/paritytech/substrate/'9version = '2.0.0-alpha.6'9version = '2.0.0-alpha.6'101011[package.metadata.docs.rs]11[package.metadata.docs.rs]pallets/nft/src/lib.rsdiffbeforeafterboth1#![cfg_attr(not(feature = "std"), no_std)]1#![cfg_attr(not(feature = "std"), no_std)]23/// A FRAME pallet template with necessary imports45/// Feel free to remove or edit this file as needed.6/// If you change the name of this file, make sure to update its references in runtime/src/lib.rs7/// If you remove this file, you can remove those references89/// For more guidance on Substrate FRAME, see the example pallet10/// https://github.com/paritytech/substrate/blob/master/frame/example/src/lib.rs11212use codec::{Decode, Encode};3use codec::{Decode, Encode};134/// A FRAME pallet template with necessary imports56/// Feel free to remove or edit this file as needed.7/// If you change the name of this file, make sure to update its references in runtime/src/lib.rs8/// If you remove this file, you can remove those references910/// For more guidance on Substrate FRAME, see the example pallet11/// https://github.com/paritytech/substrate/blob/master/frame/example/src/lib.rs14use frame_support::{decl_module, decl_storage, decl_event, decl_error, dispatch::DispatchResult, ensure};12use frame_support::{decl_event, decl_module, decl_storage, dispatch::DispatchResult, ensure};15use frame_system::{self as system, ensure_signed};13use frame_system::{self as system, ensure_signed};16use sp_runtime::sp_std::prelude::Vec;14use sp_runtime::sp_std::prelude::Vec;171526pub struct CollectionType<AccountId> {24pub struct CollectionType<AccountId> {27 pub owner: AccountId,25 pub owner: AccountId,28 pub next_item_id: u64,26 pub next_item_id: u64,29 pub name: Vec<u16>, // 64 include null escape char30 pub description: Vec<u16>, // 256 include null escape char31 pub token_prefix: Vec<u8>, // 16 include null escape char32 pub custom_data_size: u32,27 pub custom_data_size: u32,33}28}342964 /// Next available collection ID59 /// Next available collection ID65 pub NextCollectionID get(fn next_collection_id): u64;60 pub NextCollectionID get(fn next_collection_id): u64;6166 pub Collection get(fn collection): map hasher(identity) u64 => CollectionType<T::AccountId>;62 pub Collection get(collection): map hasher(identity) u64 => CollectionType<T::AccountId>;63 //pub Collection get(collection): map hasher(identity) u64 => CollectionType<T::AccountId>;6467 pub AdminList get(fn admin_list_collection): map hasher(identity) u64 => Vec<T::AccountId>;65 pub AdminList get(admin_list_collection): map hasher(identity) u64 => Vec<T::AccountId>;686669 /// Balance owner per collection map67 /// Balance owner per collection map70 pub Balance get(fn balance_count): map hasher(blake2_128_concat) (u64, T::AccountId) => u64;68 pub Balance get(balance_count): map hasher(blake2_128_concat) (u64, T::AccountId) => u64;71 pub ApprovedList get(fn approved): map hasher(blake2_128_concat) (u64, u64) => Vec<T::AccountId>;69 pub ApprovedList get(approved): map hasher(blake2_128_concat) (u64, u64) => Vec<T::AccountId>;727073 pub ItemList get(fn item_id): map hasher(blake2_128_concat) (u64, u64) => NftItemType<T::AccountId>;71 pub ItemList get(item_id): map hasher(blake2_128_concat) (u64, u64) => NftItemType<T::AccountId>;72 // pub ItemList get(item_id): map hasher(blake2_128_concat) (u64, u64) => NftItemType<T::AccountId>;7374 pub ItemListIndex get(fn item_index): map hasher(blake2_128_concat) u64 => u64;74 pub ItemListIndex get(item_index): map hasher(blake2_128_concat) u64 => u64;7575 // pub ItemListIndex get(item_index): map hasher(blake2_128_concat) u64 => u64;76 pub AddressTokens get(fn address_tokens): map hasher(blake2_128_concat) (u64, T::AccountId) => Vec<u64>;7778 }76 }79}77}84 where82 where85 AccountId = <T as system::Trait>::AccountId,83 AccountId = <T as system::Trait>::AccountId,86 {84 {87 Created(u64, AccountId),85 Created(u32, AccountId),88 ItemCreated(u64),89 ItemDestroyed(u64, u64),90 }86 }91);87);9293// The pallet's errors94decl_error! {95 pub enum Error for Module<T: Trait> {96 /// Value was None97 NoneValue,98 /// Value reached maximum and cannot be incremented further99 StorageOverflow,100 }101}10288103// The pallet's dispatchable functions.89// The pallet's dispatchable functions.104decl_module! {90decl_module! {109 // this is needed only if you are using events in your pallet95 // this is needed only if you are using events in your pallet110 fn deposit_event() = default;96 fn deposit_event() = default;9798 // Initializing events99 // this is needed only if you are using events in your module100 // fn deposit_event<T>() = default;111101112 // Create collection of NFT with given parameters102 // Create collection of NFT with given parameters113 //103 //118 //108 //119 // @param customDataSz size of custom data in each collection item109 // @param customDataSz size of custom data in each collection item120 // returns collection ID110 // returns collection ID121 // TODO: later versions use "#[weight = 0]"122 #[weight = frame_support::weights::SimpleDispatchInfo::default()]111 #[weight = frame_support::weights::SimpleDispatchInfo::default()]123 pub fn create_collection( origin, 112 pub fn create_collection(origin, custom_data_sz: u32) -> DispatchResult {124 collection_name: Vec<u16>, 125 collection_description: Vec<u16>, 126 token_prefix: Vec<u8>, 127 custom_data_sz: u32) -> DispatchResult {128129 // Anyone can create a collection113 // Anyone can create a collection130 let who = ensure_signed(origin)?;114 let who = ensure_signed(origin)?;131132 // check params 133 let mut name = collection_name.to_vec();134 name.push(0);135 ensure!(name.len() <= 64, "Collection name can not be longer than 63 char");136137 let mut description = collection_description.to_vec();138 description.push(0);139 ensure!(name.len() <= 256, "Collection description can not be longer than 255 char");140141 let mut prefix = token_prefix.to_vec();142 prefix.push(0);143 ensure!(prefix.len() <= 16, "Token prefix can not be longer than 15 char");144115145 // Generate next collection ID116 // Generate next collection ID146 let next_id = NextCollectionID::get()117 let next_id = NextCollectionID::get();147 .checked_add(1)148 .expect("collection id error");149118150 NextCollectionID::put(next_id);119 NextCollectionID::put(next_id);151120152 // Create new collection121 // Create new collection153 let new_collection = CollectionType {122 let new_collection = CollectionType {154 owner: who.clone(),123 owner: who,155 name: name,156 description: description,157 token_prefix: prefix,158 next_item_id: next_id,124 next_item_id: next_id,159 custom_data_size: custom_data_sz,125 custom_data_size: custom_data_sz,160 };126 };161127162 // Add new collection to map128 // Add new collection to map163 <Collection<T>>::insert(next_id, new_collection);129 <Collection<T>>::insert(next_id, new_collection);164165 // call event166 Self::deposit_event(RawEvent::Created(next_id, who.clone()));167130168 Ok(())131 Ok(())169 }132 }286287249288 let current_index = <ItemListIndex>::get(collection_id)250 let current_index = <ItemListIndex>::get(collection_id);289 .checked_add(1)290 .expect("Item list index id error");291292 Self::add_token_index(collection_id, current_index, new_item.owner.clone())?;293294 <ItemListIndex>::insert(collection_id, current_index);251 <ItemListIndex>::insert(collection_id, current_index);295 <ItemList<T>>::insert((collection_id, current_index), new_item);252 <ItemList<T>>::insert((collection_id, current_index), new_item);296297 // call event298 Self::deposit_event(RawEvent::ItemCreated(collection_id));299253300 Ok(())254 Ok(())301 }255 }325 }279 }326 <ItemList<T>>::remove((collection_id, item_id));280 <ItemList<T>>::remove((collection_id, item_id));327328 Self::remove_token_index(collection_id, item_id, item.owner.clone())?;329281330 // update balance282 // update balance331 let new_balance = <Balance<T>>::get((collection_id, item.owner.clone())) - 1;283 let new_balance = <Balance<T>>::get((collection_id, item.owner.clone())) - 1;332 <Balance<T>>::insert((collection_id, item.owner.clone()), new_balance);284 <Balance<T>>::insert((collection_id, item.owner.clone()), new_balance);333334 // call event335 Self::deposit_event(RawEvent::ItemDestroyed(collection_id, item_id));336285337 Ok(())286 Ok(())338 }287 }370 <Balance<T>>::insert((collection_id, new_owner.clone()), balance_new_owner);319 <Balance<T>>::insert((collection_id, new_owner.clone()), balance_new_owner);371320372 // change owner321 // change owner373 let old_owner = item.owner.clone();322 item.owner = new_owner;374 item.owner = new_owner.clone();375 <ItemList<T>>::insert((collection_id, item_id), item);323 <ItemList<T>>::insert((collection_id, item_id), item);376377 // update index collection378 Self::move_token_index(collection_id, item_id, old_owner, new_owner.clone())?;379324380 // reset approved list325 // reset approved list381 let itm: Vec<T::AccountId> = Vec::new();326 let itm: Vec<T::AccountId> = Vec::new();457 }402 }458}403}459460impl<T: Trait> Module<T> {461 fn add_token_index(collection_id: u64, item_index: u64, owner: T::AccountId) -> DispatchResult {462 463 let list_exists = <AddressTokens<T>>::contains_key((collection_id, owner.clone()));464 if list_exists {465466 let mut list = <AddressTokens<T>>::get((collection_id, owner.clone()));467 let item_contains = list.contains(&item_index.clone());468469 if !item_contains {470 list.push(item_index.clone());471 }472473 <AddressTokens<T>>::insert((collection_id, owner.clone()), list);474475 } else {476477 let mut itm = Vec::new();478 itm.push(item_index.clone());479 <AddressTokens<T>>::insert((collection_id, owner), itm);480 }481482 Ok(())483 }484485 fn remove_token_index(collection_id: u64, item_index: u64, owner: T::AccountId) -> DispatchResult {486 487 let list_exists = <AddressTokens<T>>::contains_key((collection_id, owner.clone()));488 if list_exists {489490 let mut list = <AddressTokens<T>>::get((collection_id, owner.clone()));491 let item_contains = list.contains(&item_index.clone());492493 if item_contains {494 list.retain(|&item| item != item_index);495 <AddressTokens<T>>::insert((collection_id, owner), list);496 }497 }498499 Ok(())500 }501502 fn move_token_index(collection_id: u64, item_index: u64, old_owner: T::AccountId, new_owner: T::AccountId) -> DispatchResult {503 504 Self::remove_token_index(collection_id, item_index, old_owner)?;505 Self::add_token_index(collection_id, item_index, new_owner)?;506 507 Ok(())508 }509}510404pallets/nft/src/mock.rsdiffbeforeafterboth3use crate::{Module, Trait};3use crate::{Module, Trait};4use frame_support::{4use frame_support::{impl_outer_origin, parameter_types, weights::Weight};5 impl_outer_origin, parameter_types, 6 weights::{ 7 Weight,8 constants::{ BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND },9 }};10use frame_system as system;5use frame_system as system;11use sp_core::H256;6use sp_core::H256;12use sp_runtime::{7use sp_runtime::{30 pub const MaximumBlockWeight: Weight = 1024;24 pub const MaximumBlockWeight: Weight = 1024;31 pub const MaximumBlockLength: u32 = 2 * 1024;25 pub const MaximumBlockLength: u32 = 2 * 1024;32 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);26 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);33 pub const MaximumExtrinsicWeight: Weight = 10 * WEIGHT_PER_SECOND;34}27}3536impl system::Trait for Test {28impl system::Trait for Test {37 type Origin = Origin;29 type Origin = Origin;38 type Call = ();30 type Call = ();39 type Index = u64;31 type Index = u64;40 type BlockNumber = u64;32 type BlockNumber = u64;41 type BaseCallFilter = ();42 type DbWeight = RocksDbWeight;43 type BlockExecutionWeight = BlockExecutionWeight;44 type Hash = H256;33 type Hash = H256;45 type Hashing = BlakeTwo256;34 type Hashing = BlakeTwo256;46 type AccountId = u64;35 type AccountId = u64;47 type Lookup = IdentityLookup<Self::AccountId>;36 type Lookup = IdentityLookup<Self::AccountId>;48 type Header = Header;37 type Header = Header;49 type Event = ();38 type Event = ();50 type BlockHashCount = BlockHashCount;39 type BlockHashCount = BlockHashCount;51 type ExtrinsicBaseWeight = ExtrinsicBaseWeight;52 type MaximumBlockWeight = MaximumBlockWeight;40 type MaximumBlockWeight = MaximumBlockWeight;53 type MaximumBlockLength = MaximumBlockLength;41 type MaximumBlockLength = MaximumBlockLength;54 type AvailableBlockRatio = AvailableBlockRatio;42 type AvailableBlockRatio = AvailableBlockRatio;pallets/nft/src/tests.rsdiffbeforeafterboth1// Tests to be written here1// Tests to be written here2use crate::mock::*;3use frame_support::{assert_noop, assert_ok};243use crate::{Error, mock::*};4use frame_support::{assert_ok, assert_noop};56#[test]5#[test]7fn create_collection_test() {6fn create_collection_test() {8 new_test_ext().execute_with(|| {7 new_test_ext().execute_with(|| {910 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();11 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();12 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();1314 let size = 1024;8 let size = 1024;15 let origin1 = Origin::signed(1);9 let origin1 = Origin::signed(1);16 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));10 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));17 assert_eq!(TemplateModule::collection(1).owner, 1);11 assert_eq!(TemplateModule::collection(1).owner, 1);18 });12 });19}13}201421#[test]15#[test]22fn change_collection_owner() {16fn change_collection_owner() {23 new_test_ext().execute_with(|| {17 new_test_ext().execute_with(|| {2425 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();26 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();27 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();2829 let size = 1024;18 let size = 1024;30 let origin1 = Origin::signed(1);19 let origin1 = Origin::signed(1);312032 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));21 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));33 assert_ok!(TemplateModule::change_collection_owner(22 assert_ok!(TemplateModule::change_collection_owner(34 origin1.clone(),23 origin1.clone(),35 1,24 1,42#[test]31#[test]43fn destroy_collection() {32fn destroy_collection() {44 new_test_ext().execute_with(|| {33 new_test_ext().execute_with(|| {4546 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();47 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();48 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();49 let size = 1024;34 let size = 1024;50 let origin1 = Origin::signed(1);35 let origin1 = Origin::signed(1);513652 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));37 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));53 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), 1));38 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), 1));54 });39 });55}40}564157#[test]42#[test]58fn create_item() {43fn create_item() {59 new_test_ext().execute_with(|| {44 new_test_ext().execute_with(|| {6061 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();62 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();63 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();6465 let size = 1024;45 let size = 1024;66 let origin1 = Origin::signed(1);46 let origin1 = Origin::signed(1);67 let origin2 = Origin::signed(2);47 let origin2 = Origin::signed(2);684869 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));49 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));70 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));50 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));71 assert_ok!(TemplateModule::create_item(51 assert_ok!(TemplateModule::create_item(72 origin2.clone(),52 origin2.clone(),82#[test]62#[test]83fn burn_item() {63fn burn_item() {84 new_test_ext().execute_with(|| {64 new_test_ext().execute_with(|| {8586 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();87 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();88 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();8990 let size = 1024;65 let size = 1024;91 let origin1 = Origin::signed(1);66 let origin1 = Origin::signed(1);92 let origin2 = Origin::signed(2);67 let origin2 = Origin::signed(2);936894 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));69 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));95 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));70 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));96 assert_ok!(TemplateModule::create_item(71 assert_ok!(TemplateModule::create_item(97 origin2.clone(),72 origin2.clone(),116#[test]91#[test]117fn add_collection_admin() {92fn add_collection_admin() {118 new_test_ext().execute_with(|| {93 new_test_ext().execute_with(|| {119120 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();121 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();122 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();123124 let size = 1024;94 let size = 1024;125 let origin1 = Origin::signed(1);95 let origin1 = Origin::signed(1);126 let origin2 = Origin::signed(2);96 let origin2 = Origin::signed(2);127 let origin3 = Origin::signed(3);97 let origin3 = Origin::signed(3);12898129 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));99 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));130 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));100 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));131 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));101 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));132102133 assert_eq!(TemplateModule::collection(1).owner, 1);103 assert_eq!(TemplateModule::collection(1).owner, 1);134 assert_eq!(TemplateModule::collection(2).owner, 2);104 assert_eq!(TemplateModule::collection(2).owner, 2);146#[test]116#[test]147fn remove_collection_admin() {117fn remove_collection_admin() {148 new_test_ext().execute_with(|| {118 new_test_ext().execute_with(|| {149150 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();151 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();152 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();153154 let size = 1024;119 let size = 1024;155 let origin1 = Origin::signed(1);120 let origin1 = Origin::signed(1);156 let origin2 = Origin::signed(2);121 let origin2 = Origin::signed(2);157 let origin3 = Origin::signed(3);122 let origin3 = Origin::signed(3);158123159 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));124 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));160 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));125 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));161 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));126 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));162127163 assert_eq!(TemplateModule::collection(1).owner, 1);128 assert_eq!(TemplateModule::collection(1).owner, 1);164 assert_eq!(TemplateModule::collection(2).owner, 2);129 assert_eq!(TemplateModule::collection(2).owner, 2);184#[test]149#[test]185fn balance_of() {150fn balance_of() {186 new_test_ext().execute_with(|| {151 new_test_ext().execute_with(|| {187188 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();189 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();190 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();191192 let size = 1024;152 let size = 1024;193 let origin1 = Origin::signed(1);153 let origin1 = Origin::signed(1);194 let origin2 = Origin::signed(2);154 let origin2 = Origin::signed(2);195 let origin3 = Origin::signed(3);155 let origin3 = Origin::signed(3);196156197 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));157 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));198 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));158 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));199 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));159 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));200160201 assert_eq!(TemplateModule::collection(1).owner, 1);161 assert_eq!(TemplateModule::collection(1).owner, 1);202 assert_eq!(TemplateModule::collection(2).owner, 2);162 assert_eq!(TemplateModule::collection(2).owner, 2);221#[test]181#[test]222fn transfer() {182fn transfer() {223 new_test_ext().execute_with(|| {183 new_test_ext().execute_with(|| {224225 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();226 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();227 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();228229 let size = 1024;184 let size = 1024;230 let origin1 = Origin::signed(1);185 let origin1 = Origin::signed(1);231 let origin2 = Origin::signed(2);186 let origin2 = Origin::signed(2);232 let origin3 = Origin::signed(3);187 let origin3 = Origin::signed(3);233188234 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));189 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));235 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));190 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));236 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));191 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));237192238 assert_eq!(TemplateModule::collection(1).owner, 1);193 assert_eq!(TemplateModule::collection(1).owner, 1);239 assert_eq!(TemplateModule::collection(2).owner, 2);194 assert_eq!(TemplateModule::collection(2).owner, 2);259#[test]214#[test]260fn approve() {215fn approve() {261 new_test_ext().execute_with(|| {216 new_test_ext().execute_with(|| {262263 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();264 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();265 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();266267 let size = 1024;217 let size = 1024;268 let origin1 = Origin::signed(1);218 let origin1 = Origin::signed(1);269 let origin2 = Origin::signed(2);219 let origin2 = Origin::signed(2);270 let origin3 = Origin::signed(3);220 let origin3 = Origin::signed(3);271221272 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));222 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));273 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));223 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));274 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));224 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));275225276 assert_eq!(TemplateModule::collection(1).owner, 1);226 assert_eq!(TemplateModule::collection(1).owner, 1);277 assert_eq!(TemplateModule::collection(2).owner, 2);227 assert_eq!(TemplateModule::collection(2).owner, 2);293#[test]243#[test]294fn get_approved() {244fn get_approved() {295 new_test_ext().execute_with(|| {245 new_test_ext().execute_with(|| {296297 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();298 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();299 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();300301 let size = 1024;246 let size = 1024;302 let origin1 = Origin::signed(1);247 let origin1 = Origin::signed(1);303 let origin2 = Origin::signed(2);248 let origin2 = Origin::signed(2);304 let origin3 = Origin::signed(3);249 let origin3 = Origin::signed(3);305250306 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));251 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));307 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));252 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));308 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));253 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));309254310 assert_eq!(TemplateModule::collection(1).owner, 1);255 assert_eq!(TemplateModule::collection(1).owner, 1);311 assert_eq!(TemplateModule::collection(2).owner, 2);256 assert_eq!(TemplateModule::collection(2).owner, 2);327#[test]272#[test]328fn transfer_from() {273fn transfer_from() {329 new_test_ext().execute_with(|| {274 new_test_ext().execute_with(|| {330331 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();332 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();333 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();334335 let size = 1024;275 let size = 1024;336 let origin1 = Origin::signed(1);276 let origin1 = Origin::signed(1);337 let origin2 = Origin::signed(2);277 let origin2 = Origin::signed(2);338 let origin3 = Origin::signed(3);278 let origin3 = Origin::signed(3);339279340 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));280 assert_ok!(TemplateModule::create_collection(origin1.clone(), size));341 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));281 assert_ok!(TemplateModule::create_collection(origin2.clone(), size));342 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));282 assert_ok!(TemplateModule::create_collection(origin3.clone(), size));343283344 assert_eq!(TemplateModule::collection(1).owner, 1);284 assert_eq!(TemplateModule::collection(1).owner, 1);345 assert_eq!(TemplateModule::collection(2).owner, 2);285 assert_eq!(TemplateModule::collection(2).owner, 2);357 assert_ok!(TemplateModule::transfer_from(origin1.clone(), 1, 1, 2));297 assert_ok!(TemplateModule::transfer_from(origin1.clone(), 1, 1, 2));358 });298 });359}299}360300361#[test]362fn index_list() {363 new_test_ext().execute_with(|| {364365 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();366 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();367 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();368369 let size = 1024;370 let origin1 = Origin::signed(1);371 let origin2 = Origin::signed(2);372 let origin3 = Origin::signed(3);373374 assert_ok!(TemplateModule::create_collection(origin1.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));375 assert_ok!(TemplateModule::create_collection(origin2.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));376 assert_ok!(TemplateModule::create_collection(origin3.clone(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), size));377378 assert_eq!(TemplateModule::collection(1).owner, 1);379 assert_eq!(TemplateModule::collection(2).owner, 2);380 assert_eq!(TemplateModule::collection(3).owner, 3);381382 // create items383 assert_ok!(TemplateModule::create_item(384 origin1.clone(),385 1,386 [1, 1, 1].to_vec()387 ));388389 assert_ok!(TemplateModule::create_item(390 origin1.clone(),391 1,392 [1, 1, 2].to_vec()393 ));394395 assert_ok!(TemplateModule::create_item(396 origin1.clone(),397 1,398 [1, 2, 3].to_vec()399 ));400401 assert_eq!(TemplateModule::address_tokens((1, 1)).len(), 3);402403 // burn one404 assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 2));405 assert_eq!(TemplateModule::address_tokens((1, 1)).len(), 2);406407 // burn another one408 assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 3));409 assert_eq!(TemplateModule::address_tokens((1, 1))[0], 1);410 });411}runtime/Cargo.tomldiffbeforeafterboth1[features]2default = ['std']3std = [4 'aura/std',5 'balances/std',6 'codec/std',7 'contracts/std',8 'contracts-primitives/std',9 'contracts-rpc-runtime-api/std',10 'frame-executive/std',11 'frame-support/std',12 'grandpa/std',13 'randomness-collective-flip/std',14 'serde',15 'sp-api/std',16 'sp-block-builder/std',17 'sp-consensus-aura/std',18 'sp-core/std',19 'sp-inherents/std',20 'sp-io/std',21 'sp-offchain/std',22 'sp-runtime/std',23 'sp-session/std',24 'sp-std/std',25 'sp-transaction-pool/std',26 'sp-version/std',27 'sudo/std',28 'system/std',29 'timestamp/std',30 'transaction-payment/std',31 'nft/std',32]3334[dependencies.aura]1[dependencies.aura]35default-features = false2default-features = false47package = 'parity-scale-codec'14package = 'parity-scale-codec'48version = '1.3.0'15version = '1.3.0'4950[dependencies.contracts]51git = 'https://github.com/paritytech/substrate.git'52default-features = false53package = 'pallet-contracts'54tag = 'v2.0.0-alpha.6'55version = '2.0.0-alpha.6'5657[dependencies.contracts-primitives]58git = 'https://github.com/paritytech/substrate.git'59default-features = false60package = 'pallet-contracts-primitives'61tag = 'v2.0.0-alpha.6'62version = '2.0.0-alpha.6'6364[dependencies.contracts-rpc-runtime-api]65git = 'https://github.com/paritytech/substrate.git'66default-features = false67package = 'pallet-contracts-rpc-runtime-api'68tag = 'v2.0.0-alpha.6'69version = '0.8.0-alpha.6'701671[dependencies.frame-executive]17[dependencies.frame-executive]72default-features = false18default-features = false165package = 'pallet-transaction-payment'111package = 'pallet-transaction-payment'166version = '2.0.0-alpha.6'112version = '2.0.0-alpha.6'167168[package]169authors = ['UseTech']170edition = '2018'171homepage = 'https://usetech.com/blockchain'172license = 'Unlicense'173name = 'nft-runtime'174repository = 'https://github.com/usetech-llc/nft_parachain/'175version = '2.0.0-alpha.6'176177[package.metadata.docs.rs]178targets = ['x86_64-unknown-linux-gnu']179113180[build-dependencies.wasm-builder-runner]114[build-dependencies.wasm-builder-runner]181package = 'substrate-wasm-builder-runner'115package = 'substrate-wasm-builder-runner'182version = '1.0.5'116version = '1.0.5'117118[package]119authors = ['Anonymous']120edition = '2018'121homepage = 'https://substrate.dev'122license = 'Unlicense'123name = 'nft-runtime'124repository = 'https://github.com/paritytech/substrate/'125version = '2.0.0-alpha.6'126127[package.metadata.docs.rs]128targets = ['x86_64-unknown-linux-gnu']129130[features]131default = ['std']132std = [133 'aura/std',134 'balances/std',135 'codec/std',136 'frame-executive/std',137 'frame-support/std',138 'grandpa/std',139 'randomness-collective-flip/std',140 'serde',141 'sp-api/std',142 'sp-block-builder/std',143 'sp-consensus-aura/std',144 'sp-core/std',145 'sp-inherents/std',146 'sp-io/std',147 'sp-offchain/std',148 'sp-runtime/std',149 'sp-session/std',150 'sp-std/std',151 'sp-transaction-pool/std',152 'sp-version/std',153 'sudo/std',154 'system/std',155 'timestamp/std',156 'transaction-payment/std',157 'nft/std',158]183159runtime/src/lib.rsdiffbeforeafterboth8#[cfg(feature = "std")]8#[cfg(feature = "std")]9include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));9include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));101011use sp_std::prelude::*;11use grandpa::fg_primitives;12use sp_core::OpaqueMetadata;13use sp_runtime::{14 ApplyExtrinsicResult, generic, create_runtime_str, impl_opaque_keys, MultiSignature,15 transaction_validity::{TransactionValidity, TransactionSource},16};17use sp_runtime::traits::{12use grandpa::AuthorityList as GrandpaAuthorityList;18 BlakeTwo256, Block as BlockT, IdentityLookup, Verify, ConvertInto, IdentifyAccount19};20use sp_api::impl_runtime_apis;13use sp_api::impl_runtime_apis;21use sp_consensus_aura::sr25519::AuthorityId as AuraId;14use sp_consensus_aura::sr25519::AuthorityId as AuraId;15use sp_core::OpaqueMetadata;22use grandpa::AuthorityList as GrandpaAuthorityList;16use sp_runtime::traits::{17 BlakeTwo256, Block as BlockT, ConvertInto, IdentifyAccount, IdentityLookup, Verify,18};23use grandpa::fg_primitives;19use sp_runtime::{20 create_runtime_str, generic, impl_opaque_keys,21 transaction_validity::{TransactionSource, TransactionValidity},22 ApplyExtrinsicResult, MultiSignature,23};24use sp_version::RuntimeVersion;24use sp_std::prelude::*;25#[cfg(feature = "std")]25#[cfg(feature = "std")]26use sp_version::NativeVersion;26use sp_version::NativeVersion;27use contracts_rpc_runtime_api::ContractExecResult;27use sp_version::RuntimeVersion;282829// A few exports that help ease life for downstream crates.29// A few exports that help ease life for downstream crates.30#[cfg(any(feature = "std", test))]31pub use sp_runtime::BuildStorage;32pub use timestamp::Call as TimestampCall;33// pub use staking::Call as StakingCall;34pub use balances::Call as BalancesCall;30pub use balances::Call as BalancesCall;35pub use sp_runtime::{Permill, Perbill};36pub use contracts::Schedule as ContractsSchedule;37pub use frame_support::{31pub use frame_support::{38 construct_runtime, parameter_types, traits::Randomness, weights::Weight, StorageValue,32 construct_runtime, parameter_types, traits::Randomness, weights::Weight, StorageValue,39};33};34#[cfg(any(feature = "std", test))]35pub use sp_runtime::BuildStorage;36pub use sp_runtime::{Perbill, Permill};37pub use timestamp::Call as TimestampCall;403841/// Importing a template pallet39/// Importing a template pallet42pub use nft;40pub use nft;67/// Digest item type.65/// Digest item type.68pub type DigestItem = generic::DigestItem<Hash>;66pub type DigestItem = generic::DigestItem<Hash>;6970pub const MILLICENTS: Balance = 1_000_000_000;71pub const CENTS: Balance = 1_000 * MILLICENTS;72pub const DOLLARS: Balance = 100 * CENTS;736774/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know68/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know75/// the specifics of the runtime. They can then be made to be agnostic over specific formats69/// the specifics of the runtime. They can then be made to be agnostic over specific formats103 spec_version: 1,97 spec_version: 1,104 impl_version: 1,98 impl_version: 1,105 apis: RUNTIME_API_VERSIONS,99 apis: RUNTIME_API_VERSIONS,106 transaction_version: 1,107};100};108101109pub const MILLISECS_PER_BLOCK: u64 = 6000;102pub const MILLISECS_PER_BLOCK: u64 = 6000;125}118}126119127parameter_types! {120parameter_types! {128 pub const BlockHashCount: BlockNumber = 2400;121 pub const BlockHashCount: BlockNumber = 250;129 /// We allow for 2 seconds of compute with a 6 second average block time.130 // pub const MaximumBlockWeight: Weight = 2 * WEIGHT_PER_SECOND;131 pub const MaximumBlockWeight: Weight = 1_000_000_000;122 pub const MaximumBlockWeight: Weight = 1_000_000_000;132 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);123 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);133 /// Assume 10% of weight for average on_initialize calls.134 // pub MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get()135 // .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get();136 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;124 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;137 pub const Version: RuntimeVersion = VERSION;125 pub const Version: RuntimeVersion = VERSION;138}126}199 type MinimumPeriod = MinimumPeriod;187 type MinimumPeriod = MinimumPeriod;200}188}201202impl contracts::Trait for Runtime {203 type Time = Timestamp;204 type Randomness = RandomnessCollectiveFlip;205 type Currency = Balances;206 type Event = Event;207 type DetermineContractAddress = contracts::SimpleAddressDeterminer<Runtime>;208 type TrieIdGenerator = contracts::TrieIdFromParentCounter<Runtime>;209 type RentPayment = ();210 type SignedClaimHandicap = contracts::DefaultSignedClaimHandicap;211 // type TombstoneDeposit = TombstoneDeposit;212 type StorageSizeOffset = contracts::DefaultStorageSizeOffset;213 // type RentByteFee = RentByteFee;214 // type RentDepositOffset = RentDepositOffset;215 // type SurchargeReward = SurchargeReward;216 type MaxDepth = contracts::DefaultMaxDepth;217 type MaxValueSize = contracts::DefaultMaxValueSize;218 // type WeightPrice = transaction_payment::Module<Self>;219}220189221parameter_types! {190parameter_types! {222 pub const ExistentialDeposit: u128 = 500;191 pub const ExistentialDeposit: u128 = 500;264 {233 {265 System: system::{Module, Call, Config, Storage, Event<T>},234 System: system::{Module, Call, Config, Storage, Event<T>},266 RandomnessCollectiveFlip: randomness_collective_flip::{Module, Call, Storage},235 RandomnessCollectiveFlip: randomness_collective_flip::{Module, Call, Storage},267 Contracts: contracts::{Module, Call, Config, Storage, Event<T>},268 Timestamp: timestamp::{Module, Call, Storage, Inherent},236 Timestamp: timestamp::{Module, Call, Storage, Inherent},269 Aura: aura::{Module, Config<T>, Inherent(Timestamp)},237 Aura: aura::{Module, Config<T>, Inherent(Timestamp)},270 Grandpa: grandpa::{Module, Call, Storage, Config, Event},238 Grandpa: grandpa::{Module, Call, Storage, Config, Event},293 system::CheckEra<Runtime>,261 system::CheckEra<Runtime>,294 system::CheckNonce<Runtime>,262 system::CheckNonce<Runtime>,295 system::CheckWeight<Runtime>,263 system::CheckWeight<Runtime>,296 transaction_payment::ChargeTransactionPayment<Runtime>264 transaction_payment::ChargeTransactionPayment<Runtime>,297);265);298/// Unchecked extrinsic type as expected by this runtime.266/// Unchecked extrinsic type as expected by this runtime.299pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;267pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;391 }360 }392 }361 }393394 impl contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber>395 for Runtime396 {397 fn call(398 origin: AccountId,399 dest: AccountId,400 value: Balance,401 gas_limit: u64,402 input_data: Vec<u8>,403 ) -> ContractExecResult {404 let exec_result =405 Contracts::bare_call(origin, dest.into(), value, gas_limit, input_data);406 match exec_result {407 Ok(v) => ContractExecResult::Success {408 status: v.status,409 data: v.data,410 },411 Err(_) => ContractExecResult::Error,412 }413 }414415 fn get_storage(416 address: AccountId,417 key: [u8; 32],418 ) -> contracts_primitives::GetStorageResult {419 Contracts::get_storage(address, key)420 }421422 fn rent_projection(423 address: AccountId,424 ) -> contracts_primitives::RentProjectionResult<BlockNumber> {425 Contracts::rent_projection(address)426 }427 }428429}362}430363