git.delta.rocks / unique-network / refs/commits / b9ed42b22673

difftreelog

Merge remote-tracking branch 'origin/develop' into feature/NFTPAR-366_upstream_updates

Yaroslav Bolyukin2021-05-04parents: #1f943ae #b8ab366.patch.diff
in: master

27 files changed

modified.github/workflows/node_build_test.ymldiffbeforeafterboth
--- a/.github/workflows/node_build_test.yml
+++ b/.github/workflows/node_build_test.yml
@@ -31,14 +31,14 @@
           username: ${{ secrets.SERVER_USERNAME }}
           key: ${{ secrets.KEY }}
           port: ${{ secrets.SERVER_PORT }}
-          # command_timeout: 200m
+          command_timeout: 240m
           script: |
             eval $(ssh-agent -s)
-            ssh-add /home/devops/.ssh/git_hub
+            ssh-add /home/polkadot/.ssh/git_hub
             git clone git@github.com:usetech-llc/nft_private.git
             cd nft_private
             git checkout develop
             # git pull --all
             chmod +x ci_node.sh
             ./ci_node.sh
-            rm -rf /home/polkadot/nft_private
\ No newline at end of file
+            rm -rf /home/polkadot/nft_private
modifiedCargo.lockdiffbeforeafterboth
1583 "log",1583 "log",
1584 "parity-scale-codec 2.0.1",1584 "parity-scale-codec 2.0.1",
1585 "sc-client-api",1585 "sc-client-api",
1586 "sp-api",1586 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1587 "sp-block-builder",1587 "sp-block-builder",
1588 "sp-blockchain",1588 "sp-blockchain",
1589 "sp-consensus",1589 "sp-consensus",
1590 "sp-core",1590 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1591 "sp-inherents",1591 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1592 "sp-runtime",1592 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1593 "sp-timestamp",1593 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1594 "substrate-prometheus-endpoint",1594 "substrate-prometheus-endpoint",
1595]1595]
15961596
1603 "kvdb-rocksdb",1603 "kvdb-rocksdb",
1604 "parity-scale-codec 2.0.1",1604 "parity-scale-codec 2.0.1",
1605 "parking_lot 0.11.1",1605 "parking_lot 0.11.1",
1606 "sp-core",1606 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1607 "sp-database",1607 "sp-database",
1608 "sp-runtime",1608 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1609]1609]
16101610
1611[[package]]1611[[package]]
1621 "futures-timer 3.0.2",1621 "futures-timer 3.0.2",
1622 "log",1622 "log",
1623 "sc-client-api",1623 "sc-client-api",
1624 "sp-api",1624 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1625 "sp-blockchain",1625 "sp-blockchain",
1626 "sp-runtime",1626 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1627]1627]
16281628
1629[[package]]1629[[package]]
1659 "sc-rpc",1659 "sc-rpc",
1660 "sc-service",1660 "sc-service",
1661 "sha3 0.8.2",1661 "sha3 0.8.2",
1662 "sp-api",1662 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1663 "sp-blockchain",1663 "sp-blockchain",
1664 "sp-io",1664 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1665 "sp-runtime",1665 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1666 "sp-storage",1666 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1667 "sp-transaction-pool",1667 "sp-transaction-pool",
1668]1668]
16691669
1808 "parity-scale-codec 2.0.1",1808 "parity-scale-codec 2.0.1",
1809 "rlp 0.5.0",1809 "rlp 0.5.0",
1810 "sha3 0.8.2",1810 "sha3 0.8.2",
1811 "sp-core",1811 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1812 "sp-runtime",1812 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1813 "sp-std",1813 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1814]1814]
18151815
1816[[package]]1816[[package]]
1822 "impl-trait-for-tuples 0.1.3",1822 "impl-trait-for-tuples 0.1.3",
1823 "parity-scale-codec 2.0.1",1823 "parity-scale-codec 2.0.1",
1824 "serde",1824 "serde",
1825 "sp-core",1825 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1826 "sp-std",1826 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1827]1827]
18281828
1829[[package]]1829[[package]]
1835 "ethereum-types 0.11.0",1835 "ethereum-types 0.11.0",
1836 "fp-evm",1836 "fp-evm",
1837 "parity-scale-codec 2.0.1",1837 "parity-scale-codec 2.0.1",
1838 "sp-api",1838 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1839 "sp-core",1839 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1840 "sp-io",1840 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1841 "sp-runtime",1841 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1842 "sp-std",1842 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1843]1843]
18441844
1845[[package]]1845[[package]]
1851 "ethereum-types 0.11.0",1851 "ethereum-types 0.11.0",
1852 "fp-evm",1852 "fp-evm",
1853 "parity-scale-codec 2.0.1",1853 "parity-scale-codec 2.0.1",
1854 "sp-api",1854 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1855 "sp-core",1855 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1856 "sp-runtime",1856 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1857 "sp-std",1857 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1858]1858]
18591859
1860[[package]]1860[[package]]
1861name = "frame-benchmarking"1861name = "frame-benchmarking"
1862version = "3.1.0"1862version = "3.1.0"
1863source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"1863source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1864dependencies = [1864dependencies = [
1865 "frame-support",1865 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1866 "frame-system",1866 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1867 "linregress",1867 "linregress",
1868 "log",1868 "log",
1869 "parity-scale-codec 2.0.1",1869 "parity-scale-codec 2.0.1",
1870 "paste 1.0.4",1870 "paste 1.0.4",
1871 "sp-api",1871 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1872 "sp-io",1872 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1873 "sp-runtime",1873 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1874 "sp-runtime-interface",1874 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1875 "sp-std",1875 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1876 "sp-storage",1876 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1877]1877]
1878
1879[[package]]
1880name = "frame-benchmarking"
1881version = "3.1.0"
1882source = "registry+https://github.com/rust-lang/crates.io-index"
1883checksum = "70fe99487f84579a3f2c4ba52650fec875492eea41be0e4eea8019187f105052"
1884dependencies = [
1885 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1886 "frame-system 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1887 "linregress",
1888 "parity-scale-codec 2.0.1",
1889 "paste 1.0.4",
1890 "sp-api 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1891 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1892 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1893 "sp-runtime-interface 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1894 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1895 "sp-storage 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1896]
18781897
1879[[package]]1898[[package]]
1880name = "frame-benchmarking-cli"1899name = "frame-benchmarking-cli"
1883dependencies = [1902dependencies = [
1884 "Inflector",1903 "Inflector",
1885 "chrono",1904 "chrono",
1886 "frame-benchmarking",1905 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1887 "handlebars",1906 "handlebars",
1888 "parity-scale-codec 2.0.1",1907 "parity-scale-codec 2.0.1",
1889 "sc-cli",1908 "sc-cli",
1890 "sc-client-db",1909 "sc-client-db",
1891 "sc-executor",1910 "sc-executor",
1892 "sc-service",1911 "sc-service",
1893 "serde",1912 "serde",
1894 "sp-core",1913 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1895 "sp-externalities",1914 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1896 "sp-keystore",1915 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1897 "sp-runtime",1916 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1898 "sp-state-machine",1917 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1899 "structopt",1918 "structopt",
1900]1919]
19011920
1904version = "3.0.0"1923version = "3.0.0"
1905source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"1924source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1906dependencies = [1925dependencies = [
1907 "frame-support",1926 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1908 "frame-system",1927 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1909 "parity-scale-codec 2.0.1",1928 "parity-scale-codec 2.0.1",
1910 "serde",1929 "serde",
1911 "sp-core",1930 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1912 "sp-io",1931 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1913 "sp-runtime",1932 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1914 "sp-std",1933 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1915 "sp-tracing",1934 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1916]1935]
19171936
1918[[package]]1937[[package]]
1922dependencies = [1941dependencies = [
1923 "parity-scale-codec 2.0.1",1942 "parity-scale-codec 2.0.1",
1924 "serde",1943 "serde",
1925 "sp-core",1944 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1926 "sp-std",1945 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1927]1946]
1947
1948[[package]]
1949name = "frame-metadata"
1950version = "13.0.0"
1951source = "registry+https://github.com/rust-lang/crates.io-index"
1952checksum = "073f7bef18421362441a1708f8528e442234954611f95bdc554b313fb321948e"
1953dependencies = [
1954 "parity-scale-codec 2.0.1",
1955 "serde",
1956 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1957 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1958]
19281959
1929[[package]]1960[[package]]
1930name = "frame-support"1961name = "frame-support"
1931version = "3.0.0"1962version = "3.0.0"
1932source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"1963source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1933dependencies = [1964dependencies = [
1934 "bitflags",1965 "bitflags",
1935 "frame-metadata",1966 "frame-metadata 13.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1936 "frame-support-procedural",1967 "frame-support-procedural 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1937 "impl-trait-for-tuples 0.2.1",1968 "impl-trait-for-tuples 0.2.1",
1938 "log",1969 "log",
1939 "once_cell",1970 "once_cell",
1940 "parity-scale-codec 2.0.1",1971 "parity-scale-codec 2.0.1",
1941 "paste 1.0.4",1972 "paste 1.0.4",
1942 "serde",1973 "serde",
1943 "smallvec 1.6.1",1974 "smallvec 1.6.1",
1944 "sp-arithmetic",1975 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1945 "sp-core",1976 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1946 "sp-inherents",1977 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1947 "sp-io",1978 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1948 "sp-runtime",1979 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1949 "sp-staking",1980 "sp-staking 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1950 "sp-state-machine",1981 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1951 "sp-std",1982 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1952 "sp-tracing",1983 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1953]1984]
1985
1986[[package]]
1987name = "frame-support"
1988version = "3.0.0"
1989source = "registry+https://github.com/rust-lang/crates.io-index"
1990checksum = "04e521e6214615bd82ba6b5fc7fd40a9cc14fdeb40f83da5eba12aa2f8179fb8"
1991dependencies = [
1992 "bitflags",
1993 "frame-metadata 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1994 "frame-support-procedural 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1995 "impl-trait-for-tuples 0.2.1",
1996 "log",
1997 "once_cell",
1998 "parity-scale-codec 2.0.1",
1999 "paste 1.0.4",
2000 "serde",
2001 "smallvec 1.6.1",
2002 "sp-arithmetic 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2003 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2004 "sp-inherents 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2005 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2006 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2007 "sp-staking 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2008 "sp-state-machine 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
2009 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2010 "sp-tracing 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2011]
19542012
1955[[package]]2013[[package]]
1956name = "frame-support-procedural"2014name = "frame-support-procedural"
1957version = "3.0.0"2015version = "3.0.0"
1958source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2016source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1959dependencies = [2017dependencies = [
1960 "Inflector",2018 "Inflector",
1961 "frame-support-procedural-tools",2019 "frame-support-procedural-tools 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1962 "proc-macro2",2020 "proc-macro2",
1963 "quote",2021 "quote",
1964 "syn",2022 "syn",
1965]2023]
2024
2025[[package]]
2026name = "frame-support-procedural"
2027version = "3.0.0"
2028source = "registry+https://github.com/rust-lang/crates.io-index"
2029checksum = "2668e24cbaba7f0e91d0c92a94bd1ae425a942608ad0b775db32477f5df4da9e"
2030dependencies = [
2031 "Inflector",
2032 "frame-support-procedural-tools 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2033 "proc-macro2",
2034 "quote",
2035 "syn",
2036]
19662037
1967[[package]]2038[[package]]
1968name = "frame-support-procedural-tools"2039name = "frame-support-procedural-tools"
1969version = "3.0.0"2040version = "3.0.0"
1970source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2041source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1971dependencies = [2042dependencies = [
1972 "frame-support-procedural-tools-derive",2043 "frame-support-procedural-tools-derive 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1973 "proc-macro-crate 1.0.0",2044 "proc-macro-crate 1.0.0",
1974 "proc-macro2",2045 "proc-macro2",
1975 "quote",2046 "quote",
1976 "syn",2047 "syn",
1977]2048]
2049
2050[[package]]
2051name = "frame-support-procedural-tools"
2052version = "3.0.0"
2053source = "registry+https://github.com/rust-lang/crates.io-index"
2054checksum = "d4f88cfd111e004590f4542b75e6d3302137b9067d7e7219e4ac47a535c3b5c1"
2055dependencies = [
2056 "frame-support-procedural-tools-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2057 "proc-macro-crate 0.1.5",
2058 "proc-macro2",
2059 "quote",
2060 "syn",
2061]
19782062
1979[[package]]2063[[package]]
1980name = "frame-support-procedural-tools-derive"2064name = "frame-support-procedural-tools-derive"
1986 "syn",2070 "syn",
1987]2071]
2072
2073[[package]]
2074name = "frame-support-procedural-tools-derive"
2075version = "3.0.0"
2076source = "registry+https://github.com/rust-lang/crates.io-index"
2077checksum = "79285388b120ac96c15a791c56b26b9264f7231324fbe0fd05026acd92bf2e6a"
2078dependencies = [
2079 "proc-macro2",
2080 "quote",
2081 "syn",
2082]
19882083
1989[[package]]2084[[package]]
1990name = "frame-system"2085name = "frame-system"
1991version = "3.0.0"2086version = "3.0.0"
1992source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2087source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
1993dependencies = [2088dependencies = [
1994 "frame-support",2089 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
1995 "impl-trait-for-tuples 0.2.1",2090 "impl-trait-for-tuples 0.2.1",
1996 "log",2091 "log",
1997 "parity-scale-codec 2.0.1",2092 "parity-scale-codec 2.0.1",
1998 "serde",2093 "serde",
1999 "sp-core",2094 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2000 "sp-io",2095 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2001 "sp-runtime",2096 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2002 "sp-std",2097 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2003 "sp-version",2098 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2004]2099]
2100
2101[[package]]
2102name = "frame-system"
2103version = "3.0.0"
2104source = "registry+https://github.com/rust-lang/crates.io-index"
2105checksum = "f5fedbff05d665c00bf4e089b4377fcb15b8bd37ebc3e5fc06665474cf6e25d7"
2106dependencies = [
2107 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2108 "impl-trait-for-tuples 0.2.1",
2109 "parity-scale-codec 2.0.1",
2110 "serde",
2111 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2112 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2113 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2114 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2115 "sp-version 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
2116]
20052117
2006[[package]]2118[[package]]
2007name = "frame-system-benchmarking"2119name = "frame-system-benchmarking"
2008version = "3.0.0"2120version = "3.0.0"
2009source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2121source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
2010dependencies = [2122dependencies = [
2011 "frame-benchmarking",2123 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2012 "frame-support",2124 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2013 "frame-system",2125 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2014 "parity-scale-codec 2.0.1",2126 "parity-scale-codec 2.0.1",
2015 "sp-core",2127 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2016 "sp-runtime",2128 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2017 "sp-std",2129 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2018]2130]
20192131
2020[[package]]2132[[package]]
2023source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2135source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
2024dependencies = [2136dependencies = [
2025 "parity-scale-codec 2.0.1",2137 "parity-scale-codec 2.0.1",
2026 "sp-api",2138 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
2027]2139]
20282140
2029[[package]]2141[[package]]
4012 "fc-rpc-core",4124 "fc-rpc-core",
4013 "flexi_logger",4125 "flexi_logger",
4014 "fp-rpc",4126 "fp-rpc",
4015 "frame-benchmarking",4127 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4016 "frame-benchmarking-cli",4128 "frame-benchmarking-cli",
4017 "futures 0.3.12",4129 "futures 0.3.12",
4018 "jsonrpc-core 15.1.0",4130 "jsonrpc-core 15.1.0",
4040 "sc-transaction-pool",4152 "sc-transaction-pool",
4041 "serde",4153 "serde",
4042 "serde_json",4154 "serde_json",
4043 "sp-api",4155 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4044 "sp-block-builder",4156 "sp-block-builder",
4045 "sp-blockchain",4157 "sp-blockchain",
4046 "sp-consensus",4158 "sp-consensus",
4047 "sp-consensus-aura",4159 "sp-consensus-aura",
4048 "sp-core",4160 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4049 "sp-finality-grandpa",4161 "sp-finality-grandpa",
4050 "sp-inherents",4162 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4051 "sp-runtime",4163 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4052 "sp-timestamp",4164 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4053 "sp-transaction-pool",4165 "sp-transaction-pool",
4054 "structopt",4166 "structopt",
4055 "substrate-build-script-utils",4167 "substrate-build-script-utils",
4061version = "3.0.0"4173version = "3.0.0"
4062dependencies = [4174dependencies = [
4063 "fp-rpc",4175 "fp-rpc",
4064 "frame-benchmarking",4176 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4065 "frame-executive",4177 "frame-executive",
4066 "frame-support",4178 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4067 "frame-system",4179 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4068 "frame-system-benchmarking",4180 "frame-system-benchmarking",
4069 "frame-system-rpc-runtime-api",4181 "frame-system-rpc-runtime-api",
4070 "hex-literal",4182 "hex-literal",
4071 "pallet-aura",4183 "pallet-aura",
4072 "pallet-balances",4184 "pallet-balances 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4073 "pallet-contracts",4185 "pallet-contracts",
4074 "pallet-contracts-primitives",4186 "pallet-contracts-primitives",
4075 "pallet-contracts-rpc-runtime-api",4187 "pallet-contracts-rpc-runtime-api",
4076 "pallet-ethereum",4188 "pallet-ethereum",
4077 "pallet-evm",4189 "pallet-evm",
4078 "pallet-grandpa",4190 "pallet-grandpa",
4191 "pallet-inflation",
4079 "pallet-nft",4192 "pallet-nft",
4080 "pallet-randomness-collective-flip",4193 "pallet-randomness-collective-flip 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4081 "pallet-sudo",4194 "pallet-sudo",
4082 "pallet-timestamp",4195 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4083 "pallet-transaction-payment",4196 "pallet-transaction-payment",
4084 "pallet-transaction-payment-rpc-runtime-api",4197 "pallet-transaction-payment-rpc-runtime-api",
4085 "pallet-treasury",4198 "pallet-treasury",
4086 "pallet-vesting",4199 "pallet-vesting",
4087 "parity-scale-codec 2.0.1",4200 "parity-scale-codec 2.0.1",
4088 "serde",4201 "serde",
4089 "smallvec 1.6.1",4202 "smallvec 1.6.1",
4090 "sp-api",4203 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4091 "sp-arithmetic",4204 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4092 "sp-block-builder",4205 "sp-block-builder",
4093 "sp-consensus-aura",4206 "sp-consensus-aura",
4094 "sp-core",4207 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4095 "sp-inherents",4208 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4096 "sp-offchain",4209 "sp-offchain",
4097 "sp-runtime",4210 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4098 "sp-session",4211 "sp-session",
4099 "sp-std",4212 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4100 "sp-transaction-pool",4213 "sp-transaction-pool",
4101 "sp-version",4214 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4102 "substrate-wasm-builder",4215 "substrate-wasm-builder",
4103]4216]
41044217
4244version = "3.0.0"4357version = "3.0.0"
4245source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4358source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4246dependencies = [4359dependencies = [
4247 "frame-support",4360 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4248 "frame-system",4361 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4249 "pallet-session",4362 "pallet-session",
4250 "pallet-timestamp",4363 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4251 "parity-scale-codec 2.0.1",4364 "parity-scale-codec 2.0.1",
4252 "serde",4365 "serde",
4253 "sp-application-crypto",4366 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4254 "sp-consensus-aura",4367 "sp-consensus-aura",
4255 "sp-runtime",4368 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4256 "sp-std",4369 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4257]4370]
42584371
4259[[package]]4372[[package]]
4260name = "pallet-authorship"4373name = "pallet-authorship"
4261version = "3.0.0"4374version = "3.0.0"
4262source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4375source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4263dependencies = [4376dependencies = [
4264 "frame-support",4377 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4265 "frame-system",4378 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4266 "impl-trait-for-tuples 0.2.1",4379 "impl-trait-for-tuples 0.2.1",
4267 "parity-scale-codec 2.0.1",4380 "parity-scale-codec 2.0.1",
4268 "sp-authorship",4381 "sp-authorship",
4269 "sp-inherents",4382 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4270 "sp-runtime",4383 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4271 "sp-std",4384 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4272]4385]
42734386
4274[[package]]4387[[package]]
4275name = "pallet-balances"4388name = "pallet-balances"
4276version = "3.0.0"4389version = "3.0.0"
4277source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4390source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4278dependencies = [4391dependencies = [
4279 "frame-benchmarking",4392 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4280 "frame-support",4393 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4281 "frame-system",4394 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4282 "log",4395 "log",
4283 "parity-scale-codec 2.0.1",4396 "parity-scale-codec 2.0.1",
4284 "serde",4397 "serde",
4285 "sp-runtime",4398 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4286 "sp-std",4399 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4287]4400]
4401
4402[[package]]
4403name = "pallet-balances"
4404version = "3.0.0"
4405source = "registry+https://github.com/rust-lang/crates.io-index"
4406checksum = "41aaeaf084e594273f82bcbf96416ef1fcab602e15dd1df04b9930eceb2eb518"
4407dependencies = [
4408 "frame-benchmarking 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
4409 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4410 "frame-system 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4411 "parity-scale-codec 2.0.1",
4412 "serde",
4413 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4414 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4415]
42884416
4289[[package]]4417[[package]]
4290name = "pallet-contracts"4418name = "pallet-contracts"
4291version = "3.0.0"4419version = "3.0.0"
4292source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4420source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4293dependencies = [4421dependencies = [
4294 "frame-support",4422 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4295 "frame-system",4423 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4296 "log",4424 "log",
4297 "pallet-contracts-primitives",4425 "pallet-contracts-primitives",
4298 "pallet-contracts-proc-macro",4426 "pallet-contracts-proc-macro",
4299 "parity-scale-codec 2.0.1",4427 "parity-scale-codec 2.0.1",
4300 "parity-wasm 0.41.0",4428 "parity-wasm 0.41.0",
4301 "pwasm-utils 0.16.0",4429 "pwasm-utils 0.16.0",
4302 "serde",4430 "serde",
4303 "sp-core",4431 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4304 "sp-io",4432 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4305 "sp-runtime",4433 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4306 "sp-sandbox",4434 "sp-sandbox",
4307 "sp-std",4435 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4308 "wasmi-validation",4436 "wasmi-validation",
4309]4437]
43104438
4315dependencies = [4443dependencies = [
4316 "bitflags",4444 "bitflags",
4317 "parity-scale-codec 2.0.1",4445 "parity-scale-codec 2.0.1",
4318 "sp-runtime",4446 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4319 "sp-std",4447 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4320]4448]
43214449
4322[[package]]4450[[package]]
4341 "pallet-contracts-rpc-runtime-api",4469 "pallet-contracts-rpc-runtime-api",
4342 "parity-scale-codec 2.0.1",4470 "parity-scale-codec 2.0.1",
4343 "serde",4471 "serde",
4344 "sp-api",4472 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4345 "sp-blockchain",4473 "sp-blockchain",
4346 "sp-core",4474 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4347 "sp-rpc",4475 "sp-rpc",
4348 "sp-runtime",4476 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4349]4477]
43504478
4351[[package]]4479[[package]]
4355dependencies = [4483dependencies = [
4356 "pallet-contracts-primitives",4484 "pallet-contracts-primitives",
4357 "parity-scale-codec 2.0.1",4485 "parity-scale-codec 2.0.1",
4358 "sp-api",4486 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4359 "sp-runtime",4487 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4360 "sp-std",4488 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4361]4489]
43624490
4363[[package]]4491[[package]]
4372 "fp-evm",4500 "fp-evm",
4373 "fp-rpc",4501 "fp-rpc",
4374 "fp-storage",4502 "fp-storage",
4375 "frame-support",4503 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4376 "frame-system",4504 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4377 "libsecp256k1",4505 "libsecp256k1",
4378 "pallet-balances",4506 "pallet-balances 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4379 "pallet-evm",4507 "pallet-evm",
4380 "pallet-timestamp",4508 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4381 "parity-scale-codec 2.0.1",4509 "parity-scale-codec 2.0.1",
4382 "rlp 0.5.0",4510 "rlp 0.5.0",
4383 "rustc-hex",4511 "rustc-hex",
4384 "serde",4512 "serde",
4385 "sha3 0.8.2",4513 "sha3 0.8.2",
4386 "sp-io",4514 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4387 "sp-runtime",4515 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4388 "sp-std",4516 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4389]4517]
43904518
4391[[package]]4519[[package]]
4397 "evm-gasometer",4525 "evm-gasometer",
4398 "evm-runtime",4526 "evm-runtime",
4399 "fp-evm",4527 "fp-evm",
4400 "frame-support",4528 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4401 "frame-system",4529 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4402 "impl-trait-for-tuples 0.2.1",4530 "impl-trait-for-tuples 0.2.1",
4403 "log",4531 "log",
4404 "pallet-balances",4532 "pallet-balances 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4405 "pallet-timestamp",4533 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4406 "parity-scale-codec 2.0.1",4534 "parity-scale-codec 2.0.1",
4407 "primitive-types 0.9.0",4535 "primitive-types 0.9.0",
4408 "rlp 0.5.0",4536 "rlp 0.5.0",
4409 "serde",4537 "serde",
4410 "sha3 0.8.2",4538 "sha3 0.8.2",
4411 "sp-core",4539 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4412 "sp-io",4540 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4413 "sp-runtime",4541 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4414 "sp-std",4542 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4415]4543]
44164544
4417[[package]]4545[[package]]
4418name = "pallet-grandpa"4546name = "pallet-grandpa"
4419version = "3.0.0"4547version = "3.0.0"
4420source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4548source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4421dependencies = [4549dependencies = [
4422 "frame-benchmarking",4550 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4423 "frame-support",4551 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4424 "frame-system",4552 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4425 "log",4553 "log",
4426 "pallet-authorship",4554 "pallet-authorship",
4427 "pallet-session",4555 "pallet-session",
4428 "parity-scale-codec 2.0.1",4556 "parity-scale-codec 2.0.1",
4429 "serde",4557 "serde",
4430 "sp-application-crypto",4558 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4431 "sp-core",4559 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4432 "sp-finality-grandpa",4560 "sp-finality-grandpa",
4433 "sp-runtime",4561 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4434 "sp-session",4562 "sp-session",
4435 "sp-staking",4563 "sp-staking 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4436 "sp-std",4564 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4437]4565]
4566
4567[[package]]
4568name = "pallet-inflation"
4569version = "3.0.0"
4570dependencies = [
4571 "frame-benchmarking 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
4572 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4573 "frame-system 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4574 "pallet-balances 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4575 "pallet-randomness-collective-flip 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4576 "pallet-timestamp 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4577 "parity-scale-codec 2.0.1",
4578 "serde",
4579 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4580 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4581 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4582 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4583]
44384584
4439[[package]]4585[[package]]
4440name = "pallet-nft"4586name = "pallet-nft"
4443 "ethereum",4589 "ethereum",
4444 "ethereum-tx-sign",4590 "ethereum-tx-sign",
4445 "fp-evm",4591 "fp-evm",
4446 "frame-benchmarking",4592 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4447 "frame-support",4593 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4448 "frame-system",4594 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4449 "hex-literal",4595 "hex-literal",
4450 "pallet-balances",4596 "pallet-balances 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4451 "pallet-contracts",4597 "pallet-contracts",
4452 "pallet-ethereum",4598 "pallet-ethereum",
4453 "pallet-evm",4599 "pallet-evm",
4454 "pallet-randomness-collective-flip",4600 "pallet-randomness-collective-flip 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4455 "pallet-timestamp",4601 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4456 "pallet-transaction-payment",4602 "pallet-transaction-payment",
4457 "parity-scale-codec 2.0.1",4603 "parity-scale-codec 2.0.1",
4458 "rlp 0.5.0",4604 "rlp 0.5.0",
4459 "serde",4605 "serde",
4460 "sp-api",4606 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4461 "sp-core",4607 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4462 "sp-io",4608 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4463 "sp-runtime",4609 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4464 "sp-std",4610 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4465]4611]
44664612
4467[[package]]4613[[package]]
4468name = "pallet-randomness-collective-flip"4614name = "pallet-randomness-collective-flip"
4469version = "3.0.0"4615version = "3.0.0"
4470source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4616source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4471dependencies = [4617dependencies = [
4472 "frame-support",4618 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4473 "frame-system",4619 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4474 "parity-scale-codec 2.0.1",4620 "parity-scale-codec 2.0.1",
4475 "safe-mix",4621 "safe-mix",
4476 "sp-runtime",4622 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4477 "sp-std",4623 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4478]4624]
4625
4626[[package]]
4627name = "pallet-randomness-collective-flip"
4628version = "3.0.0"
4629source = "registry+https://github.com/rust-lang/crates.io-index"
4630checksum = "ca3ea6fa9aa36735ec11d7ec4d97dd6472650c0656fdc6d4adaca2578bd71134"
4631dependencies = [
4632 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4633 "frame-system 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4634 "parity-scale-codec 2.0.1",
4635 "safe-mix",
4636 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4637 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4638]
44794639
4480[[package]]4640[[package]]
4481name = "pallet-session"4641name = "pallet-session"
4482version = "3.0.0"4642version = "3.0.0"
4483source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4643source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4484dependencies = [4644dependencies = [
4485 "frame-support",4645 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4486 "frame-system",4646 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4487 "impl-trait-for-tuples 0.2.1",4647 "impl-trait-for-tuples 0.2.1",
4488 "pallet-timestamp",4648 "pallet-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4489 "parity-scale-codec 2.0.1",4649 "parity-scale-codec 2.0.1",
4490 "serde",4650 "serde",
4491 "sp-core",4651 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4492 "sp-io",4652 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4493 "sp-runtime",4653 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4494 "sp-session",4654 "sp-session",
4495 "sp-staking",4655 "sp-staking 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4496 "sp-std",4656 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4497 "sp-trie",4657 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4498]4658]
44994659
4500[[package]]4660[[package]]
4501name = "pallet-sudo"4661name = "pallet-sudo"
4502version = "3.0.0"4662version = "3.0.0"
4503source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4663source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4504dependencies = [4664dependencies = [
4505 "frame-support",4665 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4506 "frame-system",4666 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4507 "parity-scale-codec 2.0.1",4667 "parity-scale-codec 2.0.1",
4508 "serde",4668 "serde",
4509 "sp-io",4669 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4510 "sp-runtime",4670 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4511 "sp-std",4671 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4512]4672]
45134673
4514[[package]]4674[[package]]
4515name = "pallet-timestamp"4675name = "pallet-timestamp"
4516version = "3.0.0"4676version = "3.0.0"
4517source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4677source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4518dependencies = [4678dependencies = [
4519 "frame-benchmarking",4679 "frame-benchmarking 3.1.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4520 "frame-support",4680 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4521 "frame-system",4681 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4522 "impl-trait-for-tuples 0.2.1",4682 "impl-trait-for-tuples 0.2.1",
4523 "log",4683 "log",
4524 "parity-scale-codec 2.0.1",4684 "parity-scale-codec 2.0.1",
4525 "serde",4685 "serde",
4526 "sp-inherents",4686 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4527 "sp-io",4687 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4528 "sp-runtime",4688 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4529 "sp-std",4689 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4530 "sp-timestamp",4690 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4531]4691]
4692
4693[[package]]
4694name = "pallet-timestamp"
4695version = "3.0.0"
4696source = "registry+https://github.com/rust-lang/crates.io-index"
4697checksum = "b17dd274716a55a2c3e34d9c0ed66aaac3d7e0393ec9fd985e2b8532d697a7f3"
4698dependencies = [
4699 "frame-benchmarking 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
4700 "frame-support 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4701 "frame-system 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4702 "impl-trait-for-tuples 0.2.1",
4703 "parity-scale-codec 2.0.1",
4704 "serde",
4705 "sp-inherents 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4706 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4707 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4708 "sp-timestamp 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
4709]
45324710
4533[[package]]4711[[package]]
4534name = "pallet-transaction-payment"4712name = "pallet-transaction-payment"
4535version = "3.0.0"4713version = "3.0.0"
4536source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4714source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4537dependencies = [4715dependencies = [
4538 "frame-support",4716 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4539 "frame-system",4717 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4540 "parity-scale-codec 2.0.1",4718 "parity-scale-codec 2.0.1",
4541 "serde",4719 "serde",
4542 "smallvec 1.6.1",4720 "smallvec 1.6.1",
4543 "sp-core",4721 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4544 "sp-io",4722 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4545 "sp-runtime",4723 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4546 "sp-std",4724 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4547]4725]
45484726
4549[[package]]4727[[package]]
4556 "jsonrpc-derive 15.1.0",4734 "jsonrpc-derive 15.1.0",
4557 "pallet-transaction-payment-rpc-runtime-api",4735 "pallet-transaction-payment-rpc-runtime-api",
4558 "parity-scale-codec 2.0.1",4736 "parity-scale-codec 2.0.1",
4559 "sp-api",4737 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4560 "sp-blockchain",4738 "sp-blockchain",
4561 "sp-core",4739 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4562 "sp-rpc",4740 "sp-rpc",
4563 "sp-runtime",4741 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4564]4742]
45654743
4566[[package]]4744[[package]]
4570dependencies = [4748dependencies = [
4571 "pallet-transaction-payment",4749 "pallet-transaction-payment",
4572 "parity-scale-codec 2.0.1",4750 "parity-scale-codec 2.0.1",
4573 "sp-api",4751 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4574 "sp-runtime",4752 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4575]4753]
45764754
4577[[package]]4755[[package]]
4578name = "pallet-treasury"4756name = "pallet-treasury"
4579version = "3.0.0"4757version = "3.0.0"
4580source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4758source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4581dependencies = [4759dependencies = [
4582 "frame-support",4760 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4583 "frame-system",4761 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4584 "impl-trait-for-tuples 0.2.1",4762 "impl-trait-for-tuples 0.2.1",
4585 "pallet-balances",4763 "pallet-balances 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4586 "parity-scale-codec 2.0.1",4764 "parity-scale-codec 2.0.1",
4587 "serde",4765 "serde",
4588 "sp-runtime",4766 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4589 "sp-std",4767 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4590]4768]
45914769
4592[[package]]4770[[package]]
4595source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4773source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
4596dependencies = [4774dependencies = [
4597 "enumflags2",4775 "enumflags2",
4598 "frame-support",4776 "frame-support 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4599 "frame-system",4777 "frame-system 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4600 "parity-scale-codec 2.0.1",4778 "parity-scale-codec 2.0.1",
4601 "serde",4779 "serde",
4602 "sp-runtime",4780 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4603 "sp-std",4781 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
4604]4782]
46054783
4606[[package]]4784[[package]]
5818 "sc-client-api",5996 "sc-client-api",
5819 "sc-proposer-metrics",5997 "sc-proposer-metrics",
5820 "sc-telemetry",5998 "sc-telemetry",
5821 "sp-api",5999 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5822 "sp-blockchain",6000 "sp-blockchain",
5823 "sp-consensus",6001 "sp-consensus",
5824 "sp-core",6002 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5825 "sp-inherents",6003 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5826 "sp-runtime",6004 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5827 "sp-transaction-pool",6005 "sp-transaction-pool",
5828 "substrate-prometheus-endpoint",6006 "substrate-prometheus-endpoint",
5829]6007]
5835dependencies = [6013dependencies = [
5836 "parity-scale-codec 2.0.1",6014 "parity-scale-codec 2.0.1",
5837 "sc-client-api",6015 "sc-client-api",
5838 "sp-api",6016 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5839 "sp-block-builder",6017 "sp-block-builder",
5840 "sp-blockchain",6018 "sp-blockchain",
5841 "sp-core",6019 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5842 "sp-inherents",6020 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5843 "sp-runtime",6021 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5844 "sp-state-machine",6022 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5845]6023]
58466024
5847[[package]]6025[[package]]
5861 "serde_json",6039 "serde_json",
5862 "sp-chain-spec",6040 "sp-chain-spec",
5863 "sp-consensus-babe",6041 "sp-consensus-babe",
5864 "sp-core",6042 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5865 "sp-runtime",6043 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5866]6044]
58676045
5868[[package]]6046[[package]]
5901 "serde",6079 "serde",
5902 "serde_json",6080 "serde_json",
5903 "sp-blockchain",6081 "sp-blockchain",
5904 "sp-core",6082 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5905 "sp-keyring",6083 "sp-keyring",
5906 "sp-keystore",6084 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5907 "sp-panic-handler",6085 "sp-panic-handler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5908 "sp-runtime",6086 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5909 "sp-utils",6087 "sp-utils",
5910 "sp-version",6088 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5911 "structopt",6089 "structopt",
5912 "thiserror",6090 "thiserror",
5913 "tiny-bip39",6091 "tiny-bip39",
5929 "parity-scale-codec 2.0.1",6107 "parity-scale-codec 2.0.1",
5930 "parking_lot 0.11.1",6108 "parking_lot 0.11.1",
5931 "sc-executor",6109 "sc-executor",
5932 "sp-api",6110 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5933 "sp-blockchain",6111 "sp-blockchain",
5934 "sp-consensus",6112 "sp-consensus",
5935 "sp-core",6113 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5936 "sp-database",6114 "sp-database",
5937 "sp-externalities",6115 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5938 "sp-inherents",6116 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5939 "sp-keystore",6117 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5940 "sp-runtime",6118 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5941 "sp-state-machine",6119 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5942 "sp-std",6120 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5943 "sp-storage",6121 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5944 "sp-transaction-pool",6122 "sp-transaction-pool",
5945 "sp-trie",6123 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5946 "sp-utils",6124 "sp-utils",
5947 "sp-version",6125 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5948 "substrate-prometheus-endpoint",6126 "substrate-prometheus-endpoint",
5949]6127]
59506128
5967 "sc-client-api",6145 "sc-client-api",
5968 "sc-executor",6146 "sc-executor",
5969 "sc-state-db",6147 "sc-state-db",
5970 "sp-arithmetic",6148 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5971 "sp-blockchain",6149 "sp-blockchain",
5972 "sp-consensus",6150 "sp-consensus",
5973 "sp-core",6151 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5974 "sp-database",6152 "sp-database",
5975 "sp-runtime",6153 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5976 "sp-state-machine",6154 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5977 "sp-trie",6155 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5978 "substrate-prometheus-endpoint",6156 "substrate-prometheus-endpoint",
5979]6157]
59806158
5986 "sc-client-api",6164 "sc-client-api",
5987 "sp-blockchain",6165 "sp-blockchain",
5988 "sp-consensus",6166 "sp-consensus",
5989 "sp-runtime",6167 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
5990]6168]
59916169
5992[[package]]6170[[package]]
6004 "sc-client-api",6182 "sc-client-api",
6005 "sc-consensus-slots",6183 "sc-consensus-slots",
6006 "sc-telemetry",6184 "sc-telemetry",
6007 "sp-api",6185 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6008 "sp-application-crypto",6186 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6009 "sp-block-builder",6187 "sp-block-builder",
6010 "sp-blockchain",6188 "sp-blockchain",
6011 "sp-consensus",6189 "sp-consensus",
6012 "sp-consensus-aura",6190 "sp-consensus-aura",
6013 "sp-consensus-slots",6191 "sp-consensus-slots",
6014 "sp-core",6192 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6015 "sp-inherents",6193 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6016 "sp-io",6194 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6017 "sp-keystore",6195 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6018 "sp-runtime",6196 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6019 "sp-timestamp",6197 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6020 "sp-version",6198 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6021 "substrate-prometheus-endpoint",6199 "substrate-prometheus-endpoint",
6022]6200]
60236201
6048 "sc-telemetry",6226 "sc-telemetry",
6049 "schnorrkel",6227 "schnorrkel",
6050 "serde",6228 "serde",
6051 "sp-api",6229 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6052 "sp-application-crypto",6230 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6053 "sp-block-builder",6231 "sp-block-builder",
6054 "sp-blockchain",6232 "sp-blockchain",
6055 "sp-consensus",6233 "sp-consensus",
6056 "sp-consensus-babe",6234 "sp-consensus-babe",
6057 "sp-consensus-slots",6235 "sp-consensus-slots",
6058 "sp-consensus-vrf",6236 "sp-consensus-vrf",
6059 "sp-core",6237 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6060 "sp-inherents",6238 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6061 "sp-io",6239 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6062 "sp-keystore",6240 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6063 "sp-runtime",6241 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6064 "sp-timestamp",6242 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6065 "sp-utils",6243 "sp-utils",
6066 "sp-version",6244 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6067 "substrate-prometheus-endpoint",6245 "substrate-prometheus-endpoint",
6068]6246]
60696247
6077 "parking_lot 0.11.1",6255 "parking_lot 0.11.1",
6078 "sc-client-api",6256 "sc-client-api",
6079 "sp-blockchain",6257 "sp-blockchain",
6080 "sp-runtime",6258 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6081]6259]
60826260
6083[[package]]6261[[package]]
6092 "parking_lot 0.11.1",6270 "parking_lot 0.11.1",
6093 "sc-client-api",6271 "sc-client-api",
6094 "sc-telemetry",6272 "sc-telemetry",
6095 "sp-api",6273 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6096 "sp-application-crypto",6274 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6097 "sp-arithmetic",6275 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6098 "sp-blockchain",6276 "sp-blockchain",
6099 "sp-consensus",6277 "sp-consensus",
6100 "sp-consensus-slots",6278 "sp-consensus-slots",
6101 "sp-core",6279 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6102 "sp-inherents",6280 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6103 "sp-runtime",6281 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6104 "sp-state-machine",6282 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6105 "sp-trie",6283 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6106 "thiserror",6284 "thiserror",
6107]6285]
61086286
6115 "sc-client-api",6293 "sc-client-api",
6116 "sp-authorship",6294 "sp-authorship",
6117 "sp-consensus",6295 "sp-consensus",
6118 "sp-core",6296 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6119 "sp-inherents",6297 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6120 "sp-runtime",6298 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6121]6299]
61226300
6123[[package]]6301[[package]]
6135 "sc-executor-common",6313 "sc-executor-common",
6136 "sc-executor-wasmi",6314 "sc-executor-wasmi",
6137 "sc-executor-wasmtime",6315 "sc-executor-wasmtime",
6138 "sp-api",6316 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6139 "sp-core",6317 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6140 "sp-externalities",6318 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6141 "sp-io",6319 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6142 "sp-panic-handler",6320 "sp-panic-handler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6143 "sp-runtime-interface",6321 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6144 "sp-serializer",6322 "sp-serializer",
6145 "sp-tasks",6323 "sp-tasks",
6146 "sp-trie",6324 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6147 "sp-version",6325 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6148 "sp-wasm-interface",6326 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6149 "wasmi",6327 "wasmi",
6150]6328]
61516329
6158 "parity-scale-codec 2.0.1",6336 "parity-scale-codec 2.0.1",
6159 "parity-wasm 0.41.0",6337 "parity-wasm 0.41.0",
6160 "sp-allocator",6338 "sp-allocator",
6161 "sp-core",6339 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6162 "sp-serializer",6340 "sp-serializer",
6163 "sp-wasm-interface",6341 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6164 "thiserror",6342 "thiserror",
6165 "wasmi",6343 "wasmi",
6166]6344]
6174 "parity-scale-codec 2.0.1",6352 "parity-scale-codec 2.0.1",
6175 "sc-executor-common",6353 "sc-executor-common",
6176 "sp-allocator",6354 "sp-allocator",
6177 "sp-core",6355 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6178 "sp-runtime-interface",6356 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6179 "sp-wasm-interface",6357 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6180 "wasmi",6358 "wasmi",
6181]6359]
61826360
6192 "sc-executor-common",6370 "sc-executor-common",
6193 "scoped-tls",6371 "scoped-tls",
6194 "sp-allocator",6372 "sp-allocator",
6195 "sp-core",6373 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6196 "sp-runtime-interface",6374 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6197 "sp-wasm-interface",6375 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6198 "wasmtime",6376 "wasmtime",
6199]6377]
62006378
6223 "sc-network-gossip",6401 "sc-network-gossip",
6224 "sc-telemetry",6402 "sc-telemetry",
6225 "serde_json",6403 "serde_json",
6226 "sp-api",6404 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6227 "sp-application-crypto",6405 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6228 "sp-arithmetic",6406 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6229 "sp-blockchain",6407 "sp-blockchain",
6230 "sp-consensus",6408 "sp-consensus",
6231 "sp-core",6409 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6232 "sp-finality-grandpa",6410 "sp-finality-grandpa",
6233 "sp-inherents",6411 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6234 "sp-keystore",6412 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6235 "sp-runtime",6413 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6236 "sp-utils",6414 "sp-utils",
6237 "substrate-prometheus-endpoint",6415 "substrate-prometheus-endpoint",
6238]6416]
6249 "sc-client-api",6427 "sc-client-api",
6250 "sc-network",6428 "sc-network",
6251 "sp-blockchain",6429 "sp-blockchain",
6252 "sp-runtime",6430 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6253 "sp-transaction-pool",6431 "sp-transaction-pool",
6254 "sp-utils",6432 "sp-utils",
6255 "wasm-timer",6433 "wasm-timer",
6269 "parking_lot 0.11.1",6447 "parking_lot 0.11.1",
6270 "rand 0.7.3",6448 "rand 0.7.3",
6271 "serde_json",6449 "serde_json",
6272 "sp-application-crypto",6450 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6273 "sp-core",6451 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6274 "sp-keystore",6452 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6275 "subtle 2.4.0",6453 "subtle 2.4.0",
6276]6454]
62776455
6286 "parking_lot 0.11.1",6464 "parking_lot 0.11.1",
6287 "sc-client-api",6465 "sc-client-api",
6288 "sc-executor",6466 "sc-executor",
6289 "sp-api",6467 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6290 "sp-blockchain",6468 "sp-blockchain",
6291 "sp-core",6469 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6292 "sp-externalities",6470 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6293 "sp-runtime",6471 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6294 "sp-state-machine",6472 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6295]6473]
62966474
6297[[package]]6475[[package]]
6333 "serde",6511 "serde",
6334 "serde_json",6512 "serde_json",
6335 "smallvec 1.6.1",6513 "smallvec 1.6.1",
6336 "sp-arithmetic",6514 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6337 "sp-blockchain",6515 "sp-blockchain",
6338 "sp-consensus",6516 "sp-consensus",
6339 "sp-core",6517 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6340 "sp-runtime",6518 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6341 "sp-utils",6519 "sp-utils",
6342 "substrate-prometheus-endpoint",6520 "substrate-prometheus-endpoint",
6343 "thiserror",6521 "thiserror",
6358 "log",6536 "log",
6359 "lru",6537 "lru",
6360 "sc-network",6538 "sc-network",
6361 "sp-runtime",6539 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6362 "substrate-prometheus-endpoint",6540 "substrate-prometheus-endpoint",
6363 "wasm-timer",6541 "wasm-timer",
6364]6542]
6383 "sc-client-api",6561 "sc-client-api",
6384 "sc-keystore",6562 "sc-keystore",
6385 "sc-network",6563 "sc-network",
6386 "sp-api",6564 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6387 "sp-core",6565 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6388 "sp-offchain",6566 "sp-offchain",
6389 "sp-runtime",6567 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6390 "sp-utils",6568 "sp-utils",
6391 "threadpool",6569 "threadpool",
6392]6570]
6432 "sc-rpc-api",6610 "sc-rpc-api",
6433 "sc-tracing",6611 "sc-tracing",
6434 "serde_json",6612 "serde_json",
6435 "sp-api",6613 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6436 "sp-blockchain",6614 "sp-blockchain",
6437 "sp-chain-spec",6615 "sp-chain-spec",
6438 "sp-core",6616 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6439 "sp-keystore",6617 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6440 "sp-offchain",6618 "sp-offchain",
6441 "sp-rpc",6619 "sp-rpc",
6442 "sp-runtime",6620 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6443 "sp-session",6621 "sp-session",
6444 "sp-state-machine",6622 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6445 "sp-transaction-pool",6623 "sp-transaction-pool",
6446 "sp-utils",6624 "sp-utils",
6447 "sp-version",6625 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6448]6626]
64496627
6450[[package]]6628[[package]]
6464 "serde",6642 "serde",
6465 "serde_json",6643 "serde_json",
6466 "sp-chain-spec",6644 "sp-chain-spec",
6467 "sp-core",6645 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6468 "sp-rpc",6646 "sp-rpc",
6469 "sp-runtime",6647 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6470 "sp-transaction-pool",6648 "sp-transaction-pool",
6471 "sp-version",6649 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6472]6650]
64736651
6474[[package]]6652[[package]]
6485 "log",6663 "log",
6486 "serde",6664 "serde",
6487 "serde_json",6665 "serde_json",
6488 "sp-runtime",6666 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6489 "substrate-prometheus-endpoint",6667 "substrate-prometheus-endpoint",
6490]6668]
64916669
6526 "sc-transaction-pool",6704 "sc-transaction-pool",
6527 "serde",6705 "serde",
6528 "serde_json",6706 "serde_json",
6529 "sp-api",6707 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6530 "sp-application-crypto",6708 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6531 "sp-block-builder",6709 "sp-block-builder",
6532 "sp-blockchain",6710 "sp-blockchain",
6533 "sp-consensus",6711 "sp-consensus",
6534 "sp-core",6712 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6535 "sp-externalities",6713 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6536 "sp-inherents",6714 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6537 "sp-io",6715 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6538 "sp-keystore",6716 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6539 "sp-runtime",6717 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6540 "sp-session",6718 "sp-session",
6541 "sp-state-machine",6719 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6542 "sp-tracing",6720 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6543 "sp-transaction-pool",6721 "sp-transaction-pool",
6544 "sp-trie",6722 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6545 "sp-utils",6723 "sp-utils",
6546 "sp-version",6724 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6547 "substrate-prometheus-endpoint",6725 "substrate-prometheus-endpoint",
6548 "tempfile",6726 "tempfile",
6549 "thiserror",6727 "thiserror",
6563 "parity-util-mem-derive",6741 "parity-util-mem-derive",
6564 "parking_lot 0.11.1",6742 "parking_lot 0.11.1",
6565 "sc-client-api",6743 "sc-client-api",
6566 "sp-core",6744 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6567 "thiserror",6745 "thiserror",
6568]6746]
65696747
6604 "sc-tracing-proc-macro",6782 "sc-tracing-proc-macro",
6605 "serde",6783 "serde",
6606 "serde_json",6784 "serde_json",
6607 "sp-tracing",6785 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6608 "thiserror",6786 "thiserror",
6609 "tracing",6787 "tracing",
6610 "tracing-core",6788 "tracing-core",
6639 "retain_mut",6817 "retain_mut",
6640 "serde",6818 "serde",
6641 "sp-blockchain",6819 "sp-blockchain",
6642 "sp-core",6820 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6643 "sp-runtime",6821 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6644 "sp-transaction-pool",6822 "sp-transaction-pool",
6645 "sp-utils",6823 "sp-utils",
6646 "thiserror",6824 "thiserror",
6661 "parking_lot 0.11.1",6839 "parking_lot 0.11.1",
6662 "sc-client-api",6840 "sc-client-api",
6663 "sc-transaction-graph",6841 "sc-transaction-graph",
6664 "sp-api",6842 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6665 "sp-blockchain",6843 "sp-blockchain",
6666 "sp-core",6844 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6667 "sp-runtime",6845 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6668 "sp-tracing",6846 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
6669 "sp-transaction-pool",6847 "sp-transaction-pool",
6670 "sp-utils",6848 "sp-utils",
6671 "substrate-prometheus-endpoint",6849 "substrate-prometheus-endpoint",
7067source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7245source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7068dependencies = [7246dependencies = [
7069 "log",7247 "log",
7070 "sp-core",7248 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7071 "sp-std",7249 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7072 "sp-wasm-interface",7250 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7073 "thiserror",7251 "thiserror",
7074]7252]
70757253
7081 "hash-db",7259 "hash-db",
7082 "log",7260 "log",
7083 "parity-scale-codec 2.0.1",7261 "parity-scale-codec 2.0.1",
7084 "sp-api-proc-macro",7262 "sp-api-proc-macro 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7085 "sp-core",7263 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7086 "sp-runtime",7264 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7087 "sp-state-machine",7265 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7088 "sp-std",7266 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7089 "sp-version",7267 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7090 "thiserror",7268 "thiserror",
7091]7269]
7270
7271[[package]]
7272name = "sp-api"
7273version = "3.0.0"
7274source = "registry+https://github.com/rust-lang/crates.io-index"
7275checksum = "e63c3460d5daecf67df542c34c2bbd636214a5a200d4bddcfa2ffb9e72c346af"
7276dependencies = [
7277 "hash-db",
7278 "parity-scale-codec 2.0.1",
7279 "sp-api-proc-macro 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7280 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7281 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7282 "sp-state-machine 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7283 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7284 "sp-version 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7285 "thiserror",
7286]
70927287
7093[[package]]7288[[package]]
7094name = "sp-api-proc-macro"7289name = "sp-api-proc-macro"
7102 "syn",7297 "syn",
7103]7298]
7299
7300[[package]]
7301name = "sp-api-proc-macro"
7302version = "3.0.0"
7303source = "registry+https://github.com/rust-lang/crates.io-index"
7304checksum = "289624f4fe0f61e63a5019ed26c3bc732b5145eb52796ac6053cd72656d947a1"
7305dependencies = [
7306 "blake2-rfc",
7307 "proc-macro-crate 0.1.5",
7308 "proc-macro2",
7309 "quote",
7310 "syn",
7311]
71047312
7105[[package]]7313[[package]]
7106name = "sp-application-crypto"7314name = "sp-application-crypto"
7109dependencies = [7317dependencies = [
7110 "parity-scale-codec 2.0.1",7318 "parity-scale-codec 2.0.1",
7111 "serde",7319 "serde",
7112 "sp-core",7320 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7113 "sp-io",7321 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7114 "sp-std",7322 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7115]7323]
7324
7325[[package]]
7326name = "sp-application-crypto"
7327version = "3.0.0"
7328source = "registry+https://github.com/rust-lang/crates.io-index"
7329checksum = "c52e2e6d43036b97c4fce1ed87c5262c1ffdc78c655ada4d3024a3f8094bdd2c"
7330dependencies = [
7331 "parity-scale-codec 2.0.1",
7332 "serde",
7333 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7334 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7335 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7336]
71167337
7117[[package]]7338[[package]]
7118name = "sp-arithmetic"7339name = "sp-arithmetic"
7123 "num-traits",7344 "num-traits",
7124 "parity-scale-codec 2.0.1",7345 "parity-scale-codec 2.0.1",
7125 "serde",7346 "serde",
7126 "sp-debug-derive",7347 "sp-debug-derive 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7127 "sp-std",7348 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7128]7349]
7350
7351[[package]]
7352name = "sp-arithmetic"
7353version = "3.0.0"
7354source = "registry+https://github.com/rust-lang/crates.io-index"
7355checksum = "d0f1c69966c192d1dee8521f0b29ece2b14db07b9b44d801a94e295234761645"
7356dependencies = [
7357 "integer-sqrt",
7358 "num-traits",
7359 "parity-scale-codec 2.0.1",
7360 "serde",
7361 "sp-debug-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7362 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7363]
71297364
7130[[package]]7365[[package]]
7131name = "sp-authorship"7366name = "sp-authorship"
7132version = "3.0.0"7367version = "3.0.0"
7133source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7368source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7134dependencies = [7369dependencies = [
7135 "parity-scale-codec 2.0.1",7370 "parity-scale-codec 2.0.1",
7136 "sp-inherents",7371 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7137 "sp-runtime",7372 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7138 "sp-std",7373 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7139]7374]
71407375
7141[[package]]7376[[package]]
7144source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7379source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7145dependencies = [7380dependencies = [
7146 "parity-scale-codec 2.0.1",7381 "parity-scale-codec 2.0.1",
7147 "sp-api",7382 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7148 "sp-inherents",7383 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7149 "sp-runtime",7384 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7150 "sp-std",7385 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7151]7386]
71527387
7153[[package]]7388[[package]]
7160 "lru",7395 "lru",
7161 "parity-scale-codec 2.0.1",7396 "parity-scale-codec 2.0.1",
7162 "parking_lot 0.11.1",7397 "parking_lot 0.11.1",
7163 "sp-api",7398 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7164 "sp-consensus",7399 "sp-consensus",
7165 "sp-database",7400 "sp-database",
7166 "sp-runtime",7401 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7167 "sp-state-machine",7402 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7168 "thiserror",7403 "thiserror",
7169]7404]
71707405
7189 "parity-scale-codec 2.0.1",7424 "parity-scale-codec 2.0.1",
7190 "parking_lot 0.11.1",7425 "parking_lot 0.11.1",
7191 "serde",7426 "serde",
7192 "sp-api",7427 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7193 "sp-core",7428 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7194 "sp-inherents",7429 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7195 "sp-runtime",7430 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7196 "sp-state-machine",7431 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7197 "sp-std",7432 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7198 "sp-trie",7433 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7199 "sp-utils",7434 "sp-utils",
7200 "sp-version",7435 "sp-version 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7201 "substrate-prometheus-endpoint",7436 "substrate-prometheus-endpoint",
7202 "thiserror",7437 "thiserror",
7203 "wasm-timer",7438 "wasm-timer",
7209source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7444source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7210dependencies = [7445dependencies = [
7211 "parity-scale-codec 2.0.1",7446 "parity-scale-codec 2.0.1",
7212 "sp-api",7447 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7213 "sp-application-crypto",7448 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7214 "sp-consensus-slots",7449 "sp-consensus-slots",
7215 "sp-inherents",7450 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7216 "sp-runtime",7451 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7217 "sp-std",7452 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7218 "sp-timestamp",7453 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7219]7454]
72207455
7221[[package]]7456[[package]]
7226 "merlin",7461 "merlin",
7227 "parity-scale-codec 2.0.1",7462 "parity-scale-codec 2.0.1",
7228 "serde",7463 "serde",
7229 "sp-api",7464 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7230 "sp-application-crypto",7465 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7231 "sp-consensus",7466 "sp-consensus",
7232 "sp-consensus-slots",7467 "sp-consensus-slots",
7233 "sp-consensus-vrf",7468 "sp-consensus-vrf",
7234 "sp-core",7469 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7235 "sp-inherents",7470 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7236 "sp-keystore",7471 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7237 "sp-runtime",7472 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7238 "sp-std",7473 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7239 "sp-timestamp",7474 "sp-timestamp 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7240]7475]
72417476
7242[[package]]7477[[package]]
7245source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7480source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7246dependencies = [7481dependencies = [
7247 "parity-scale-codec 2.0.1",7482 "parity-scale-codec 2.0.1",
7248 "sp-arithmetic",7483 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7249 "sp-runtime",7484 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7250]7485]
72517486
7252[[package]]7487[[package]]
7256dependencies = [7491dependencies = [
7257 "parity-scale-codec 2.0.1",7492 "parity-scale-codec 2.0.1",
7258 "schnorrkel",7493 "schnorrkel",
7259 "sp-core",7494 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7260 "sp-runtime",7495 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7261 "sp-std",7496 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7262]7497]
72637498
7264[[package]]7499[[package]]
7291 "secrecy",7526 "secrecy",
7292 "serde",7527 "serde",
7293 "sha2 0.9.3",7528 "sha2 0.9.3",
7294 "sp-debug-derive",7529 "sp-debug-derive 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7295 "sp-externalities",7530 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7296 "sp-runtime-interface",7531 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7297 "sp-std",7532 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7298 "sp-storage",7533 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7299 "substrate-bip39",7534 "substrate-bip39",
7300 "thiserror",7535 "thiserror",
7301 "tiny-bip39",7536 "tiny-bip39",
7305 "zeroize",7540 "zeroize",
7306]7541]
7542
7543[[package]]
7544name = "sp-core"
7545version = "3.0.0"
7546source = "registry+https://github.com/rust-lang/crates.io-index"
7547checksum = "abbc8d4e9b8a7d5819ed26f1374017bb32833ef4890e4ff065e1da30669876bc"
7548dependencies = [
7549 "base58",
7550 "blake2-rfc",
7551 "byteorder",
7552 "dyn-clonable",
7553 "ed25519-dalek",
7554 "futures 0.3.12",
7555 "hash-db",
7556 "hash256-std-hasher",
7557 "hex",
7558 "impl-serde",
7559 "lazy_static",
7560 "libsecp256k1",
7561 "log",
7562 "merlin",
7563 "num-traits",
7564 "parity-scale-codec 2.0.1",
7565 "parity-util-mem",
7566 "parking_lot 0.11.1",
7567 "primitive-types 0.9.0",
7568 "rand 0.7.3",
7569 "regex",
7570 "schnorrkel",
7571 "secrecy",
7572 "serde",
7573 "sha2 0.9.3",
7574 "sp-debug-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7575 "sp-externalities 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7576 "sp-runtime-interface 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7577 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7578 "sp-storage 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7579 "substrate-bip39",
7580 "thiserror",
7581 "tiny-bip39",
7582 "tiny-keccak",
7583 "twox-hash",
7584 "wasmi",
7585 "zeroize",
7586]
73077587
7308[[package]]7588[[package]]
7309name = "sp-database"7589name = "sp-database"
7324 "syn",7604 "syn",
7325]7605]
7606
7607[[package]]
7608name = "sp-debug-derive"
7609version = "3.0.0"
7610source = "registry+https://github.com/rust-lang/crates.io-index"
7611checksum = "e80275f23b4e7ba8f54dec5f90f016530e7307d2ee9445f617ab986cbe97f31e"
7612dependencies = [
7613 "proc-macro2",
7614 "quote",
7615 "syn",
7616]
73267617
7327[[package]]7618[[package]]
7328name = "sp-externalities"7619name = "sp-externalities"
7331dependencies = [7622dependencies = [
7332 "environmental",7623 "environmental",
7333 "parity-scale-codec 2.0.1",7624 "parity-scale-codec 2.0.1",
7334 "sp-std",7625 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7335 "sp-storage",7626 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7336]7627]
7628
7629[[package]]
7630name = "sp-externalities"
7631version = "0.9.0"
7632source = "registry+https://github.com/rust-lang/crates.io-index"
7633checksum = "2fdc625f8c7b13b9a136d334888b21b5743d2081cb666cb03efca1dc9b8f74d1"
7634dependencies = [
7635 "environmental",
7636 "parity-scale-codec 2.0.1",
7637 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7638 "sp-storage 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7639]
73377640
7338[[package]]7641[[package]]
7339name = "sp-finality-grandpa"7642name = "sp-finality-grandpa"
7344 "log",7647 "log",
7345 "parity-scale-codec 2.0.1",7648 "parity-scale-codec 2.0.1",
7346 "serde",7649 "serde",
7347 "sp-api",7650 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7348 "sp-application-crypto",7651 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7349 "sp-core",7652 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7350 "sp-keystore",7653 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7351 "sp-runtime",7654 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7352 "sp-std",7655 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7353]7656]
73547657
7355[[package]]7658[[package]]
7359dependencies = [7662dependencies = [
7360 "parity-scale-codec 2.0.1",7663 "parity-scale-codec 2.0.1",
7361 "parking_lot 0.11.1",7664 "parking_lot 0.11.1",
7362 "sp-core",7665 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7363 "sp-std",7666 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7364 "thiserror",7667 "thiserror",
7365]7668]
7669
7670[[package]]
7671name = "sp-inherents"
7672version = "3.0.0"
7673source = "registry+https://github.com/rust-lang/crates.io-index"
7674checksum = "2542380b535c6941502a0a3069a657eb5abb70fd67b11afa164d4a4b038ba73a"
7675dependencies = [
7676 "parity-scale-codec 2.0.1",
7677 "parking_lot 0.11.1",
7678 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7679 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7680 "thiserror",
7681]
73667682
7367[[package]]7683[[package]]
7368name = "sp-io"7684name = "sp-io"
7375 "log",7691 "log",
7376 "parity-scale-codec 2.0.1",7692 "parity-scale-codec 2.0.1",
7377 "parking_lot 0.11.1",7693 "parking_lot 0.11.1",
7378 "sp-core",7694 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7379 "sp-externalities",7695 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7380 "sp-keystore",7696 "sp-keystore 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7381 "sp-runtime-interface",7697 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7382 "sp-state-machine",7698 "sp-state-machine 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7383 "sp-std",7699 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7384 "sp-tracing",7700 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7385 "sp-trie",7701 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7386 "sp-wasm-interface",7702 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7387 "tracing",7703 "tracing",
7388 "tracing-core",7704 "tracing-core",
7389]7705]
7706
7707[[package]]
7708name = "sp-io"
7709version = "3.0.0"
7710source = "registry+https://github.com/rust-lang/crates.io-index"
7711checksum = "33fd69f0a6e91bedc2fb1c5cc3689c212474b6c918274cb4cb14dbbe3c428c14"
7712dependencies = [
7713 "futures 0.3.12",
7714 "hash-db",
7715 "libsecp256k1",
7716 "log",
7717 "parity-scale-codec 2.0.1",
7718 "parking_lot 0.11.1",
7719 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7720 "sp-externalities 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7721 "sp-keystore 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7722 "sp-runtime-interface 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7723 "sp-state-machine 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7724 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7725 "sp-tracing 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7726 "sp-trie 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7727 "sp-wasm-interface 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7728 "tracing",
7729 "tracing-core",
7730]
73907731
7391[[package]]7732[[package]]
7392name = "sp-keyring"7733name = "sp-keyring"
7393version = "3.0.0"7734version = "3.0.0"
7394source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7735source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7395dependencies = [7736dependencies = [
7396 "lazy_static",7737 "lazy_static",
7397 "sp-core",7738 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7398 "sp-runtime",7739 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7399 "strum",7740 "strum",
7400]7741]
74017742
7412 "parking_lot 0.11.1",7753 "parking_lot 0.11.1",
7413 "schnorrkel",7754 "schnorrkel",
7414 "serde",7755 "serde",
7415 "sp-core",7756 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7416 "sp-externalities",7757 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7417]7758]
7759
7760[[package]]
7761name = "sp-keystore"
7762version = "0.9.0"
7763source = "registry+https://github.com/rust-lang/crates.io-index"
7764checksum = "db6ccd2baf189112355338e8b224dc513cd239b974dbd717f12b3dc7a7248c3b"
7765dependencies = [
7766 "async-trait",
7767 "derive_more",
7768 "futures 0.3.12",
7769 "merlin",
7770 "parity-scale-codec 2.0.1",
7771 "parking_lot 0.11.1",
7772 "schnorrkel",
7773 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7774 "sp-externalities 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7775]
74187776
7419[[package]]7777[[package]]
7420name = "sp-offchain"7778name = "sp-offchain"
7421version = "3.0.0"7779version = "3.0.0"
7422source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7780source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7423dependencies = [7781dependencies = [
7424 "sp-api",7782 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7425 "sp-core",7783 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7426 "sp-runtime",7784 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7427]7785]
74287786
7429[[package]]7787[[package]]
7434 "backtrace",7792 "backtrace",
7435]7793]
7794
7795[[package]]
7796name = "sp-panic-handler"
7797version = "3.0.0"
7798source = "registry+https://github.com/rust-lang/crates.io-index"
7799checksum = "54702e109f1c8a870dd4065a497d2612d42cec5817126e96cc0658c5ea975784"
7800dependencies = [
7801 "backtrace",
7802]
74367803
7437[[package]]7804[[package]]
7438name = "sp-rpc"7805name = "sp-rpc"
7439version = "3.0.0"7806version = "3.0.0"
7440source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7807source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7441dependencies = [7808dependencies = [
7442 "serde",7809 "serde",
7443 "sp-core",7810 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7444]7811]
74457812
7446[[package]]7813[[package]]
7457 "paste 1.0.4",7824 "paste 1.0.4",
7458 "rand 0.7.3",7825 "rand 0.7.3",
7459 "serde",7826 "serde",
7460 "sp-application-crypto",7827 "sp-application-crypto 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7461 "sp-arithmetic",7828 "sp-arithmetic 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7462 "sp-core",7829 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7463 "sp-io",7830 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7464 "sp-std",7831 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7465]7832]
7833
7834[[package]]
7835name = "sp-runtime"
7836version = "3.0.0"
7837source = "registry+https://github.com/rust-lang/crates.io-index"
7838checksum = "dfa4b353b76f04616dbdb8d269d58dcac47acb31c006d3b70e7b64233e68695e"
7839dependencies = [
7840 "either",
7841 "hash256-std-hasher",
7842 "impl-trait-for-tuples 0.2.1",
7843 "log",
7844 "parity-scale-codec 2.0.1",
7845 "parity-util-mem",
7846 "paste 1.0.4",
7847 "rand 0.7.3",
7848 "serde",
7849 "sp-application-crypto 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7850 "sp-arithmetic 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7851 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7852 "sp-io 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7853 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7854]
74667855
7467[[package]]7856[[package]]
7468name = "sp-runtime-interface"7857name = "sp-runtime-interface"
7472 "impl-trait-for-tuples 0.2.1",7861 "impl-trait-for-tuples 0.2.1",
7473 "parity-scale-codec 2.0.1",7862 "parity-scale-codec 2.0.1",
7474 "primitive-types 0.9.0",7863 "primitive-types 0.9.0",
7475 "sp-externalities",7864 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7476 "sp-runtime-interface-proc-macro",7865 "sp-runtime-interface-proc-macro 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7477 "sp-std",7866 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7478 "sp-storage",7867 "sp-storage 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7479 "sp-tracing",7868 "sp-tracing 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7480 "sp-wasm-interface",7869 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7481 "static_assertions",7870 "static_assertions",
7482]7871]
7872
7873[[package]]
7874name = "sp-runtime-interface"
7875version = "3.0.0"
7876source = "registry+https://github.com/rust-lang/crates.io-index"
7877checksum = "b2e5c88b4bc8d607e4e2ff767a85db58cf7101f3dd6064f06929342ea67fe8fb"
7878dependencies = [
7879 "impl-trait-for-tuples 0.2.1",
7880 "parity-scale-codec 2.0.1",
7881 "primitive-types 0.9.0",
7882 "sp-externalities 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
7883 "sp-runtime-interface-proc-macro 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7884 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7885 "sp-storage 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7886 "sp-tracing 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7887 "sp-wasm-interface 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7888 "static_assertions",
7889]
74837890
7484[[package]]7891[[package]]
7485name = "sp-runtime-interface-proc-macro"7892name = "sp-runtime-interface-proc-macro"
7493 "syn",7900 "syn",
7494]7901]
7902
7903[[package]]
7904name = "sp-runtime-interface-proc-macro"
7905version = "3.0.0"
7906source = "registry+https://github.com/rust-lang/crates.io-index"
7907checksum = "19a6c7c2251512c9e533d15db8a863b06ece1cbee778130dd9adbe44b6b39aa9"
7908dependencies = [
7909 "Inflector",
7910 "proc-macro-crate 0.1.5",
7911 "proc-macro2",
7912 "quote",
7913 "syn",
7914]
74957915
7496[[package]]7916[[package]]
7497name = "sp-sandbox"7917name = "sp-sandbox"
7498version = "0.9.0"7918version = "0.9.0"
7499source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7919source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7500dependencies = [7920dependencies = [
7501 "parity-scale-codec 2.0.1",7921 "parity-scale-codec 2.0.1",
7502 "sp-core",7922 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7503 "sp-io",7923 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7504 "sp-std",7924 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7505 "sp-wasm-interface",7925 "sp-wasm-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7506 "wasmi",7926 "wasmi",
7507]7927]
75087928
7521source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7941source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7522dependencies = [7942dependencies = [
7523 "parity-scale-codec 2.0.1",7943 "parity-scale-codec 2.0.1",
7524 "sp-api",7944 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7525 "sp-core",7945 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7526 "sp-runtime",7946 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7527 "sp-staking",7947 "sp-staking 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7528 "sp-std",7948 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7529]7949]
75307950
7531[[package]]7951[[package]]
7534source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7954source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7535dependencies = [7955dependencies = [
7536 "parity-scale-codec 2.0.1",7956 "parity-scale-codec 2.0.1",
7537 "sp-runtime",7957 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7538 "sp-std",7958 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7539]7959]
7960
7961[[package]]
7962name = "sp-staking"
7963version = "3.0.0"
7964source = "registry+https://github.com/rust-lang/crates.io-index"
7965checksum = "fc729eb10f8809c61a1fe439ac118a4413de004aaf863003ee8752ac0b596e73"
7966dependencies = [
7967 "parity-scale-codec 2.0.1",
7968 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7969 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
7970]
75407971
7541[[package]]7972[[package]]
7542name = "sp-state-machine"7973name = "sp-state-machine"
7550 "parking_lot 0.11.1",7981 "parking_lot 0.11.1",
7551 "rand 0.7.3",7982 "rand 0.7.3",
7552 "smallvec 1.6.1",7983 "smallvec 1.6.1",
7553 "sp-core",7984 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7554 "sp-externalities",7985 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7555 "sp-panic-handler",7986 "sp-panic-handler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7556 "sp-std",7987 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7557 "sp-trie",7988 "sp-trie 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7558 "thiserror",7989 "thiserror",
7559 "trie-db",7990 "trie-db",
7560 "trie-root",7991 "trie-root",
7561]7992]
7993
7994[[package]]
7995name = "sp-state-machine"
7996version = "0.9.0"
7997source = "registry+https://github.com/rust-lang/crates.io-index"
7998checksum = "46fa4143e58e9130f726d4e8a9b86f3530a8bd19a2eedcdcf4af205f4b5a6d4f"
7999dependencies = [
8000 "hash-db",
8001 "log",
8002 "num-traits",
8003 "parity-scale-codec 2.0.1",
8004 "parking_lot 0.11.1",
8005 "rand 0.7.3",
8006 "smallvec 1.6.1",
8007 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8008 "sp-externalities 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
8009 "sp-panic-handler 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8010 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8011 "sp-trie 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8012 "thiserror",
8013 "trie-db",
8014 "trie-root",
8015]
75628016
7563[[package]]8017[[package]]
7564name = "sp-std"8018name = "sp-std"
7565version = "3.0.0"8019version = "3.0.0"
7566source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"8020source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
8021
8022[[package]]
8023name = "sp-std"
8024version = "3.0.0"
8025source = "registry+https://github.com/rust-lang/crates.io-index"
8026checksum = "35391ea974fa5ee869cb094d5b437688fbf3d8127d64d1b9fed5822a1ed39b12"
75678027
7568[[package]]8028[[package]]
7569name = "sp-storage"8029name = "sp-storage"
7574 "parity-scale-codec 2.0.1",8034 "parity-scale-codec 2.0.1",
7575 "ref-cast",8035 "ref-cast",
7576 "serde",8036 "serde",
7577 "sp-debug-derive",8037 "sp-debug-derive 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7578 "sp-std",8038 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7579]8039]
8040
8041[[package]]
8042name = "sp-storage"
8043version = "3.0.0"
8044source = "registry+https://github.com/rust-lang/crates.io-index"
8045checksum = "86af458d4a0251c490cdde9dcaaccb88d398f3b97ac6694cdd49ed9337e6b961"
8046dependencies = [
8047 "impl-serde",
8048 "parity-scale-codec 2.0.1",
8049 "ref-cast",
8050 "serde",
8051 "sp-debug-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8052 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8053]
75808054
7581[[package]]8055[[package]]
7582name = "sp-tasks"8056name = "sp-tasks"
7583version = "3.0.0"8057version = "3.0.0"
7584source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"8058source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7585dependencies = [8059dependencies = [
7586 "log",8060 "log",
7587 "sp-core",8061 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7588 "sp-externalities",8062 "sp-externalities 0.9.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7589 "sp-io",8063 "sp-io 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7590 "sp-runtime-interface",8064 "sp-runtime-interface 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7591 "sp-std",8065 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7592]8066]
75938067
7594[[package]]8068[[package]]
7597source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"8071source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
7598dependencies = [8072dependencies = [
7599 "parity-scale-codec 2.0.1",8073 "parity-scale-codec 2.0.1",
7600 "sp-api",8074 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7601 "sp-inherents",8075 "sp-inherents 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7602 "sp-runtime",8076 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7603 "sp-std",8077 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7604 "wasm-timer",8078 "wasm-timer",
7605]8079]
8080
8081[[package]]
8082name = "sp-timestamp"
8083version = "3.0.0"
8084source = "registry+https://github.com/rust-lang/crates.io-index"
8085checksum = "27387c541197b9f47f3d9ddcab5649a3ecdca582d2f2ea2b511af24a3d3cbf83"
8086dependencies = [
8087 "impl-trait-for-tuples 0.2.1",
8088 "parity-scale-codec 2.0.1",
8089 "sp-api 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8090 "sp-inherents 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8091 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8092 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8093 "wasm-timer",
8094]
76068095
7607[[package]]8096[[package]]
7608name = "sp-tracing"8097name = "sp-tracing"
7611dependencies = [8100dependencies = [
7612 "log",8101 "log",
7613 "parity-scale-codec 2.0.1",8102 "parity-scale-codec 2.0.1",
7614 "sp-std",8103 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7615 "tracing",8104 "tracing",
7616 "tracing-core",8105 "tracing-core",
7617 "tracing-subscriber",8106 "tracing-subscriber",
7618]8107]
8108
8109[[package]]
8110name = "sp-tracing"
8111version = "3.0.0"
8112source = "registry+https://github.com/rust-lang/crates.io-index"
8113checksum = "567382d8d4e14fb572752863b5cd57a78f9e9a6583332b590b726f061f3ea957"
8114dependencies = [
8115 "log",
8116 "parity-scale-codec 2.0.1",
8117 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8118 "tracing",
8119 "tracing-core",
8120 "tracing-subscriber",
8121]
76198122
7620[[package]]8123[[package]]
7621name = "sp-transaction-pool"8124name = "sp-transaction-pool"
7627 "log",8130 "log",
7628 "parity-scale-codec 2.0.1",8131 "parity-scale-codec 2.0.1",
7629 "serde",8132 "serde",
7630 "sp-api",8133 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7631 "sp-blockchain",8134 "sp-blockchain",
7632 "sp-runtime",8135 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7633 "thiserror",8136 "thiserror",
7634]8137]
76358138
7641 "hash-db",8144 "hash-db",
7642 "memory-db",8145 "memory-db",
7643 "parity-scale-codec 2.0.1",8146 "parity-scale-codec 2.0.1",
7644 "sp-core",8147 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7645 "sp-std",8148 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7646 "trie-db",8149 "trie-db",
7647 "trie-root",8150 "trie-root",
7648]8151]
8152
8153[[package]]
8154name = "sp-trie"
8155version = "3.0.0"
8156source = "registry+https://github.com/rust-lang/crates.io-index"
8157checksum = "b85b7f745da41ef825c6f7b93f1fdc897b03df94a4884adfbb70fbcd0aed1298"
8158dependencies = [
8159 "hash-db",
8160 "memory-db",
8161 "parity-scale-codec 2.0.1",
8162 "sp-core 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8163 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8164 "trie-db",
8165 "trie-root",
8166]
76498167
7650[[package]]8168[[package]]
7651name = "sp-utils"8169name = "sp-utils"
7667 "impl-serde",8185 "impl-serde",
7668 "parity-scale-codec 2.0.1",8186 "parity-scale-codec 2.0.1",
7669 "serde",8187 "serde",
7670 "sp-runtime",8188 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7671 "sp-std",8189 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7672]8190]
8191
8192[[package]]
8193name = "sp-version"
8194version = "3.0.0"
8195source = "registry+https://github.com/rust-lang/crates.io-index"
8196checksum = "dbeffa538a13d715d30e01d57a2636ba32845b737a29a3ea32403576588222e7"
8197dependencies = [
8198 "impl-serde",
8199 "parity-scale-codec 2.0.1",
8200 "serde",
8201 "sp-runtime 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8202 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8203]
76738204
7674[[package]]8205[[package]]
7675name = "sp-wasm-interface"8206name = "sp-wasm-interface"
7678dependencies = [8209dependencies = [
7679 "impl-trait-for-tuples 0.2.1",8210 "impl-trait-for-tuples 0.2.1",
7680 "parity-scale-codec 2.0.1",8211 "parity-scale-codec 2.0.1",
7681 "sp-std",8212 "sp-std 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7682 "wasmi",8213 "wasmi",
7683]8214]
8215
8216[[package]]
8217name = "sp-wasm-interface"
8218version = "3.0.0"
8219source = "registry+https://github.com/rust-lang/crates.io-index"
8220checksum = "b214e125666a6416cf30a70cc6a5dacd34a4e5197f8a3d479f714af7e1dc7a47"
8221dependencies = [
8222 "impl-trait-for-tuples 0.2.1",
8223 "parity-scale-codec 2.0.1",
8224 "sp-std 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
8225 "wasmi",
8226]
76848227
7685[[package]]8228[[package]]
7686name = "spin"8229name = "spin"
7816 "sc-client-api",8359 "sc-client-api",
7817 "sc-rpc-api",8360 "sc-rpc-api",
7818 "serde",8361 "serde",
7819 "sp-api",8362 "sp-api 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7820 "sp-block-builder",8363 "sp-block-builder",
7821 "sp-blockchain",8364 "sp-blockchain",
7822 "sp-core",8365 "sp-core 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7823 "sp-runtime",8366 "sp-runtime 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=frontier)",
7824 "sp-transaction-pool",8367 "sp-transaction-pool",
7825]8368]
78268369
modifiedDockerfile-testsdiffbeforeafterboth
--- a/Dockerfile-tests
+++ b/Dockerfile-tests
@@ -20,11 +20,14 @@
       [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
       nvm install v15.0.1 && \
       nvm use v15.0.1 && \
-      npm install --save @polkadot/api
+      npm install --save @polkadot/api && \ 
+      npm install --save-dev mochawesome
 
 CMD export NVM_DIR="$HOME/.nvm" && \
     [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
     cd tests && \
-    npm install --global yarn && \
+    npm install --global yarn && \ 
+    yarn add mochawesome && \
     yarn install && \
-    yarn test
+    yarn test --reporter mochawesome
+   # yarn test
modifiedci_node.shdiffbeforeafterboth
--- a/ci_node.sh
+++ b/ci_node.sh
@@ -1,10 +1,12 @@
 #!/bin/bash
 
-docker-compose -f docker-compose-tests.yml up -d --build --force-recreate --no-deps
+#docker-compose -f docker-compose-tests.yml up -d --build --force-recreate --no-deps
+
+docker-compose -f docker-compose-tests.yml up -d --build
 
 # validate if testing container finished
-while [ "$(docker ps | grep unit_test | wc -l)" -ge 1 ]; do echo "Unit test in process" && date && sleep 60; done && docker logs unit_test &> /home/polkadot/unit_test.log  & \
-while [ "$(docker ps | grep integration_test | wc -l)" -ge 1 ]; do echo "Integration test in process" && sleep 60; done && docker logs integration_test &> /home/polkadot/integration_test.log
+while [ "$(docker ps | grep unit_test | wc -l)" -ge 1 ]; do echo "Unit tests in process" && sleep 600; done && docker logs unit_test &> /home/polkadot/report-log/unit_test.log  & \
+while [ "$(docker ps | grep integration_test | wc -l)" -ge 1 ]; do echo "Integration tests in process" && sleep 600; done && docker logs integration_test &> /home/polkadot/report-log/integration_test.log
 docker-compose -f docker-compose-tests.yml down -v
-echo "Wrokflow finished"
-docker system prune --force
\ No newline at end of file
+echo "Workflow finished"
+docker system prune --force
modifieddocker-compose-tests.ymldiffbeforeafterboth
--- a/docker-compose-tests.yml
+++ b/docker-compose-tests.yml
@@ -21,14 +21,16 @@
     build:
       context: ./
       dockerfile: Dockerfile-tests
-      volumes:
+    volumes:
       - ./tests/src/config_docker.ts:/nft_parachain/tests/src/config.ts
+      - /home/polkadot/mochawesome-report:/nft_parachain/tests/mochawesome-report
+  #  command: bash -c 'while true; do sleep 20; df -h; done'
     networks:
       - node_test_network
     depends_on:
       - node_validator1
 
-   unit_tests:
+  unit_tests:
     container_name: unit_test
     image: nft_unit_test
     build:
@@ -43,4 +45,4 @@
 networks:
   node_test_network:
     name: node_test_network
-    driver: bridge
\ No newline at end of file
+    driver: bridge
addedpallets/inflation/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/pallets/inflation/Cargo.toml
@@ -0,0 +1,48 @@
+[package]
+authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
+description = 'Unqiue pallet inflation'
+edition = '2018'
+homepage = 'https://substrate.io'
+license = 'Unlicense'
+name = 'pallet-inflation'
+repository = 'https://github.com/usetech-llc/nft_private/'
+version = '3.0.0'
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
+# alias "parity-scale-code" to "codec"
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies]
+serde = { version = "1.0.119" }
+frame-support = { default-features = false, version = '3.0.0' }
+frame-system = { default-features = false, version = '3.0.0' }
+pallet-balances = { default-features = false, version = '3.0.0' }
+pallet-timestamp = { default-features = false, version = '3.0.0' }
+pallet-randomness-collective-flip = { default-features = false, version = '3.0.0' }
+sp-std = { default-features = false, version = '3.0.0' }
+frame-benchmarking = { default-features = false, version = "3.0.0", optional = true }
+sp-core = { default-features = false, version = '3.0.0' }
+sp-io = { default-features = false, version = '3.0.0' }
+sp-runtime = { default-features = false, version = '3.0.0' }
+
+[features]
+default = ['std']
+std = [
+    'codec/std',
+    'serde/std',
+    'frame-support/std',
+    'frame-system/std',
+    'pallet-balances/std',
+    'pallet-timestamp/std',
+    'pallet-randomness-collective-flip/std',
+    'sp-std/std',
+    'sp-runtime/std',
+    'frame-benchmarking/std',
+]
+runtime-benchmarks = ["frame-benchmarking"]
addedpallets/inflation/src/benchmarking.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/inflation/src/benchmarking.rs
@@ -0,0 +1,19 @@
+#![cfg(feature = "runtime-benchmarks")]
+
+use super::*;
+use crate::Module as Inflation;
+
+use sp_std::prelude::*;
+use frame_system::RawOrigin;
+use frame_benchmarking::{benchmarks}; 
+use frame_support::traits::OnInitialize;
+
+benchmarks! {
+
+	on_initialize {
+        let block1: T::BlockNumber = T::BlockNumber::from(1u32);
+        let block2: T::BlockNumber = T::BlockNumber::from(2u32);
+        Inflation::<T>::on_initialize(block1); // Create Treasury account
+	}: { Inflation::<T>::on_initialize(block2); } // Benchmark deposit_into_existing path
+
+}
addedpallets/inflation/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/inflation/src/lib.rs
@@ -0,0 +1,130 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+#![recursion_limit = "1024"]
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(feature = "std")]
+pub use std::*;
+
+#[cfg(feature = "std")]
+pub use serde::*;
+
+#[cfg(feature = "runtime-benchmarks")]
+mod benchmarking;
+
+#[cfg(test)]
+mod tests;
+
+pub use frame_support::{
+	construct_runtime, decl_module, decl_storage,
+	ensure,
+	traits::{
+		Currency, ExistenceRequirement, Get, Imbalance, KeyOwnerProofSystem, OnUnbalanced,
+		Randomness, IsSubType, WithdrawReasons,
+	},
+	weights::{
+		constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
+		DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,
+		WeightToFeePolynomial, DispatchClass,
+	},
+	StorageValue,
+	transactional,
+};
+
+// #[cfg(feature = "runtime-benchmarks")]
+pub use frame_support::dispatch::DispatchResult;
+
+use sp_runtime::{
+	Perbill,
+	traits::{Zero}
+};
+use sp_std::convert::TryInto;
+
+use frame_system::{self as system};
+
+/// The balance type of this module.
+pub type BalanceOf<T> =
+	<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance;
+
+pub const YEAR: u32 = 5_259_600;
+pub const TOTAL_YEARS_UNTIL_FLAT: u32 = 9;
+pub const START_INFLATION_PERCENT: u32 = 10;
+pub const END_INFLATION_PERCENT: u32 = 4;
+
+pub trait Config: system::Config {
+	type Currency: Currency<Self::AccountId>;
+	type TreasuryAccountId: Get<Self::AccountId>;
+	type InflationBlockInterval: Get<Self::BlockNumber>;
+}
+
+decl_storage! {
+	trait Store for Module<T: Config> as Inflation {
+		/// starting year total issuance
+		pub StartingYearTotalIssuance get(fn starting_year_total_issuance): BalanceOf<T>;
+
+		/// Current block inflation
+		pub BlockInflation get(fn block_inflation): BalanceOf<T>;
+	}
+}
+
+decl_module! {
+	pub struct Module<T: Config> for enum Call 
+	where 
+		origin: T::Origin,
+	{
+		const InflationBlockInterval: T::BlockNumber = T::InflationBlockInterval::get();
+
+		fn on_initialize(now: T::BlockNumber) -> Weight 
+		{
+			let mut consumed_weight = 0;
+			let mut add_weight = |reads, writes, weight| {
+				consumed_weight += T::DbWeight::get().reads_writes(reads, writes);
+				consumed_weight += weight;
+			};
+
+			let block_interval: u32 = T::InflationBlockInterval::get().try_into().unwrap_or(0);
+
+			// Recalculate inflation on the first block of the year (or if it is not initialized yet)
+			if (now % T::BlockNumber::from(YEAR)).is_zero() || <BlockInflation<T>>::get().is_zero() {
+				let current_year: u32 = (now / T::BlockNumber::from(YEAR)).try_into().unwrap_or(0);
+
+				let one_percent = Perbill::from_percent(1);
+
+				if current_year <= TOTAL_YEARS_UNTIL_FLAT {
+					let amount: BalanceOf<T> = Perbill::from_rational_approximation(
+						block_interval * (START_INFLATION_PERCENT * TOTAL_YEARS_UNTIL_FLAT - current_year * (START_INFLATION_PERCENT - END_INFLATION_PERCENT)), 
+						YEAR * TOTAL_YEARS_UNTIL_FLAT
+					) * ( one_percent * T::Currency::total_issuance() );
+					<BlockInflation<T>>::put(amount);
+				}
+				else {
+					let amount: BalanceOf<T> = Perbill::from_rational_approximation(
+						block_interval * END_INFLATION_PERCENT, 
+						YEAR
+					) * (one_percent * T::Currency::total_issuance());
+					<BlockInflation<T>>::put(amount);
+				}
+				<StartingYearTotalIssuance<T>>::set(T::Currency::total_issuance());
+
+				// First time deposit
+				T::Currency::deposit_creating(&T::TreasuryAccountId::get(), <BlockInflation<T>>::get());
+
+				add_weight(7, 6, 28_300_000);
+			}
+
+			// Apply inflation every InflationBlockInterval blocks and in the 1st block to initialize Treasury account
+			else if (now % T::BlockNumber::from(block_interval)).is_zero() {
+				T::Currency::deposit_into_existing(&T::TreasuryAccountId::get(), <BlockInflation<T>>::get()).ok();
+
+				add_weight(3, 2, 12_900_000);
+			}
+
+			consumed_weight
+		}
+
+	}
+}
addedpallets/inflation/src/tests.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/inflation/src/tests.rs
@@ -0,0 +1,241 @@
+#[cfg(test)]
+mod tests {
+	use crate as pallet_inflation;
+
+	use frame_system;
+	use frame_support::{traits::{Currency}, parameter_types};
+	use frame_support::{traits::OnInitialize};
+	use sp_core::H256;
+	use sp_runtime::{traits::{BlakeTwo256, IdentityLookup}, testing::Header};
+
+	type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
+	type Block = frame_system::mocking::MockBlock<Test>;
+
+	const YEAR: u64 = 5_259_600;
+
+	parameter_types! {
+		pub const ExistentialDeposit: u64 = 1;
+		pub const MaxLocks: u32 = 50;
+	}
+	
+	impl pallet_balances::Config for Test {
+		type AccountStore = System;
+		type Balance = u64;
+		type DustRemoval = ();
+		type Event = ();
+		type ExistentialDeposit = ExistentialDeposit;
+		type WeightInfo = ();
+		type MaxLocks = MaxLocks;
+	}
+	
+	frame_support::construct_runtime!(
+		pub enum Test where
+			Block = Block,
+			NodeBlock = Block,
+			UncheckedExtrinsic = UncheckedExtrinsic,
+		{
+			Balances: pallet_balances::{Module, Call, Storage},
+			System: frame_system::{Module, Call, Config, Storage, Event<T>},
+			Inflation: pallet_inflation::{Module, Call, Storage},
+		}
+	);
+
+	parameter_types! {
+		pub const BlockHashCount: u64 = 250;
+		pub BlockWeights: frame_system::limits::BlockWeights =
+			frame_system::limits::BlockWeights::simple_max(1024);
+		pub const SS58Prefix: u8 = 42;
+	}
+
+	impl frame_system::Config for Test {
+		type BaseCallFilter = ();
+		type BlockWeights = ();
+		type BlockLength = ();
+		type DbWeight = ();
+		type Origin = Origin;
+		type Call = Call;
+		type Index = u64;
+		type BlockNumber = u64;
+		type Hash = H256;
+		type Hashing = BlakeTwo256;
+		type AccountId = u64;
+		type Lookup = IdentityLookup<Self::AccountId>;
+		type Header = Header;
+		type Event = ();
+		type BlockHashCount = BlockHashCount;
+		type Version = ();
+		type PalletInfo = PalletInfo;
+		type AccountData = pallet_balances::AccountData<u64>;
+		type OnNewAccount = ();
+		type OnKilledAccount = ();
+		type SystemWeightInfo = ();
+		type SS58Prefix = SS58Prefix;
+	}
+
+	parameter_types! {
+		pub TreasuryAccountId: u64 = 1234;
+		pub const InflationBlockInterval: u32 = 100; // every time per how many blocks inflation is applied
+	}
+		
+	impl pallet_inflation::Config for Test {
+		type Currency = Balances;
+		type TreasuryAccountId = TreasuryAccountId;
+		type InflationBlockInterval = InflationBlockInterval;
+	}
+
+	// Build genesis storage according to the mock runtime.
+	pub fn new_test_ext() -> sp_io::TestExternalities {
+		frame_system::GenesisConfig::default().build_storage::<Test>().unwrap().into()
+	}
+
+	#[test]
+	fn inflation_works() {
+		new_test_ext().execute_with(|| {
+			// Total issuance = 1_000_000_000
+			let initial_issuance: u64 = 1_000_000_000;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+
+			// BlockInflation should be set after 1st block and 
+			// first inflation deposit should be equal to BlockInflation
+			Inflation::on_initialize(1);
+			assert!(Inflation::block_inflation() > 0);
+			assert_eq!(Balances::free_balance(1234) - initial_issuance, Inflation::block_inflation());
+		});
+	}
+
+	#[test]
+	fn inflation_second_deposit() {
+		new_test_ext().execute_with(|| {
+			// Total issuance = 1_000_000_000
+			let initial_issuance: u64 = 1_000_000_000;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+			Inflation::on_initialize(1);
+
+			// Next inflation deposit happens when block is multiple of InflationBlockInterval
+			let mut block: u32 = 2;
+			let balance_before: u64 = Balances::free_balance(1234);
+			while block % InflationBlockInterval::get() != 0 {
+				Inflation::on_initialize(block as u64);
+				block += 1;
+			}
+			let balance_just_before: u64 = Balances::free_balance(1234);
+			assert_eq!(balance_before, balance_just_before);
+
+			// The block with inflation
+			Inflation::on_initialize(block as u64);
+			let balance_after: u64 = Balances::free_balance(1234);
+			assert_eq!(balance_after - balance_just_before, Inflation::block_inflation());
+		});
+	}
+
+	#[test]
+	fn inflation_in_1_year() {
+		new_test_ext().execute_with(|| {
+			// Total issuance = 1_000_000_000
+			let initial_issuance: u64 = 1_000_000_000;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+			Inflation::on_initialize(1);
+			let block_inflation_year_0 = Inflation::block_inflation();
+
+			Inflation::on_initialize(YEAR);
+			let block_inflation_year_1 = Inflation::block_inflation();
+
+			// Assert that year 1 inflation is less than year 0
+			assert!(block_inflation_year_0 > block_inflation_year_1);
+		});
+	}
+
+	#[test]
+	fn inflation_in_1_to_9_years() {
+		new_test_ext().execute_with(|| {
+			// Total issuance = 1_000_000_000
+			let initial_issuance: u64 = 1_000_000_000;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+			Inflation::on_initialize(1);
+
+			for year in 1..=9 {
+				let block_inflation_year_before = Inflation::block_inflation();
+				Inflation::on_initialize(YEAR * year);
+				let block_inflation_year_after = Inflation::block_inflation();
+
+				// Assert that next year inflation is less than previous year inflation
+				assert!(block_inflation_year_before > block_inflation_year_after);
+			}
+
+		});
+	}
+
+	#[test]
+	fn inflation_after_year_10_is_flat() {
+		new_test_ext().execute_with(|| {
+			// Total issuance = 1_000_000_000
+			let initial_issuance: u64 = 1_000_000_000;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+			Inflation::on_initialize(YEAR * 9);
+
+			for year in 10..=20 {
+				let block_inflation_year_before = Inflation::block_inflation();
+				Inflation::on_initialize(YEAR * year);
+				let block_inflation_year_after = Inflation::block_inflation();
+
+				// Assert that next year inflation is equal to previous year inflation
+				assert_eq!(block_inflation_year_before, block_inflation_year_after);
+			}
+		});
+	}
+
+	#[test]
+	fn inflation_rate_by_year() {
+		new_test_ext().execute_with(|| {
+			let payouts: u64 = YEAR / InflationBlockInterval::get() as u64;
+
+			// Inflation starts at 10% and does down by 2/3% every year until year 9 (included), 
+			// then it is flat.
+			let payout_by_year: [u64; 11] = [
+				1000,
+				933,
+				867,
+				800,
+				733,
+				667,
+				600,
+				533,
+				467,
+				400,
+				400
+			];
+
+			// For accuracy total issuance = payout0 * payouts * 10;
+			let initial_issuance: u64 = payout_by_year[0] * payouts * 10;
+			let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+			assert_eq!(Balances::free_balance(1234), initial_issuance);
+
+			for year in 0..=10 {
+				// Year first block
+				Inflation::on_initialize(year*YEAR);
+				let mut actual_payout = Inflation::block_inflation();
+				assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+				// Year second block
+				Inflation::on_initialize(year*YEAR+1);
+				actual_payout = Inflation::block_inflation();
+				assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+				// Year middle block
+				Inflation::on_initialize(year*YEAR + YEAR/2);
+				actual_payout = Inflation::block_inflation();
+				assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+				// Year last block
+				Inflation::on_initialize((year + 1)*YEAR-1);
+				actual_payout = Inflation::block_inflation();
+				assert_eq!(actual_payout, payout_by_year[year as usize]);
+			}
+		});
+	}
+}
modifiedpallets/nft/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/nft/src/benchmarking.rs
+++ b/pallets/nft/src/benchmarking.rs
@@ -1,420 +1,419 @@
-#[cfg(feature = "runtime-benchmarks")]
-// mod benchmarking {
-    use super::*;
-    use sp_std::prelude::*;
-    use frame_system::RawOrigin;
-    // use frame_support::{ensure, traits::OnFinalize};
-    use frame_benchmarking::{benchmarks, account, whitelisted_caller};  // , TrackedStorageKey, 
-    use crate::Module as Nft;
+#![cfg(feature = "runtime-benchmarks")]
 
