From ea297ce91662027e3c2e7ad781ac807d6fa429a6 Mon Sep 17 00:00:00 2001 From: Justin Zhou Date: Fri, 16 Sep 2022 17:51:34 -0400 Subject: [PATCH] TUR and OAK runtime config changes (#278) Co-authored-by: irsal Co-authored-by: Irsal McGinnis --- distribution/oak_alloc.json | 16 ++ distribution/oak_vesting.json | 458 +++++++++++++++++++++------------ node/src/chain_spec/mod.rs | 11 +- node/src/chain_spec/neumann.rs | 2 +- node/src/chain_spec/oak.rs | 173 +++++++++++-- node/src/chain_spec/turing.rs | 2 +- node/src/command.rs | 2 + pallets/valve/src/traits.rs | 8 + runtime/oak/src/lib.rs | 46 ++-- runtime/turing/src/lib.rs | 6 +- 10 files changed, 503 insertions(+), 221 deletions(-) create mode 100644 distribution/oak_alloc.json diff --git a/distribution/oak_alloc.json b/distribution/oak_alloc.json new file mode 100644 index 000000000..b6119e130 --- /dev/null +++ b/distribution/oak_alloc.json @@ -0,0 +1,16 @@ +[ + ["66MGxr9zcyJ6ka6FBQmT1VSvMqARKfwBT7589Fikii1Ci5sg", 100000000000000], + ["67He8TSn5ayD2p2ZS9WDQtuVuW7Z8RXXvBx5NyszGwcEGpzS", 20010000000000000], + ["6Azd1ebort6eZUDfg9f4A75fmD1JCV6ysHaFnTEqEPEuGpbP", 20010000000000000], + ["6AQf3NV66CTNSsFuY1ehA1zJySYQybQwvC5Yq8ufqcZVQ3iN", 20010000000000000], + ["66AJHj124JZnpKnWFoJGx41uSVqjyUz6tmVPfZWnhemBe8wG", 20010000000000000], + ["69Eyxo3gFpZpcRrtx5NAFBDMcoiVQrdg7so1M9w4FWiTBLej", 10000000000000], + ["67D6ecyNhnAzZqgRbxr3MdGnxB9Bw8VadMhjpLAYB3wf5Pq6", 10000000000000], + ["6AxoUZEKEbaGVHsBkuJ6mvVgeMEixoroGiD1b3sBkroBqDXE", 10000000000000], + ["69pKU2QpgtMBT9NsaN1diyJQ8qcvrJy8KJk5aWeAXfMGjb5F", 10000000000000], + ["67ppUQ3mGfaWDEr5VQRz4QgvNzXiGLmGjwwEcnvbJofSQyMN", 10000000000000], + ["68Tn1mgDo1dvctJLZCWaYJWLSWgu4GYtL5jgrrmzidAgpoJG", 10000000000000], + ["67Za6G2i3BGkcTtYzU2hUzHrmy6quwWzyEMJB98oRv3GwDmb", 10000000000000], + ["67nmVh57G9yo7sqiGLjgNNqtUd7H2CSESTyQgp5272aMibwS", 10000000000000], + ["6871Utgdq5ycWnTzm7VEwQfg4zM81JqYv8EDzKPu3fdzsXK8", 10000000000000] +] diff --git a/distribution/oak_vesting.json b/distribution/oak_vesting.json index 3fc76830e..8ca9697af 100644 --- a/distribution/oak_vesting.json +++ b/distribution/oak_vesting.json @@ -1,311 +1,435 @@ [ [ - 1651431600, + 1672603200, [ - ["6AWgGe7oZuvc8542mBGwJVs1FVZoQdNH68bsaNvhzSY2xjYN", 200000000000000000], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] - ] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 225000000000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 212500000000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 200000000000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 18750000000000000] + ] ], [ - 1654110000, + 1675281600, [ - ["6AWgGe7oZuvc8542mBGwJVs1FVZoQdNH68bsaNvhzSY2xjYN", 200000000000000000], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1656702000, + 1677700800, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1659380400, + 1680375600, [ - ["6BBGxHoTygiPF3GYvuUoZU9tivMZwdmkNFuQk3JjfDmGpbVC", 373333333333333333], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000], + ["671hHAijZgBhwxWtABJhpzhC8QFbU4JzZJLyZiGxdgNAYVRD", 60000000000000000] ] ], [ - 1662058800, + 1682967600, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1664650800, + 1685646000, [ - ["6BbQeXLRZv1ZHU8wyuLtjoGL5c1XDYvtqKCbVELtUVog6MAJ", 200000000000000000], - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777], - ["66LaRh4sgFkCZvXEYXmaU422dD52BVEG9jAiMHBNrCAw3g6h", 250000000000000000], - ["67LUDMsMbQ2muStgPEs6L3M29kdLsoJnbCWUV4M6Ecfp7oVc", 250000000000000000] + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 160000000000000000], + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1667329200, + 1688238000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1669924800, + 1690916400, [ - ["6BBGxHoTygiPF3GYvuUoZU9tivMZwdmkNFuQk3JjfDmGpbVC", 373333333333333333], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["671hHAijZgBhwxWtABJhpzhC8QFbU4JzZJLyZiGxdgNAYVRD", 60000000000000000] ] ], [ - 1672603200, + 1693594800, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1675281600, + 1696186800, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1677700800, + 1698865200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1680375600, + 1701460800, [ - ["6BbQeXLRZv1ZHU8wyuLtjoGL5c1XDYvtqKCbVELtUVog6MAJ", 200000000000000000], - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["6BBGxHoTygiPF3GYvuUoZU9tivMZwdmkNFuQk3JjfDmGpbVC", 373333333333333333], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777], - ["66LaRh4sgFkCZvXEYXmaU422dD52BVEG9jAiMHBNrCAw3g6h", 250000000000000000] + ["68AJcfjXieDqsBxk4mYVGhRBHcqJm7tzdxpkDKx8gPhkKbid", 360000000000000000], + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 160000000000000000], + ["69jQ52EQgtqShE7Xc3uEk9BoTRcPLuMMUC5xTNcSA3NEoxNP", 41666660000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["671hHAijZgBhwxWtABJhpzhC8QFbU4JzZJLyZiGxdgNAYVRD", 60000000000000000] ] ], [ - 1682967600, + 1704139200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1685646000, + 1706817600, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1688238000, + 1709323200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["68AJcfjXieDqsBxk4mYVGhRBHcqJm7tzdxpkDKx8gPhkKbid", 360000000000000000], + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 120000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1690916400, + 1711998000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000], + ["671hHAijZgBhwxWtABJhpzhC8QFbU4JzZJLyZiGxdgNAYVRD", 60000000000000000] ] ], [ - 1693594800, + 1714590000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1696186800, + 1717268400, [ - ["6BbQeXLRZv1ZHU8wyuLtjoGL5c1XDYvtqKCbVELtUVog6MAJ", 200000000000000000], - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777], - ["66LaRh4sgFkCZvXEYXmaU422dD52BVEG9jAiMHBNrCAw3g6h", 250000000000000000], - ["67LUDMsMbQ2muStgPEs6L3M29kdLsoJnbCWUV4M6Ecfp7oVc", 250000000000000000] + ["68AJcfjXieDqsBxk4mYVGhRBHcqJm7tzdxpkDKx8gPhkKbid", 360000000000000000], + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 120000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1698865200, + 1719860400, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1701460800, + 1722538800, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["671hHAijZgBhwxWtABJhpzhC8QFbU4JzZJLyZiGxdgNAYVRD", 60000000000000000] ] ], [ - 1704139200, + 1725217200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["68AJcfjXieDqsBxk4mYVGhRBHcqJm7tzdxpkDKx8gPhkKbid", 360000000000000000], + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 120000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1706817600, + 1727809200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1709323200, + 1730487600, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1711998000, + 1733083200, [ - ["6BbQeXLRZv1ZHU8wyuLtjoGL5c1XDYvtqKCbVELtUVog6MAJ", 200000000000000000], - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777], - ["66LaRh4sgFkCZvXEYXmaU422dD52BVEG9jAiMHBNrCAw3g6h", 250000000000000000] + ["68AJcfjXieDqsBxk4mYVGhRBHcqJm7tzdxpkDKx8gPhkKbid", 360000000000000000], + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6AsPuKdBFQBENh8XG831i9DZHeRRTWDVG5MPseCzZMhZwqBB", 120000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1714590000, + 1735761600, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000], + ["69NVptNsycgjrUY5qG3uAdMg7Qh9LE4HmvMwi5FQUVpAKpXo", 16406250000000000] ] ], [ - 1717268400, + 1738440000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1719860400, + 1740859200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1722538800, + 1743534000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1725217200, + 1746126000, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1727809200, + 1748804400, [ - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1730487600, + 1751396400, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1733083200, + 1754074800, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1735761600, + 1756753200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1738440000, + 1759345200, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1740859200, + 1762023600, [ - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ], [ - 1743534000, + 1764619200, + [ + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1767297600, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1769976000, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1772395200, + [ + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1775070000, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1777662000, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1780340400, + [ + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1782932400, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1785610800, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1788289200, + [ + ["66aUED3BFQX1yKbTV2xfHStgo9qzfTPt5xoWYW83TyZWAbzf", 125000000000000000], + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1790881200, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1793563200, + [ + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] + ] + ], + [ + 1796155200, [ - ["67xc5vHrKcCbBeP7ACDcgwfUcPSqc8pxGiyowRHPypTueU4d", 266666666666666666], - ["68UQrHt7FQ171AF5nvkUV2jChxhJv58tp8xXZ6spzMnvWvFN", 41666666666666666], - ["66fiEgBVzAGs75UEqwGyXnJBbvujb9NwbvrXbvoqWYbK6Uui", 41666666666666666], - ["67grpvYywCTJ5gCNKfDMv4WMc416yUc43DMV7Xt31rUFHexc", 27777777777777777] + ["6B5xHoASi3J95oYmfTGcYgviA8Lou58PaRVmsLzM7M7JPGR8", 14361700000000000], + ["671sSYej7EidfpnXnV2szkBg1VsSgp8zhmXWSiPcTarRJBtv", 13563830000000000], + ["68ug2jNhBH9oE89JUsLrmCkoKoVyFQDqasSDee1UrMmcxGnf", 12765960000000000] ] ] -] + ] diff --git a/node/src/chain_spec/mod.rs b/node/src/chain_spec/mod.rs index ce1e90a6f..21156e2f2 100644 --- a/node/src/chain_spec/mod.rs +++ b/node/src/chain_spec/mod.rs @@ -90,7 +90,10 @@ where AccountPublic::from(get_public_from_seed::(seed)).into_account() } -pub fn inflation_config(blocks_per_round: u32) -> InflationInfo { +pub fn inflation_config( + blocks_per_round: u32, + annual_inflation_percentage: u32, +) -> InflationInfo { fn to_round_inflation(annual: Range, blocks_per_round: u32) -> Range { use pallet_parachain_staking::inflation::{ perbill_annual_to_perbill_round, BLOCKS_PER_YEAR, @@ -99,9 +102,9 @@ pub fn inflation_config(blocks_per_round: u32) -> InflationInfo { } let annual = Range { - min: Perbill::from_percent(5), - ideal: Perbill::from_percent(5), - max: Perbill::from_percent(5), + min: Perbill::from_percent(annual_inflation_percentage), + ideal: Perbill::from_percent(annual_inflation_percentage), + max: Perbill::from_percent(annual_inflation_percentage), }; InflationInfo { diff --git a/node/src/chain_spec/neumann.rs b/node/src/chain_spec/neumann.rs index f2bc4fccc..513daad78 100644 --- a/node/src/chain_spec/neumann.rs +++ b/node/src/chain_spec/neumann.rs @@ -340,7 +340,7 @@ fn testnet_genesis( .map(|(acc, _)| (acc, neumann_runtime::MinCollatorStk::get())) .collect(), delegations: vec![], - inflation_config: inflation_config(neumann_runtime::DefaultBlocksPerRound::get()), + inflation_config: inflation_config(neumann_runtime::DefaultBlocksPerRound::get(), 5), }, // no need to pass anything to aura, in fact it will panic if we do. Session will take care // of this. diff --git a/node/src/chain_spec/oak.rs b/node/src/chain_spec/oak.rs index 43db8da83..4e251fab6 100644 --- a/node/src/chain_spec/oak.rs +++ b/node/src/chain_spec/oak.rs @@ -21,7 +21,8 @@ const TOKEN_SYMBOL: &str = "OAK"; const SS_58_FORMAT: u32 = 51; static RELAY_CHAIN: &str = "rococo-local"; static STAGING_RELAY_CHAIN: &str = "rococo"; -const REGISTERED_PARA_ID: u32 = 2114; +static LIVE_RELAY_CHAIN: &str = "polkadot"; +const REGISTERED_PARA_ID: u32 = 2090; const REGISTERED_STAGING_PARA_ID: u32 = 4103; /// The default XCM version to set in genesis config. @@ -112,11 +113,10 @@ pub fn oak_staging() -> ChainSpec { "oak-staging", ChainType::Live, move || { - let allocation_json = - &include_bytes!("../../../distribution/oak_staging_alloc.json")[..]; + let allocation_json = &include_bytes!("../../../distribution/oak_alloc.json")[..]; let initial_allocation: Vec<(AccountId, Balance)> = serde_json::from_slice(allocation_json).unwrap(); - const ALLOC_TOKENS_TOTAL: u128 = DOLLAR * 1_000_000_000; + const ALLOC_TOKENS_TOTAL: u128 = 80_230_000_000_000_000; validate_allocation( initial_allocation.clone(), ALLOC_TOKENS_TOTAL, @@ -127,9 +127,9 @@ pub fn oak_staging() -> ChainSpec { let initial_vesting: Vec<(u64, Vec<(AccountId, Balance)>)> = serde_json::from_slice(vesting_json).unwrap(); - let vested_tokens = 9_419_999_999_999_999_919; - let vest_starting_time: u64 = 1651431600; - let vest_ending_time: u64 = 1743534000; + let vested_tokens = 7_599_999_950_000_000_000; + let vest_starting_time: u64 = 1672603200; + let vest_ending_time: u64 = 1796155200; validate_vesting( initial_vesting.clone(), vested_tokens, @@ -142,17 +142,17 @@ pub fn oak_staging() -> ChainSpec { // initial collators. vec![ ( - // SS58 prefix substrate: 5EvKT4iWQ5gDnRhkS3d254RVCfaQJSyXHj5mA4kQTsCjWchW - hex!["7e4f4efde71551c83714fb3062724067e7bb6ebc3bf942813321f1583e187572"] + // SS58 prefix 51: 67He8TSn5ayD2p2ZS9WDQtuVuW7Z8RXXvBx5NyszGwcEGpzS + hex!["325603af5d8d4e284646556835df92977d48c8100eaf92e110d4b75d4650a73c"] .into(), - hex!["7e4f4efde71551c83714fb3062724067e7bb6ebc3bf942813321f1583e187572"] + hex!["325603af5d8d4e284646556835df92977d48c8100eaf92e110d4b75d4650a73c"] .unchecked_into(), ), ( - // SS58 prefix substrate: 5F4Dx9TD16awU7FeGD3Me5VDrEsL5MDPEcbNBvUgLQFawxyW - hex!["8456c30af083c2b2d767d6950e8ee654d4eff5e69cdd9f75db5bcbf2d7b0d801"] + // SS58 prefix 51: 6Azd1ebort6eZUDfg9f4A75fmD1JCV6ysHaFnTEqEPEuGpbP + hex!["d64c03d1ab36318a0d7da660670c83928261fc2a3464f92218ff5d42561e9a40"] .into(), - hex!["8456c30af083c2b2d767d6950e8ee654d4eff5e69cdd9f75db5bcbf2d7b0d801"] + hex!["d64c03d1ab36318a0d7da660670c83928261fc2a3464f92218ff5d42561e9a40"] .unchecked_into(), ), ], @@ -160,7 +160,17 @@ pub fn oak_staging() -> ChainSpec { hex!["004df6aeb14c73ef5cd2c57d9028afc402c4f101a8917bbb6cd19407c8bf8307"].into(), initial_allocation, REGISTERED_STAGING_PARA_ID.into(), - vec![], + vec![ + b"AutomationTime".to_vec(), + b"Balances".to_vec(), + b"Bounties".to_vec(), + b"Currencies".to_vec(), + b"Democracy".to_vec(), + b"ParachainStaking".to_vec(), + b"PolkadotXcm".to_vec(), + b"Treasury".to_vec(), + b"XTokens".to_vec(), + ], initial_vesting, vec![ // 5C571x5GLRQwfA3aRtVcxZzD7JnzNb3JbtZEvJWfQozWE54K @@ -190,6 +200,139 @@ pub fn oak_staging() -> ChainSpec { ) } +pub fn oak_live() -> ChainSpec { + // Give your base currency a unit name and decimal places + let mut properties = sc_chain_spec::Properties::new(); + properties.insert("tokenSymbol".into(), TOKEN_SYMBOL.into()); + properties.insert("tokenDecimals".into(), TOKEN_DECIMALS.into()); + properties.insert("ss58Format".into(), SS_58_FORMAT.into()); + + ChainSpec::from_genesis( + // Name + "OAK Network", + // ID + "oak", + ChainType::Live, + move || { + let allocation_json = &include_bytes!("../../../distribution/oak_alloc.json")[..]; + let initial_allocation: Vec<(AccountId, Balance)> = + serde_json::from_slice(allocation_json).unwrap(); + const ALLOC_TOKENS_TOTAL: u128 = 80_230_000_000_000_000; + validate_allocation( + initial_allocation.clone(), + ALLOC_TOKENS_TOTAL, + EXISTENTIAL_DEPOSIT, + ); + + let vesting_json = &include_bytes!("../../../distribution/oak_vesting.json")[..]; + let initial_vesting: Vec<(u64, Vec<(AccountId, Balance)>)> = + serde_json::from_slice(vesting_json).unwrap(); + + let vested_tokens = 7_599_999_950_000_000_000; + let vest_starting_time: u64 = 1672603200; + let vest_ending_time: u64 = 1796155200; + validate_vesting( + initial_vesting.clone(), + vested_tokens, + EXISTENTIAL_DEPOSIT, + vest_starting_time, + vest_ending_time, + ); + + testnet_genesis( + // initial collators. + vec![ + ( + // SS58 prefix 51: 67He8TSn5ayD2p2ZS9WDQtuVuW7Z8RXXvBx5NyszGwcEGpzS + hex!["325603af5d8d4e284646556835df92977d48c8100eaf92e110d4b75d4650a73c"] + .into(), + hex!["325603af5d8d4e284646556835df92977d48c8100eaf92e110d4b75d4650a73c"] + .unchecked_into(), + ), + ( + // SS58 prefix 51: 6Azd1ebort6eZUDfg9f4A75fmD1JCV6ysHaFnTEqEPEuGpbP + hex!["d64c03d1ab36318a0d7da660670c83928261fc2a3464f92218ff5d42561e9a40"] + .into(), + hex!["d64c03d1ab36318a0d7da660670c83928261fc2a3464f92218ff5d42561e9a40"] + .unchecked_into(), + ), + ( + // SS58 prefix 51: 6AQf3NV66CTNSsFuY1ehA1zJySYQybQwvC5Yq8ufqcZVQ3iN + hex!["bc6480f3f236dcd444809ace67e5a64bd35d7757b46d051bf300264bfc1eea55"] + .into(), + hex!["bc6480f3f236dcd444809ace67e5a64bd35d7757b46d051bf300264bfc1eea55"] + .unchecked_into(), + ), + ( + // SS58 prefix 51: 66AJHj124JZnpKnWFoJGx41uSVqjyUz6tmVPfZWnhemBe8wG + hex!["00804668906bbe7934ba89ef18c17c62c2dc175ca8df33621f2413e677c7144f"] + .into(), + hex!["00804668906bbe7934ba89ef18c17c62c2dc175ca8df33621f2413e677c7144f"] + .unchecked_into(), + ), + ], + // 66MGxr9zcyJ6ka6FBQmT1VSvMqARKfwBT7589Fikii1Ci5sg + hex!["08df8338e854d8d589dedd4305c11e589cbef994e5dd00c7bb8fb7d277705b06"].into(), + initial_allocation, + REGISTERED_PARA_ID.into(), + vec![ + b"AutomationTime".to_vec(), + b"Balances".to_vec(), + b"Bounties".to_vec(), + b"Currencies".to_vec(), + b"Democracy".to_vec(), + b"ParachainStaking".to_vec(), + b"PolkadotXcm".to_vec(), + b"Treasury".to_vec(), + b"XTokens".to_vec(), + ], + initial_vesting, + vec![ + // 69pKU2QpgtMBT9NsaN1diyJQ8qcvrJy8KJk5aWeAXfMGjb5F + hex!["a23443cef4fe4e7ee3f61c8248505312fa81121f2a8bd64099390b40d7a05206"].into(), + // 69Eyxo3gFpZpcRrtx5NAFBDMcoiVQrdg7so1M9w4FWiTBLej + hex!["88c782a383f0cfa5fbc36c9734dfc7cb6319137b48cc69cc662c84b6e687a106"].into(), + // 67D6ecyNhnAzZqgRbxr3MdGnxB9Bw8VadMhjpLAYB3wf5Pq6 + hex!["2edf0fd8948ea642f135b314b1358c77ec6d0a4af83220b6ea18136e5ce36277"].into(), + // 6AxoUZEKEbaGVHsBkuJ6mvVgeMEixoroGiD1b3sBkroBqDXE + hex!["d4e8bfb1c924dd64e33ecfbb35d90061bb83b2dde667e58588780068f9fc1471"].into(), + // 67nmVh57G9yo7sqiGLjgNNqtUd7H2CSESTyQgp5272aMibwS + hex!["488ced7d199b4386081a52505962128da5a3f54f4665db3d78b6e9f9e89eea4d"].into(), + ], + vec![ + // 69pKU2QpgtMBT9NsaN1diyJQ8qcvrJy8KJk5aWeAXfMGjb5F + hex!["a23443cef4fe4e7ee3f61c8248505312fa81121f2a8bd64099390b40d7a05206"].into(), + // 67ppUQ3mGfaWDEr5VQRz4QgvNzXiGLmGjwwEcnvbJofSQyMN + hex!["4a1d713c2f41e10db31b83a45a3a98b64088330190eac7fcef4623694fbac55e"].into(), + // 6871Utgdq5ycWnTzm7VEwQfg4zM81JqYv8EDzKPu3fdzsXK8 + hex!["56766d3f856f2ca399ae575689a7340c2532351948f355c21bc06b170569da35"].into(), + // 68Tn1mgDo1dvctJLZCWaYJWLSWgu4GYtL5jgrrmzidAgpoJG + hex!["664d3e87b905d7e3fba4f459673af256166313c498972fb8cbba6e3697d7fe3b"].into(), + // 67Za6G2i3BGkcTtYzU2hUzHrmy6quwWzyEMJB98oRv3GwDmb + hex!["3e7c592124e2cde1808eeaa4c6799cb680506046bfc7b0304d9305bd3bd50b11"].into(), + // 67nmVh57G9yo7sqiGLjgNNqtUd7H2CSESTyQgp5272aMibwS + hex!["488ced7d199b4386081a52505962128da5a3f54f4665db3d78b6e9f9e89eea4d"].into(), + ], + vec![], + ) + }, + // Bootnodes + Vec::new(), + // Telemetry + TelemetryEndpoints::new(vec![(TELEMETRY_URL.into(), 0)]).ok(), + // Protocol ID + Some("oak"), + None, + // Properties + Some(properties), + // Extensions + Extensions { + relay_chain: LIVE_RELAY_CHAIN.into(), // You MUST set this to the correct network! + para_id: REGISTERED_PARA_ID, + }, + ) +} + fn testnet_genesis( invulnerables: Vec<(AccountId, AuraId)>, root_key: AccountId, @@ -231,7 +374,7 @@ fn testnet_genesis( .map(|(acc, _)| (acc, candidate_stake)) .collect(), delegations: vec![], - inflation_config: inflation_config(oak_runtime::DefaultBlocksPerRound::get()), + inflation_config: inflation_config(oak_runtime::DefaultBlocksPerRound::get(), 0), }, // no need to pass anything to aura, in fact it will panic if we do. Session will take care // of this. diff --git a/node/src/chain_spec/turing.rs b/node/src/chain_spec/turing.rs index 485f68a15..f971898d6 100644 --- a/node/src/chain_spec/turing.rs +++ b/node/src/chain_spec/turing.rs @@ -149,7 +149,7 @@ fn testnet_genesis( .map(|(acc, _)| (acc, candidate_stake)) .collect(), delegations: vec![], - inflation_config: inflation_config(turing_runtime::DefaultBlocksPerRound::get()), + inflation_config: inflation_config(turing_runtime::DefaultBlocksPerRound::get(), 5), }, // no need to pass anything to aura, in fact it will panic if we do. Session will take care // of this. diff --git a/node/src/command.rs b/node/src/command.rs index 91a7d344a..6a278e4a2 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -39,6 +39,8 @@ fn load_spec(id: &str) -> std::result::Result, String> { "oak-dev" => Box::new(chain_spec::oak::oak_development_config()), #[cfg(feature = "oak-node")] "oak-staging" => Box::new(chain_spec::oak::oak_staging()), + #[cfg(feature = "oak-node")] + "oak" => Box::new(chain_spec::oak::oak_live()), path => { let path = std::path::PathBuf::from(path); let chain_spec = Box::new(chain_spec::DummyChainSpec::from_json_file(path.clone())?) diff --git a/pallets/valve/src/traits.rs b/pallets/valve/src/traits.rs index 105d0f5ab..ef6f57b4a 100644 --- a/pallets/valve/src/traits.rs +++ b/pallets/valve/src/traits.rs @@ -7,3 +7,11 @@ pub trait Shutdown { /// Forwards restart message to implementer fn restart(); } + +impl Shutdown for () { + fn is_shutdown() -> bool { + true + } + fn shutdown() {} + fn restart() {} +} diff --git a/runtime/oak/src/lib.rs b/runtime/oak/src/lib.rs index 1a69fd84d..4be2eaeec 100644 --- a/runtime/oak/src/lib.rs +++ b/runtime/oak/src/lib.rs @@ -89,7 +89,6 @@ use primitives::{ }; // Custom pallet imports -pub use pallet_automation_price; pub use pallet_automation_time; /// Block type as expected by this runtime. @@ -465,7 +464,8 @@ parameter_types! { pub TreasuryAccount: AccountId = TreasuryPalletId::get().into_account_truncating(); // Until we can codify how to handle forgien tokens that we collect in XCMP fees // we will send the tokens to a special account to be dealt with. - pub TemporaryForeignTreasuryAccount: AccountId = hex!["8acc2955e592588af0eeec40384bf3b498335ecc90df5e6980f0141e1314eb37"].into(); + // SS58 prefix 51: 68ZdW8SDzsHs8oRFso5sUCK6HvmWMAhMT8LSbwqAReQeHq7G + pub TemporaryForeignTreasuryAccount: AccountId = hex!["6ac410dcac7ace36e401163d540cb9bdda1a2295d7e1233c1fc38281cd13ec23"].into(); } pub struct DustRemovalWhitelist; @@ -636,9 +636,9 @@ parameter_types! { /// Default percent of inflation set aside for parachain bond every round pub const DefaultParachainBondReservePercent: Percent = Percent::from_percent(30); /// Blocks per round - pub const DefaultBlocksPerRound: u32 = 2 * HOURS; + pub const DefaultBlocksPerRound: u32 = 6 * HOURS; /// Minimum stake required to become a collator - pub const MinCollatorStk: u128 = 400_000 * DOLLAR; + pub const MinCollatorStk: u128 = 2_000_000 * DOLLAR; /// Minimum stake required to be reserved to be a candidate pub const MinCandidateStk: u128 = 2_000_000 * DOLLAR; } @@ -650,19 +650,19 @@ impl pallet_parachain_staking::Config for Runtime { type MinBlocksPerRound = ConstU32<10>; type DefaultBlocksPerRound = DefaultBlocksPerRound; /// Rounds before the collator leaving the candidates request can be executed - type LeaveCandidatesDelay = ConstU32<24>; + type LeaveCandidatesDelay = ConstU32<28>; /// Rounds before the candidate bond increase/decrease can be executed - type CandidateBondLessDelay = ConstU32<24>; + type CandidateBondLessDelay = ConstU32<28>; /// Rounds before the delegator exit can be executed - type LeaveDelegatorsDelay = ConstU32<24>; + type LeaveDelegatorsDelay = ConstU32<28>; /// Rounds before the delegator revocation can be executed - type RevokeDelegationDelay = ConstU32<24>; + type RevokeDelegationDelay = ConstU32<28>; /// Rounds before the delegator bond increase/decrease can be executed - type DelegationBondLessDelay = ConstU32<24>; + type DelegationBondLessDelay = ConstU32<28>; /// Rounds before the reward is paid type RewardPaymentDelay = ConstU32<2>; /// Minimum collators selected per round, default at genesis and minimum forever after - type MinSelectedCandidates = ConstU32<5>; + type MinSelectedCandidates = ConstU32<4>; /// Maximum top delegations per candidate type MaxTopDelegationsPerCandidate = ConstU32<300>; /// Maximum bottom delegations per candidate @@ -866,12 +866,12 @@ impl pallet_scheduler::Config for Runtime { parameter_types! { pub const LaunchPeriod: BlockNumber = 5 * DAYS; - pub const VotingPeriod: BlockNumber = 5 * DAYS; - pub const FastTrackVotingPeriod: BlockNumber = 3 * HOURS; - pub const MinimumDeposit: Balance = 40 * DOLLAR; + pub const VotingPeriod: BlockNumber = 10 * DAYS; + pub const FastTrackVotingPeriod: BlockNumber = 2 * HOURS; + pub const MinimumDeposit: Balance = 500 * DOLLAR; pub const EnactmentPeriod: BlockNumber = 2 * DAYS; - pub const VoteLockingPeriod: BlockNumber = 7 * DAYS; - pub const CooloffPeriod: BlockNumber = 7 * DAYS; + pub const VoteLockingPeriod: BlockNumber = 10 * DAYS; + pub const CooloffPeriod: BlockNumber = 10 * DAYS; pub const InstantAllowed: bool = true; } @@ -987,18 +987,6 @@ impl pallet_automation_time::Config for Runtime { type ScheduleAllowList = ScheduleAllowList; } -impl pallet_automation_price::Config for Runtime { - type Event = Event; - type MaxTasksPerSlot = ConstU32<1>; - type MaxBlockWeight = MaxBlockWeight; - type MaxWeightPercentage = MaxWeightPercentage; - type WeightInfo = (); - type ExecutionWeightFee = ExecutionWeightFee; - type Currency = Balances; - type FeeHandler = pallet_automation_price::FeeHandler>; - type Origin = Origin; -} - pub struct ClosedCallFilter; impl Contains for ClosedCallFilter { fn contains(c: &Call) -> bool { @@ -1012,7 +1000,6 @@ impl Contains for ClosedCallFilter { Call::PolkadotXcm(_) => false, Call::Treasury(_) => false, Call::XTokens(_) => false, - Call::AutomationPrice(_) => false, _ => true, } } @@ -1023,7 +1010,7 @@ impl pallet_valve::Config for Runtime { type WeightInfo = pallet_valve::weights::SubstrateWeight; type ClosedCallFilter = ClosedCallFilter; type AutomationTime = AutomationTime; - type AutomationPrice = AutomationPrice; + type AutomationPrice = (); type CallAccessFilter = TechnicalMembership; } @@ -1099,7 +1086,6 @@ construct_runtime!( AutomationTime: pallet_automation_time::{Pallet, Call, Storage, Event} = 60, Vesting: pallet_vesting::{Pallet, Storage, Config, Event} = 61, XcmpHandler: pallet_xcmp_handler::{Pallet, Call, Storage, Config, Event} = 62, - AutomationPrice: pallet_automation_price::{Pallet, Call, Storage, Event} = 200, } ); diff --git a/runtime/turing/src/lib.rs b/runtime/turing/src/lib.rs index d399f9697..618177a8e 100644 --- a/runtime/turing/src/lib.rs +++ b/runtime/turing/src/lib.rs @@ -870,11 +870,11 @@ impl pallet_scheduler::Config for Runtime { parameter_types! { pub const LaunchPeriod: BlockNumber = 5 * DAYS; pub const VotingPeriod: BlockNumber = 5 * DAYS; - pub const FastTrackVotingPeriod: BlockNumber = 3 * HOURS; + pub const FastTrackVotingPeriod: BlockNumber = 1 * HOURS; pub const MinimumDeposit: Balance = 40 * DOLLAR; pub const EnactmentPeriod: BlockNumber = 2 * DAYS; - pub const VoteLockingPeriod: BlockNumber = 7 * DAYS; - pub const CooloffPeriod: BlockNumber = 7 * DAYS; + pub const VoteLockingPeriod: BlockNumber = 5 * DAYS; + pub const CooloffPeriod: BlockNumber = 5 * DAYS; pub const InstantAllowed: bool = true; }