-    const SEED: u32 = 1;
+use super::*;
+use crate::Module as Nft;
 
-    fn default_nft_data() -> CreateItemData {
-        CreateItemData::NFT(CreateNftData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })
-    }
-    
-    fn default_fungible_data () -> CreateItemData {
-        CreateItemData::Fungible(CreateFungibleData { })
-    }
-    
-    fn default_re_fungible_data () -> CreateItemData {
-        CreateItemData::ReFungible(CreateReFungibleData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })
-    }
+use sp_std::prelude::*;
+use frame_system::RawOrigin;
+use frame_benchmarking::{benchmarks, account, whitelisted_caller};  // , TrackedStorageKey, 
 
+const SEED: u32 = 1;
+/*
+fn default_nft_data() -> CreateItemData {
+    CreateItemData::NFT(CreateNftData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })
+}
 
-    benchmarks! {
+fn default_fungible_data () -> CreateItemData {
+    CreateItemData::Fungible(CreateFungibleData { })
+}
 
-        _ {}
+fn default_re_fungible_data () -> CreateItemData {
+    CreateItemData::ReFungible(CreateReFungibleData { const_data: vec![1, 2, 3], variable_data: vec![3, 2, 1] })
+}
+*/
 
-        create_collection {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = account("caller", 0, SEED);
-        }: create_collection(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)
-        verify {
-			assert_eq!(Nft::<T>::collection(2).owner, caller);
-        }
+benchmarks! {
 
-        destroy_collection {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: destroy_collection(RawOrigin::Signed(caller.clone()), 2)
+    create_collection {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = account("caller", 0, SEED);
+    }: _(RawOrigin::Signed(caller.clone()), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode)
+/*
+    verify {
+        assert_eq!(Nft::<T>::collection_id(2).owner, caller);
+    }
+    destroy_collection {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: _(RawOrigin::Signed(caller.clone()), 2)
 
-        add_to_white_list {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            let whitelist_account: T::AccountId = account("admin", 0, SEED);
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)
+    add_to_white_list {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        let whitelist_account: T::AccountId = account("admin", 0, SEED);
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: add_to_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)
 
-        remove_from_white_list {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            let whitelist_account: T::AccountId = account("admin", 0, SEED);
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;
-        }: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)
+    remove_from_white_list {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        let whitelist_account: T::AccountId = account("admin", 0, SEED);
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        Nft::<T>::add_to_white_list(RawOrigin::Signed(caller.clone()).into(), 2, whitelist_account.clone())?;
+    }: remove_from_white_list(RawOrigin::Signed(caller.clone()), 2, whitelist_account)
 
-        set_public_access_mode {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)
+    set_public_access_mode {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_public_access_mode(RawOrigin::Signed(caller.clone()), 2, AccessMode::WhiteList)
 
-        set_mint_permission {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)
+    set_mint_permission {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_mint_permission(RawOrigin::Signed(caller.clone()), 2, true)
 
-        change_collection_owner {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let new_owner: T::AccountId = account("admin", 0, SEED);
-        }: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)
+    change_collection_owner {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let new_owner: T::AccountId = account("admin", 0, SEED);
+    }: change_collection_owner(RawOrigin::Signed(caller.clone()), 2, new_owner)
 
-        add_collection_admin {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let new_admin: T::AccountId = account("admin", 0, SEED);
-        }: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)
+    add_collection_admin {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let new_admin: T::AccountId = account("admin", 0, SEED);
+    }: add_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)
 
-        remove_collection_admin {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let new_admin: T::AccountId = account("admin", 0, SEED);
-            Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;
-        }: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)
+    remove_collection_admin {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let new_admin: T::AccountId = account("admin", 0, SEED);
+        Nft::<T>::add_collection_admin(RawOrigin::Signed(caller.clone()).into(), 2, new_admin.clone())?;
+    }: remove_collection_admin(RawOrigin::Signed(caller.clone()), 2, new_admin)
 
-        set_collection_sponsor {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())
+    set_collection_sponsor {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_collection_sponsor(RawOrigin::Signed(caller.clone()), 2, caller.clone())
 
-        confirm_sponsorship {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;
-        }: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)
+    confirm_sponsorship {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;
+    }: confirm_sponsorship(RawOrigin::Signed(caller.clone()), 2)
 
-        remove_collection_sponsor {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;
-            Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;
-        }: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)
+    remove_collection_sponsor {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        Nft::<T>::set_collection_sponsor(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone())?;
+        Nft::<T>::confirm_sponsorship(RawOrigin::Signed(caller.clone()).into(), 2)?;
+    }: remove_collection_sponsor(RawOrigin::Signed(caller.clone()), 2)
 
-        // nft item
-        create_item_nft {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_nft_data();
-            
-        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
+    // nft item
+    create_item_nft {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_nft_data();
+        
+    }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
 
-        #[extra]
-        create_item_nft_large {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            let mut nft_data = CreateNftData {
-                const_data: vec![],
-                variable_data: vec![]
-            };
-            for i in 0..1998 {
-                nft_data.const_data.push(10);
-                nft_data.variable_data.push(10);
-            }
-            let data = CreateItemData::NFT(nft_data);
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    #[extra]
+    create_item_nft_large {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        let mut nft_data = CreateNftData {
+            const_data: vec![],
+            variable_data: vec![]
+        };
+        for i in 0..1998 {
+            nft_data.const_data.push(10);
+            nft_data.variable_data.push(10);
+        }
+        let data = CreateItemData::NFT(nft_data);
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
 
-        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
+    }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
 
-        // fungible item
-        create_item_fungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::Fungible(3);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_fungible_data();
+    // fungible item
+    create_item_fungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::Fungible(3);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_fungible_data();
 
-        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
+    }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
 
-        // refungible item
-        create_item_refungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_re_fungible_data();
+    // refungible item
+    create_item_refungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_re_fungible_data();
 
-        }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
+    }: create_item(RawOrigin::Signed(caller.clone()), 2, caller.clone(), data)
 
-        burn_item {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_nft_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    burn_item {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_nft_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)
+    }: burn_item(RawOrigin::Signed(caller.clone()), 2, 1)
 
-        transfer_nft {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_nft_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    transfer_nft {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_nft_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
-        
-        transfer_fungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::Fungible(3);
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_fungible_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
+    
+    transfer_fungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::Fungible(3);
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_fungible_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
+    }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
 
-        transfer_refungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_re_fungible_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    transfer_refungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_re_fungible_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
+    }: transfer(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1, 1)
 
-        approve {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_re_fungible_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    approve {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_re_fungible_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)
+    }: approve(RawOrigin::Signed(caller.clone()), recipient.clone(), 2, 1)
 
-        // Nft
-        transfer_from_nft {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_nft_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
-            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
+    // Nft
+    transfer_from_nft {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_nft_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+        Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
 
-        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
+    }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
 
-        // Fungible
-        transfer_from_fungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::Fungible(3);
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_fungible_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
-            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
+    // Fungible
+    transfer_from_fungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::Fungible(3);
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_fungible_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+        Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
 
-        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
+    }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
 
-        // ReFungible
-        transfer_from_refungible {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let recipient: T::AccountId = account("recipient", 0, SEED);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_re_fungible_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
-            Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
+    // ReFungible
+    transfer_from_refungible {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let recipient: T::AccountId = account("recipient", 0, SEED);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_re_fungible_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+        Nft::<T>::approve(RawOrigin::Signed(caller.clone()).into(), recipient.clone(), 2, 1)?;
 
-        }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
+    }: transfer_from(RawOrigin::Signed(caller.clone()), caller.clone(), recipient.clone(), 2, 1, 1)
 
-        enable_contract_sponsoring {
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+    enable_contract_sponsoring {
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
 
-        }: enable_contract_sponsoring(RawOrigin::Signed(caller.clone()), caller.clone(), true)
+    }: enable_contract_sponsoring(RawOrigin::Signed(caller.clone()), caller.clone(), true)
 
-        set_offchain_schema {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    set_offchain_schema {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
 
-        }: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
+    }: set_offchain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
 
-        set_const_on_chain_schema {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
-        
-        set_variable_on_chain_schema {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::ReFungible(3);
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
+    set_const_on_chain_schema {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
+    
+    set_variable_on_chain_schema {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::ReFungible(3);
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), 2, [1,2,3].to_vec())
 
-        set_variable_meta_data {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let data = default_nft_data();
-            Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
+    set_variable_meta_data {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let data = default_nft_data();
+        Nft::<T>::create_item(RawOrigin::Signed(caller.clone()).into(), 2, caller.clone(), data)?;
 
-        }: set_variable_meta_data(RawOrigin::Signed(caller.clone()), 2, 1, [1, 2, 3].to_vec())
+    }: set_variable_meta_data(RawOrigin::Signed(caller.clone()), 2, 1, [1, 2, 3].to_vec())
 
-        set_schema_version {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-        }: set_schema_version(RawOrigin::Signed(caller.clone()), 2, SchemaVersion::Unique)
+    set_schema_version {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    }: set_schema_version(RawOrigin::Signed(caller.clone()), 2, SchemaVersion::Unique)
 
-        set_chain_limits {
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            let limits = ChainLimits { 
-                collection_numbers_limit: 0,
-                account_token_ownership_limit: 0,
-                collections_admins_limit: 0,
-                custom_data_limit: 0,
-                nft_sponsor_transfer_timeout: 0,
-                fungible_sponsor_transfer_timeout: 0,
-                refungible_sponsor_transfer_timeout: 0
-            };
-        }: set_chain_limits(RawOrigin::Signed(caller.clone()), limits)
+    set_chain_limits {
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        let limits = ChainLimits { 
+            collection_numbers_limit: 0,
+            account_token_ownership_limit: 0,
+            collections_admins_limit: 0,
+            custom_data_limit: 0,
+            nft_sponsor_transfer_timeout: 0,
+            fungible_sponsor_transfer_timeout: 0,
+            refungible_sponsor_transfer_timeout: 0
+        };
+    }: set_chain_limits(RawOrigin::Signed(caller.clone()), limits)
 
-        set_contract_sponsoring_rate_limit {
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-            let block_number: T::BlockNumber = 0.into();   
-        }: set_contract_sponsoring_rate_limit(RawOrigin::Signed(caller.clone()), caller.clone(), block_number)
+    set_contract_sponsoring_rate_limit {
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+        let block_number: T::BlockNumber = 0.into();   
+    }: set_contract_sponsoring_rate_limit(RawOrigin::Signed(caller.clone()), caller.clone(), block_number)
 
-        set_collection_limits{
-            let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
-            let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
-            let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
-            let mode: CollectionMode = CollectionMode::NFT;
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
-     
-            let cl = CollectionLimits {
-                account_token_ownership_limit: 0,
-                sponsored_data_size: 0,
-                token_limit: 0,
-                sponsor_transfer_timeout: 0
-            };
+    set_collection_limits{
+        let col_name1: Vec<u16> = "Test1".encode_utf16().collect::<Vec<u16>>();
+        let col_desc1: Vec<u16> = "TestDescription1".encode_utf16().collect::<Vec<u16>>();
+        let token_prefix1: Vec<u8> = b"token_prefix1".to_vec();
+        let mode: CollectionMode = CollectionMode::NFT;
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::create_collection(RawOrigin::Signed(caller.clone()).into(), col_name1.clone(), col_desc1.clone(), token_prefix1.clone(), mode.clone())?;
+    
+        let cl = CollectionLimits {
+            account_token_ownership_limit: 0,
+            sponsored_data_size: 0,
+            token_limit: 0,
+            sponsor_transfer_timeout: 0
+        };
 
-        }: set_collection_limits(RawOrigin::Signed(caller.clone()), 2, cl)
+    }: set_collection_limits(RawOrigin::Signed(caller.clone()), 2, cl)
 
-        add_to_contract_white_list{
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-        }: add_to_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())
+    add_to_contract_white_list{
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+    }: add_to_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())
 
-        remove_from_contract_white_list{
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-            Nft::<T>::add_to_contract_white_list(RawOrigin::Signed(caller.clone()).into(), caller.clone(), caller.clone())?;
-        }: remove_from_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())
+    remove_from_contract_white_list{
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+        Nft::<T>::add_to_contract_white_list(RawOrigin::Signed(caller.clone()).into(), caller.clone(), caller.clone())?;
+    }: remove_from_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), caller.clone())
 
-        toggle_contract_white_list{
-            let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
-        }: toggle_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), true)
-}
\ No newline at end of file
+    toggle_contract_white_list{
+        let caller: T::AccountId = T::AccountId::from(whitelisted_caller());
+    }: toggle_contract_white_list(RawOrigin::Signed(caller.clone()), caller.clone(), true)
+*/
+}
modifiedruntime/Cargo.tomldiffbeforeafterboth
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -26,6 +26,7 @@
 
 # local dependencies
 pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }
+pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }
 
 # Substrate dependencies
 frame-benchmarking = { default-features = false, optional = true, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
@@ -75,6 +76,7 @@
     'pallet-balances/runtime-benchmarks',
     'pallet-timestamp/runtime-benchmarks',
     'pallet-nft/runtime-benchmarks',
+    'pallet-inflation/runtime-benchmarks',
     'sp-runtime/runtime-benchmarks',
 ]
 std = [
@@ -100,6 +102,7 @@
     'pallet-evm/std',
     'pallet-ethereum/std',
 
+    'pallet-inflation/std',
     'pallet-nft/std',
     'fp-rpc/std',
     'sp-api/std',
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -576,7 +576,7 @@
 	pub const CollectionCreationPrice: Balance = 100 * UNIQUE;
 }
 
-/// Used for the module nft in `./nft.rs`
+/// Used for the pallet nft in `./nft.rs`
 impl pallet_nft::Config for Runtime {
 	type Event = Event;
 	type WeightInfo = nft_weights::WeightInfo;
@@ -594,6 +594,21 @@
 	type EthereumTransactionSender = pallet_ethereum::Module<Runtime>;
 }
 
+/// Reimport pallet inflation
+extern crate pallet_inflation;
+pub use pallet_inflation::*;
+
+parameter_types! {
+	pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied
+}
+
+/// Used for the pallet inflation
+impl pallet_inflation::Config for Runtime {
+	type Currency = Balances;
+	type TreasuryAccountId = TreasuryAccountId;
+	type InflationBlockInterval = InflationBlockInterval;
+}
+
 construct_runtime!(
 	pub enum Runtime where
 		Block = Block,
@@ -611,6 +626,7 @@
 		Balances: pallet_balances::{Module, Call, Storage, Config<T>, Event<T>},
 		TransactionPayment: pallet_transaction_payment::{Module, Storage},
 		Sudo: pallet_sudo::{Module, Call, Config<T>, Storage, Event<T>},
+		Inflation: pallet_inflation::{Module, Call, Storage},
 		Nft: pallet_nft::{Module, Call, Config<T>, Storage, Event<T>},
 		Treasury: pallet_treasury::{Module, Call, Storage, Config, Event<T>},
 		Vesting: pallet_vesting::{Module, Call, Config<T>, Storage, Event<T>},
@@ -954,6 +970,7 @@
 			let params = (&config, &whitelist);
 
 			add_benchmark!(params, batches, pallet_nft, Nft);
+			add_benchmark!(params, batches, pallet_inflation, Inflation);
 
 			if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
 			Ok(batches)
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -21,6 +21,7 @@
     "test": "mocha --timeout 9999999 -r ts-node/register ./**/*.test.ts",
     "load": "mocha --timeout 9999999 -r ts-node/register ./**/*.load.ts",
     "loadTransfer": "ts-node src/transfer.nload.ts",
+    "testCollision": "mocha --timeout 9999999 -r ts-node/register ./src/collision-tests/*.test.ts", 
     "testAddCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/addCollectionAdmin.test.ts",
     "testSetSchemaVersion": "mocha --timeout 9999999 -r ts-node/register ./**/setSchemaVersion.test.ts",
     "testSetVariableMetaData": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetaData.test.ts",
@@ -49,7 +50,9 @@
     "testSetContractSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setContractSponsoringRateLimit.test.ts",
     "testSetOffchainSchema": "mocha --timeout 9999999 -r ts-node/register ./**/setOffchainSchema.test.ts",
     "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",
-    "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts"
+    "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",
+    "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",
+    "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts"
   },
   "author": "",
   "license": "SEE LICENSE IN ../LICENSE",
modifiedtests/src/check-event/createMultipleItemsEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createMultipleItemsEvent.test.ts
+++ b/tests/src/check-event/createMultipleItemsEvent.test.ts
@@ -17,7 +17,7 @@
 
 describe('Create Multiple Items Event event ', () => {
   let Alice: IKeyringPair;
-  const checkSection = 'ItemCreated (x3)';
+  const checkSection = 'ItemCreated';
   const checkTreasury = 'Deposit';
   const checkSystem = 'ExtrinsicSuccess';
   before(async () => {
addedtests/src/collision-tests/admVsOwnerChanges.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/admVsOwnerChanges.test.ts
@@ -0,0 +1,55 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import { alicesPublicKey, bobsPublicKey } from '../accounts';
+import getBalance from '../substrate/get-balance';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import waitNewBlocks from '../substrate/wait-new-blocks';
+import {
+  createCollectionExpectSuccess,
+  createItemExpectSuccess,
+  setCollectionSponsorExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Admin vs Owner changes token: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('The collection admin changes the owner of the token and in the same block the current owner transfers the token to another address ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTxBob);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      const changeAdminTxFerdie = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);
+      await submitTransactionAsync(Bob, changeAdminTxFerdie);
+      const itemId = await createItemExpectSuccess(Ferdie, collectionId, 'NFT');
+      //
+      const changeOwner = api.tx.nft.transferFrom(Ferdie.address, Bob.address, collectionId, itemId, 1);
+      const approve = api.tx.nft.approve(Bob.address, collectionId, itemId, 1);
+      const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);
+      await Promise.all
+      ([
+        changeOwner.signAndSend(Alice),
+        approve.signAndSend(Bob),
+        sendItem.signAndSend(Ferdie),
+      ]);
+      const itemBefore: any = await api.query.nft.nftItemList(collectionId, itemId);
+      expect(itemBefore.Owner).not.to.be.eq(Bob.address);
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/admVsOwnerData.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/admVsOwnerData.test.ts
@@ -0,0 +1,54 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import { alicesPublicKey, bobsPublicKey } from '../accounts';
+import getBalance from '../substrate/get-balance';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import waitNewBlocks from '../substrate/wait-new-blocks';
+import {
+  createCollectionExpectSuccess,
+  createItemExpectSuccess,
+  setCollectionSponsorExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Admin vs Owner changes the data in the token: ', () => {
+  it('The collection admin changes the data in the token and in the same block the token owner also changes the data in it ', async () => {
+    await usingApi(async (api) => {
+      const AliceData = 1;
+      const BobData = 2;
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTx);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
+      //
+      // tslint:disable-next-line: max-line-length
+      const AliceTx = api.tx.nft.setVariableMetaData(collectionId, itemId, AliceData.toString());
+      // tslint:disable-next-line: max-line-length
+      const BobTx = api.tx.nft.setVariableMetaData(collectionId, itemId, BobData.toString());
+      await Promise.all
+      ([
+        AliceTx.signAndSend(Alice),
+        BobTx.signAndSend(Bob),
+      ]);
+      const item: any = await api.query.nft.nftItemList(collectionId, itemId);
+      expect(item.VariableData).not.to.be.eq(null); // Pseudo-random selection of one of two values
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/admVsOwnerTake.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/admVsOwnerTake.test.ts
@@ -0,0 +1,54 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import { alicesPublicKey, bobsPublicKey } from '../accounts';
+import getBalance from '../substrate/get-balance';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import waitNewBlocks from '../substrate/wait-new-blocks';
+import {
+  createCollectionExpectSuccess,
+  createItemExpectSuccess,
+  setCollectionSponsorExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Admin vs Owner take token: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('The collection admin burns the token and in the same block the token owner performs a transaction on it ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTx);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
+      //
+      const sendItem = api.tx.nft.transfer(Ferdie.address, collectionId, itemId, 1);
+      const burnItem = api.tx.nft.burnItem(collectionId, itemId, 1);
+      await Promise.all
+      ([
+        sendItem.signAndSend(Bob),
+        burnItem.signAndSend(Alice),
+      ]);
+      await timeoutPromise(10000);
+      let itemBurn: boolean = false;
+      itemBurn = (await (api.query.nft.nftItemList(collectionId, itemId))).toJSON() as boolean;
+      // tslint:disable-next-line: no-unused-expression
+      expect(itemBurn).to.be.null;
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/adminDestroyCollection.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/adminDestroyCollection.test.ts
@@ -0,0 +1,61 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import BN from 'bn.js';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
+import {
+  createCollectionExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+interface ITokenDataType {
+  Owner: number[];
+  ConstData: number[];
+  VariableData: number[];
+}
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+let Charlie: IKeyringPair;
+let Eve: IKeyringPair;
+let Dave: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+    Charlie = privateKey('//Charlie');
+    Eve = privateKey('//Eve');
+    Dave = privateKey('//Dave');
+  });
+});
+
+describe('Deleting a collection while add address to whitelist: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('Adding an address to the collection whitelist in a block by the admin, and deleting the collection by the owner ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTx);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      await timeoutPromise(10000);
+      //
+      const addWhitelistAdm = api.tx.nft.addToWhiteList(collectionId, Ferdie.address);
+      const destroyCollection = api.tx.nft.destroyCollection(collectionId);
+      await Promise.all
+      ([
+        addWhitelistAdm.signAndSend(Bob),
+        destroyCollection.signAndSend(Alice),
+      ]);
+      await timeoutPromise(10000);
+      let whiteList: boolean = false;
+      whiteList = (await api.query.nft.whiteList(collectionId, Ferdie.address)).toJSON() as boolean;
+      // tslint:disable-next-line: no-unused-expression
+      expect(whiteList).to.be.false;
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/adminLimitsOff.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/adminLimitsOff.test.ts
@@ -0,0 +1,74 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import BN from 'bn.js';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
+import {
+  createCollectionExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+interface ITokenDataType {
+  Owner: number[];
+  ConstData: number[];
+  VariableData: number[];
+}
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+let Charlie: IKeyringPair;
+let Eve: IKeyringPair;
+let Dave: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+    Charlie = privateKey('//Charlie');
+    Eve = privateKey('//Eve');
+    Dave = privateKey('//Dave');
+  });
+});
+
+describe('Admin limit exceeded collection: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('In one block, the owner and admin add new admins to the collection more than the limit ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+
+      const chainLimit = await api.query.nft.chainLimit() as unknown as { CollectionAdminsLimit: BN };
+      const chainAdminLimit = chainLimit.CollectionAdminsLimit.toNumber();
+      expect(chainAdminLimit).to.be.equal(5);
+
+      const changeAdminTx1 = api.tx.nft.addCollectionAdmin(collectionId, Eve.address);
+      await submitTransactionAsync(Alice, changeAdminTx1);
+      const changeAdminTx2 = api.tx.nft.addCollectionAdmin(collectionId, Dave.address);
+      await submitTransactionAsync(Alice, changeAdminTx2);
+      const changeAdminTx3 = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTx3);
+
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      //
+      const addAdmOne = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);
+      const addAdmTwo = api.tx.nft.addCollectionAdmin(collectionId, Charlie.address);
+      await Promise.all
+      ([
+        addAdmOne.signAndSend(Bob),
+        addAdmTwo.signAndSend(Alice),
+      ]);
+      await timeoutPromise(10000);
+      const changeAdminTx4 = api.tx.nft.addCollectionAdmin(collectionId, Alice.address);
+      // tslint:disable-next-line: no-unused-expression
+      expect(submitTransactionExpectFailAsync(Alice, changeAdminTx4)).to.be.rejected;
+
+      const adminListAfterAddAdmin: any = (await api.query.nft.adminList(collectionId));
+      expect(adminListAfterAddAdmin).to.be.contains(Eve.address);
+      expect(adminListAfterAddAdmin).to.be.contains(Ferdie.address);
+      expect(adminListAfterAddAdmin).not.to.be.contains(Alice.address);
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/adminRightsOff.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/adminRightsOff.test.ts
@@ -0,0 +1,62 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import BN from 'bn.js';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
+import {
+  createCollectionExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+interface ITokenDataType {
+  Owner: number[];
+  ConstData: number[];
+  VariableData: number[];
+}
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+let Charlie: IKeyringPair;
+let Eve: IKeyringPair;
+let Dave: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+    Charlie = privateKey('//Charlie');
+    Eve = privateKey('//Eve');
+    Dave = privateKey('//Dave');
+  });
+});
+
+describe('Deprivation of admin rights: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('In the block, the collection admin adds a token or changes data, and the collection owner deprives the admin of rights ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTx);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      await timeoutPromise(10000);
+      //
+      const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];
+      const addItemAdm = api.tx.nft.createMultipleItems(collectionId, Bob.address, args);
+      const removeAdm = api.tx.nft.removeCollectionAdmin(collectionId, Bob.address);
+      await Promise.all
+      ([
+        addItemAdm.signAndSend(Bob),
+        removeAdm.signAndSend(Alice),
+      ]);
+      await timeoutPromise(10000);
+      const itemsListIndex = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
+      expect(itemsListIndex.toNumber()).to.be.equal(0);
+      const adminList: any = (await api.query.nft.adminList(collectionId));
+      expect(adminList).not.to.be.contains(Bob.address);
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/setSponsorNewOwner.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/setSponsorNewOwner.test.ts
@@ -0,0 +1,53 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import BN from 'bn.js';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
+import {
+  createCollectionExpectSuccess, createItemExpectSuccess, setCollectionSponsorExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+interface ITokenDataType {
+  Owner: number[];
+  ConstData: number[];
+  VariableData: number[];
+}
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Sponsored with new owner ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('Confirmation of sponsorship of a collection in a block with a change in the owner of the collection: ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      await setCollectionSponsorExpectSuccess(collectionId, Bob.address);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      await timeoutPromise(10000);
+      //
+      const confirmSponsorship = api.tx.nft.confirmSponsorship(collectionId);
+      const changeCollectionOwner = api.tx.nft.changeCollectionOwner(collectionId, Ferdie.address);
+      await Promise.all
+      ([
+        confirmSponsorship.signAndSend(Bob),
+        changeCollectionOwner.signAndSend(Alice),
+      ]);
+      await timeoutPromise(10000);
+      const collection: any = (await api.query.nft.collectionById(collectionId)).toJSON();
+      expect(collection.Sponsorship.Confirmed).to.be.eq(Bob.address);
+      expect(collection.Owner).to.be.eq(Ferdie.address);
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/sponsorPayments.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/sponsorPayments.test.ts
@@ -0,0 +1,58 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import { alicesPublicKey, bobsPublicKey } from '../accounts';
+import getBalance from '../substrate/get-balance';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import waitNewBlocks from '../substrate/wait-new-blocks';
+import {
+  confirmSponsorshipExpectSuccess,
+  createCollectionExpectSuccess,
+  createItemExpectSuccess,
+  setCollectionSponsorExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Payment of commission if one block: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('Payment of commission if one block contains transactions for payment from the sponsor\'s balance and his (sponsor\'s) exclusion from the collection ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      await submitTransactionAsync(Alice, changeAdminTxBob);
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
+      await setCollectionSponsorExpectSuccess(collectionId, Bob.address);
+      await confirmSponsorshipExpectSuccess(collectionId, '//Bob');
+      //
+      const [alicesBalanceBefore, bobsBalanceBefore] = await getBalance(api, [alicesPublicKey, bobsPublicKey]);
+      const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);
+      const revokeSponsor = api.tx.nft.removeCollectionSponsor(collectionId);
+      await Promise.all
+      ([
+        sendItem.signAndSend(Bob),
+        revokeSponsor.signAndSend(Alice),
+      ]);
+      const [alicesBalanceAfter, bobsBalanceAfter] = await getBalance(api, [alicesPublicKey, bobsPublicKey]);
+      // tslint:disable-next-line:no-unused-expression
+      expect(alicesBalanceAfter === alicesBalanceBefore).to.be.true;
+      // tslint:disable-next-line:no-unused-expression
+      expect(bobsBalanceAfter === bobsBalanceBefore).to.be.true;
+      await timeoutPromise(20000);
+    });
+  });
+});
addedtests/src/collision-tests/tokenLimitsOff.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/tokenLimitsOff.test.ts
@@ -0,0 +1,84 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import BN from 'bn.js';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import {
+  addToWhiteListExpectSuccess,
+  createCollectionExpectSuccess,
+  getCreateItemResult,
+  setMintPermissionExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+interface ITokenDataType {
+  Owner: number[];
+  ConstData: number[];
+  VariableData: number[];
+}
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+const AccountTokenOwnershipLimit = 4;
+const SponsoredMintSize = 4294967295;
+const TokenLimit = 4;
+const SponsorTimeout = 14400;
+const OwnerCanTransfer = false;
+const OwnerCanDestroy = false;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Token limit exceeded collection: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('The number of tokens created in the collection from different addresses exceeds the allowed collection limit ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      await setMintPermissionExpectSuccess(Alice, collectionId, true);
+      await addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);
+      await addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);
+      const setCollectionLim = api.tx.nft.setCollectionLimits(
+        collectionId,
+        {
+          AccountTokenOwnershipLimit,
+          SponsoredMintSize,
+          TokenLimit,
+          // tslint:disable-next-line: object-literal-sort-keys
+          SponsorTimeout,
+          OwnerCanTransfer,
+          OwnerCanDestroy,
+        },
+      );
+      const subTx = await submitTransactionAsync(Alice, setCollectionLim);
+      const subTxTesult = getCreateItemResult(subTx);
+      // tslint:disable-next-line:no-unused-expression
+      expect(subTxTesult.success).to.be.true;
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      await timeoutPromise(10000);
+      //
+      const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];
+      const mintItemOne = api.tx.nft
+        .createMultipleItems(collectionId, Ferdie.address, args);
+      const mintItemTwo = api.tx.nft
+        .createMultipleItems(collectionId, Bob.address, args);
+      await Promise.all
+      ([
+        mintItemOne.signAndSend(Ferdie),
+        mintItemTwo.signAndSend(Bob),
+      ]);
+      await timeoutPromise(10000);
+      const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
+      expect(itemsListIndexAfter.toNumber()).to.be.equal(3);
+      // TokenLimit = 4. The first transaction is successful. The second should fail.
+      await timeoutPromise(10000);
+    });
+  });
+});
addedtests/src/collision-tests/turnsOffMinting.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/collision-tests/turnsOffMinting.test.ts
@@ -0,0 +1,50 @@
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from '../substrate/privateKey';
+import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
+import waitNewBlocks from '../substrate/wait-new-blocks';
+import {
+  addToWhiteListExpectSuccess,
+  createCollectionExpectSuccess,
+  setMintPermissionExpectSuccess,
+} from '../util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+let Alice: IKeyringPair;
+let Bob: IKeyringPair;
+let Ferdie: IKeyringPair;
+
+before(async () => {
+  await usingApi(async () => {
+    Alice = privateKey('//Alice');
+    Bob = privateKey('//Bob');
+    Ferdie = privateKey('//Ferdie');
+  });
+});
+
+describe('Turns off minting mode: ', () => {
+  // tslint:disable-next-line: max-line-length
+  it('The collection owner turns off minting mode and there are minting transactions in the same block ', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess();
+      const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
+      await setMintPermissionExpectSuccess(Alice, collectionId, true);
+      await addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);
+      //
+      const mintItem = api.tx.nft.createItem(collectionId, Ferdie.address, 'NFT');
+      const offMinting = api.tx.nft.setMintPermission(collectionId, false);
+      await Promise.all
+      ([
+        mintItem.signAndSend(Ferdie),
+        offMinting.signAndSend(Alice),
+      ]);
+      let itemList: boolean = false;
+      itemList = (await (api.query.nft.nftItemList(collectionId, mintItem))).toJSON() as boolean;
+      // tslint:disable-next-line: no-unused-expression
+      expect(itemList).to.be.null;
+      await timeoutPromise(20000);
+    });
+  });
+});
modifiedtests/src/creditFeesToTreasury.test.tsdiffbeforeafterboth
--- a/tests/src/creditFeesToTreasury.test.ts
+++ b/tests/src/creditFeesToTreasury.test.ts
@@ -18,6 +18,7 @@
 } from './util/helpers';
 
 import { default as waitNewBlocks } from './substrate/wait-new-blocks';
+import { ApiPromise } from '@polkadot/api';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -30,6 +31,25 @@
 let alice: IKeyringPair;
 let bob: IKeyringPair;
 
+// Skip the inflation block pauses if the block is close to inflation block 
+// until the inflation happens
+function skipInflationBlock(api: ApiPromise): Promise<void> {
+  const promise = new Promise<void>(async (resolve, reject) => {
+    const blockInterval = parseInt((await api.consts.inflation.inflationBlockInterval).toString());
+    const unsubscribe = await api.rpc.chain.subscribeNewHeads(head => {
+      const currentBlock = parseInt(head.number.toString());
+      if (currentBlock % blockInterval < blockInterval - 10) {
+        unsubscribe();
+        resolve();
+      } else {
+        console.log(`Skipping inflation block, current block: ${currentBlock}`);
+      }
+    });
+  });
+
+  return promise;
+}
+
 describe('integration test: Fees must be credited to Treasury:', () => {
   before(async () => {
     await usingApi(async (api) => {
@@ -40,6 +60,7 @@
 
   it('Total issuance does not change', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const totalBefore = new BigNumber((await api.query.balances.totalIssuance()).toString());
@@ -59,6 +80,7 @@
 
   it('Sender balance decreased by fee+sent amount, Treasury balance increased by fee', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const alicePrivateKey = privateKey('//Alice');
@@ -81,6 +103,7 @@
 
   it('Treasury balance increased by failed tx fee', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const bobPrivateKey = privateKey('//Bob');
@@ -101,6 +124,7 @@
 
   it('NFT Transactions also send fees to Treasury', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const treasuryBalanceBefore = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
@@ -119,6 +143,7 @@
 
   it('Fees are sane', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const aliceBalanceBefore = new BigNumber((await api.query.system.account(alicesPublicKey)).data.free.toString());
@@ -135,6 +160,7 @@
 
   it('NFT Transfer fee is close to 0.1 Unique', async () => {
     await usingApi(async (api) => {
+      await skipInflationBlock(api);
       await waitNewBlocks(api, 1);
 
       const collectionId = await createCollectionExpectSuccess();
@@ -147,7 +173,7 @@
 
       // console.log(fee.toString());
       const expectedTransferFee = 0.1;
-      const tolerance = 0.00001;
+      const tolerance = 0.001;
       expect(fee.dividedBy(1e15).minus(expectedTransferFee).abs().toNumber()).to.be.lessThan(tolerance);
     });
   });
addedtests/src/inflation.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/inflation.test.ts
@@ -0,0 +1,43 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import { default as usingApi } from "./substrate/substrate-api";
+import privateKey from "./substrate/privateKey";
+import { BigNumber } from 'bignumber.js';
+import { IKeyringPair } from '@polkadot/types/types';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+let alice: IKeyringPair;
+let bob: IKeyringPair;
+
+describe('integration test: Inflation', () => {
+  before(async () => {
+    await usingApi(async (api) => {
+      alice = privateKey('//Alice');
+      bob = privateKey('//Bob');
+    });
+  });
+
+  it('First year inflation is 10%', async () => {
+    await usingApi(async (api) => {
+
+      const blockInterval = parseInt((await api.consts.inflation.inflationBlockInterval).toString());
+      const totalIssuanceStart = new BigNumber((await api.query.inflation.startingYearTotalIssuance()).toString());
+      const blockInflation = new BigNumber((await api.query.inflation.blockInflation()).toString());
+
+      const YEAR = 5259600; // Blocks in one year
+      const totalExpectedInflation = totalIssuanceStart.multipliedBy(0.1);
+      const totalActualInflation = blockInflation.multipliedBy(YEAR / blockInterval);
+
+      const tolerance = 0.00001; // Relative difference per year between theoretical and actual inflation
+      expect(totalExpectedInflation.dividedBy(totalActualInflation).minus(1).abs().toNumber()).to.be.lessThan(tolerance);
+    });
+  });
+
+});
modifiedtests/src/pallet-presence.test.tsdiffbeforeafterboth
--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -13,7 +13,7 @@
 
 // Pallets that must always be present
 const requiredPallets = [
-  'nft', 'balances', 'contracts', 'randomnesscollectiveflip', 'system', 'timestamp', 'transactionpayment', 'treasury', 'vesting'
+  'nft', 'inflation', 'balances', 'contracts', 'randomnesscollectiveflip', 'system', 'timestamp', 'transactionpayment', 'treasury', 'vesting'
 ];
 
 // Pallets that depend on consensus and governance configuration