git.delta.rocks / unique-network / refs/commits / 9667dc5f64e7

difftreelog

feat(CollatorSelection) inclusion + migration + genesis

Fahrrader2022-03-30parent: #997ec5a.patch.diff
in: master

10 files changed

modifiedCargo.lockdiffbeforeafterboth
108108
109[[package]]109[[package]]
110name = "anyhow"110name = "anyhow"
111version = "1.0.61"111version = "1.0.62"
112source = "registry+https://github.com/rust-lang/crates.io-index"112source = "registry+https://github.com/rust-lang/crates.io-index"
113checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"113checksum = "1485d4d2cc45e7b201ee3767015c96faa5904387c9d87c6efdd0fb511f12d305"
114114
115[[package]]115[[package]]
116name = "approx"116name = "approx"
213213
214[[package]]214[[package]]
215name = "async-io"215name = "async-io"
216version = "1.7.0"216version = "1.8.0"
217source = "registry+https://github.com/rust-lang/crates.io-index"217source = "registry+https://github.com/rust-lang/crates.io-index"
218checksum = "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07"218checksum = "0ab006897723d9352f63e2b13047177c3982d8d79709d713ce7747a8f19fd1b0"
219dependencies = [219dependencies = [
220 "autocfg",
220 "concurrent-queue",221 "concurrent-queue",
221 "futures-lite",222 "futures-lite",
222 "libc",223 "libc",
241242
242[[package]]243[[package]]
243name = "async-process"244name = "async-process"
244version = "1.4.0"245version = "1.5.0"
245source = "registry+https://github.com/rust-lang/crates.io-index"246source = "registry+https://github.com/rust-lang/crates.io-index"
246checksum = "cf2c06e30a24e8c78a3987d07f0930edf76ef35e027e7bdb063fccafdad1f60c"247checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c"
247dependencies = [248dependencies = [
248 "async-io",249 "async-io",
250 "autocfg",
249 "blocking",251 "blocking",
250 "cfg-if 1.0.0",252 "cfg-if 1.0.0",
251 "event-listener",253 "event-listener",
717719
718[[package]]720[[package]]
719name = "bumpalo"721name = "bumpalo"
720version = "3.10.0"722version = "3.11.0"
721source = "registry+https://github.com/rust-lang/crates.io-index"723source = "registry+https://github.com/rust-lang/crates.io-index"
722checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"724checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
723725
724[[package]]726[[package]]
725name = "byte-slice-cast"727name = "byte-slice-cast"
10451047
1046[[package]]1048[[package]]
1047name = "cpufeatures"1049name = "cpufeatures"
1048version = "0.2.2"1050version = "0.2.4"
1049source = "registry+https://github.com/rust-lang/crates.io-index"1051source = "registry+https://github.com/rust-lang/crates.io-index"
1050checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"1052checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813"
1051dependencies = [1053dependencies = [
1052 "libc",1054 "libc",
1053]1055]
20212023
2022[[package]]2024[[package]]
2023name = "either"2025name = "either"
2024version = "1.7.0"2026version = "1.8.0"
2025source = "registry+https://github.com/rust-lang/crates.io-index"2027source = "registry+https://github.com/rust-lang/crates.io-index"
2026checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"2028checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
20272029
2028[[package]]2030[[package]]
2029name = "elliptic-curve"2031name = "elliptic-curve"
2345[[package]]2347[[package]]
2346name = "fc-consensus"2348name = "fc-consensus"
2347version = "2.0.0-dev"2349version = "2.0.0-dev"
2348source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2350source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2349dependencies = [2351dependencies = [
2350 "async-trait",2352 "async-trait",
2351 "fc-db",2353 "fc-db",
2364[[package]]2366[[package]]
2365name = "fc-db"2367name = "fc-db"
2366version = "2.0.0-dev"2368version = "2.0.0-dev"
2367source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2369source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2368dependencies = [2370dependencies = [
2369 "fp-storage",2371 "fp-storage",
2370 "kvdb-rocksdb",2372 "kvdb-rocksdb",
2380[[package]]2382[[package]]
2381name = "fc-mapping-sync"2383name = "fc-mapping-sync"
2382version = "2.0.0-dev"2384version = "2.0.0-dev"
2383source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2385source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2384dependencies = [2386dependencies = [
2385 "fc-db",2387 "fc-db",
2386 "fp-consensus",2388 "fp-consensus",
2397[[package]]2399[[package]]
2398name = "fc-rpc"2400name = "fc-rpc"
2399version = "2.0.0-dev"2401version = "2.0.0-dev"
2400source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2402source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2401dependencies = [2403dependencies = [
2402 "ethereum",2404 "ethereum",
2403 "ethereum-types",2405 "ethereum-types",
2437[[package]]2439[[package]]
2438name = "fc-rpc-core"2440name = "fc-rpc-core"
2439version = "1.1.0-dev"2441version = "1.1.0-dev"
2440source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2442source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2441dependencies = [2443dependencies = [
2442 "ethereum",2444 "ethereum",
2443 "ethereum-types",2445 "ethereum-types",
2578[[package]]2580[[package]]
2579name = "fp-consensus"2581name = "fp-consensus"
2580version = "2.0.0-dev"2582version = "2.0.0-dev"
2581source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2583source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2582dependencies = [2584dependencies = [
2583 "ethereum",2585 "ethereum",
2584 "parity-scale-codec 3.1.5",2586 "parity-scale-codec 3.1.5",
2590[[package]]2592[[package]]
2591name = "fp-evm"2593name = "fp-evm"
2592version = "3.0.0-dev"2594version = "3.0.0-dev"
2593source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2595source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2594dependencies = [2596dependencies = [
2595 "evm",2597 "evm",
2596 "frame-support",2598 "frame-support",
2604[[package]]2606[[package]]
2605name = "fp-evm-mapping"2607name = "fp-evm-mapping"
2606version = "0.1.0"2608version = "0.1.0"
2607source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2609source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2608dependencies = [2610dependencies = [
2609 "frame-support",2611 "frame-support",
2610 "sp-core",2612 "sp-core",
2613[[package]]2615[[package]]
2614name = "fp-rpc"2616name = "fp-rpc"
2615version = "3.0.0-dev"2617version = "3.0.0-dev"
2616source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2618source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2617dependencies = [2619dependencies = [
2618 "ethereum",2620 "ethereum",
2619 "ethereum-types",2621 "ethereum-types",
2630[[package]]2632[[package]]
2631name = "fp-self-contained"2633name = "fp-self-contained"
2632version = "1.0.0-dev"2634version = "1.0.0-dev"
2633source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2635source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2634dependencies = [2636dependencies = [
2635 "ethereum",2637 "ethereum",
2636 "frame-support",2638 "frame-support",
2646[[package]]2648[[package]]
2647name = "fp-storage"2649name = "fp-storage"
2648version = "2.0.0"2650version = "2.0.0"
2649source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"2651source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
2650dependencies = [2652dependencies = [
2651 "parity-scale-codec 3.1.5",2653 "parity-scale-codec 3.1.5",
2652]2654]
28972899
2898[[package]]2900[[package]]
2899name = "fs-err"2901name = "fs-err"
2900version = "2.7.0"2902version = "2.8.1"
2901source = "registry+https://github.com/rust-lang/crates.io-index"2903source = "registry+https://github.com/rust-lang/crates.io-index"
2902checksum = "5bd79fa345a495d3ae89fb7165fec01c0e72f41821d642dda363a1e97975652e"2904checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50"
29032905
2904[[package]]2906[[package]]
2905name = "fs-swap"2907name = "fs-swap"
31973199
3198[[package]]3200[[package]]
3199name = "h2"3201name = "h2"
3200version = "0.3.13"3202version = "0.3.14"
3201source = "registry+https://github.com/rust-lang/crates.io-index"3203source = "registry+https://github.com/rust-lang/crates.io-index"
3202checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"3204checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be"
3203dependencies = [3205dependencies = [
3204 "bytes",3206 "bytes",
3205 "fnv",3207 "fnv",
34173419
3418[[package]]3420[[package]]
3419name = "iana-time-zone"3421name = "iana-time-zone"
3420version = "0.1.45"3422version = "0.1.46"
3421source = "registry+https://github.com/rust-lang/crates.io-index"3423source = "registry+https://github.com/rust-lang/crates.io-index"
3422checksum = "ef5528d9c2817db4e10cc78f8d4c8228906e5854f389ff6b076cee3572a09d35"3424checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501"
3423dependencies = [3425dependencies = [
3424 "android_system_properties",3426 "android_system_properties",
3425 "core-foundation-sys",3427 "core-foundation-sys",
35543556
3555[[package]]3557[[package]]
3556name = "io-lifetimes"3558name = "io-lifetimes"
3557version = "0.7.2"3559version = "0.7.3"
3558source = "registry+https://github.com/rust-lang/crates.io-index"3560source = "registry+https://github.com/rust-lang/crates.io-index"
3559checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb"3561checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06"
35603562
3561[[package]]3563[[package]]
3562name = "ip_network"3564name = "ip_network"
39363938
3937[[package]]3939[[package]]
3938name = "libc"3940name = "libc"
3939version = "0.2.131"3941version = "0.2.132"
3940source = "registry+https://github.com/rust-lang/crates.io-index"3942source = "registry+https://github.com/rust-lang/crates.io-index"
3941checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40"3943checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
39423944
3943[[package]]3945[[package]]
3944name = "libloading"3946name = "libloading"
51605162
5161[[package]]5163[[package]]
5162name = "once_cell"5164name = "once_cell"
5163version = "1.13.0"5165version = "1.13.1"
5164source = "registry+https://github.com/rust-lang/crates.io-index"5166source = "registry+https://github.com/rust-lang/crates.io-index"
5165checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"5167checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e"
51665168
5167[[package]]5169[[package]]
5168name = "opal-runtime"5170name = "opal-runtime"
5192 "log",5194 "log",
5193 "orml-vesting",5195 "orml-vesting",
5194 "pallet-aura",5196 "pallet-aura",
5197 "pallet-authorship",
5195 "pallet-balances",5198 "pallet-balances",
5196 "pallet-base-fee",5199 "pallet-base-fee",
5200 "pallet-collator-selection",
5197 "pallet-common",5201 "pallet-common",
5198 "pallet-configuration",5202 "pallet-configuration",
5199 "pallet-ethereum",5203 "pallet-ethereum",
5209 "pallet-refungible",5213 "pallet-refungible",
5210 "pallet-rmrk-core",5214 "pallet-rmrk-core",
5211 "pallet-rmrk-equip",5215 "pallet-rmrk-equip",
5216 "pallet-session",
5212 "pallet-structure",5217 "pallet-structure",
5213 "pallet-sudo",5218 "pallet-sudo",
5214 "pallet-template-transaction-payment",5219 "pallet-template-transaction-payment",
5445[[package]]5450[[package]]
5446name = "pallet-base-fee"5451name = "pallet-base-fee"
5447version = "1.0.0"5452version = "1.0.0"
5448source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"5453source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
5449dependencies = [5454dependencies = [
5450 "fp-evm",5455 "fp-evm",
5451 "frame-support",5456 "frame-support",
5533 "sp-std",5538 "sp-std",
5534]5539]
5540
5541[[package]]
5542name = "pallet-collator-selection"
5543version = "3.0.0"
5544source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
5545dependencies = [
5546 "frame-benchmarking",
5547 "frame-support",
5548 "frame-system",
5549 "log",
5550 "pallet-authorship",
5551 "pallet-session",
5552 "parity-scale-codec 3.1.5",
5553 "rand 0.8.5",
5554 "scale-info",
5555 "serde",
5556 "sp-runtime",
5557 "sp-staking",
5558 "sp-std",
5559]
55355560
5536[[package]]5561[[package]]
5537name = "pallet-collective"5562name = "pallet-collective"
5660[[package]]5685[[package]]
5661name = "pallet-ethereum"5686name = "pallet-ethereum"
5662version = "4.0.0-dev"5687version = "4.0.0-dev"
5663source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"5688source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
5664dependencies = [5689dependencies = [
5665 "ethereum",5690 "ethereum",
5666 "ethereum-types",5691 "ethereum-types",
5689[[package]]5714[[package]]
5690name = "pallet-evm"5715name = "pallet-evm"
5691version = "6.0.0-dev"5716version = "6.0.0-dev"
5692source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#64915c0986fcf2bbe942794b838c0cf359c93c21"5717source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27#69945f20e8dc06ab9e0dd636848a8db6a408c71c"
5693dependencies = [5718dependencies = [
5694 "evm",5719 "evm",
5695 "fp-evm",5720 "fp-evm",
68066831
6807[[package]]6832[[package]]
6808name = "pest"6833name = "pest"
6809version = "2.2.1"6834version = "2.3.0"
6810source = "registry+https://github.com/rust-lang/crates.io-index"6835source = "registry+https://github.com/rust-lang/crates.io-index"
6811checksum = "69486e2b8c2d2aeb9762db7b4e00b0331156393555cff467f4163ff06821eef8"6836checksum = "4b0560d531d1febc25a3c9398a62a71256c0178f2e3443baedd9ad4bb8c9deb4"
6812dependencies = [6837dependencies = [
6813 "thiserror",6838 "thiserror",
6814 "ucd-trie",6839 "ucd-trie",
6815]6840]
68166841
6817[[package]]6842[[package]]
6818name = "pest_derive"6843name = "pest_derive"
6819version = "2.2.1"6844version = "2.3.0"
6820source = "registry+https://github.com/rust-lang/crates.io-index"6845source = "registry+https://github.com/rust-lang/crates.io-index"
6821checksum = "b13570633aff33c6d22ce47dd566b10a3b9122c2fe9d8e7501895905be532b91"6846checksum = "905708f7f674518498c1f8d644481440f476d39ca6ecae83319bba7c6c12da91"
6822dependencies = [6847dependencies = [
6823 "pest",6848 "pest",
6824 "pest_generator",6849 "pest_generator",
6825]6850]
68266851
6827[[package]]6852[[package]]
6828name = "pest_generator"6853name = "pest_generator"
6829version = "2.2.1"6854version = "2.3.0"
6830source = "registry+https://github.com/rust-lang/crates.io-index"6855source = "registry+https://github.com/rust-lang/crates.io-index"
6831checksum = "b3c567e5702efdc79fb18859ea74c3eb36e14c43da7b8c1f098a4ed6514ec7a0"6856checksum = "5803d8284a629cc999094ecd630f55e91b561a1d1ba75e233b00ae13b91a69ad"
6832dependencies = [6857dependencies = [
6833 "pest",6858 "pest",
6834 "pest_meta",6859 "pest_meta",
68396864
6840[[package]]6865[[package]]
6841name = "pest_meta"6866name = "pest_meta"
6842version = "2.2.1"6867version = "2.3.0"
6843source = "registry+https://github.com/rust-lang/crates.io-index"6868source = "registry+https://github.com/rust-lang/crates.io-index"
6844checksum = "5eb32be5ee3bbdafa8c7a18b0a8a8d962b66cfa2ceee4037f49267a50ee821fe"6869checksum = "1538eb784f07615c6d9a8ab061089c6c54a344c5b4301db51990ca1c241e8c04"
6845dependencies = [6870dependencies = [
6846 "once_cell",6871 "once_cell",
6847 "pest",6872 "pest",
81428167
8143[[package]]8168[[package]]
8144name = "polling"8169name = "polling"
8145version = "2.2.0"8170version = "2.3.0"
8146source = "registry+https://github.com/rust-lang/crates.io-index"8171source = "registry+https://github.com/rust-lang/crates.io-index"
8147checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"8172checksum = "899b00b9c8ab553c743b3e11e87c5c7d423b2a2de229ba95b24a756344748011"
8148dependencies = [8173dependencies = [
8174 "autocfg",
8149 "cfg-if 1.0.0",8175 "cfg-if 1.0.0",
8150 "libc",8176 "libc",
8151 "log",8177 "log",
8397 "log",8423 "log",
8398 "orml-vesting",8424 "orml-vesting",
8399 "pallet-aura",8425 "pallet-aura",
8426 "pallet-authorship",
8400 "pallet-balances",8427 "pallet-balances",
8401 "pallet-base-fee",8428 "pallet-base-fee",
8429 "pallet-collator-selection",
8402 "pallet-common",8430 "pallet-common",
8403 "pallet-configuration",8431 "pallet-configuration",
8404 "pallet-ethereum",8432 "pallet-ethereum",
8414 "pallet-refungible",8442 "pallet-refungible",
8415 "pallet-rmrk-core",8443 "pallet-rmrk-core",
8416 "pallet-rmrk-equip",8444 "pallet-rmrk-equip",
8445 "pallet-session",
8417 "pallet-structure",8446 "pallet-structure",
8418 "pallet-sudo",8447 "pallet-sudo",
8419 "pallet-template-transaction-payment",8448 "pallet-template-transaction-payment",
90049033
9005[[package]]9034[[package]]
9006name = "rustix"9035name = "rustix"
9007version = "0.35.7"9036version = "0.35.9"
9008source = "registry+https://github.com/rust-lang/crates.io-index"9037source = "registry+https://github.com/rust-lang/crates.io-index"
9009checksum = "d51cc38aa10f6bbb377ed28197aa052aa4e2b762c22be9d3153d01822587e787"9038checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada"
9010dependencies = [9039dependencies = [
9011 "bitflags",9040 "bitflags",
9012 "errno",9041 "errno",
9013 "io-lifetimes 0.7.2",9042 "io-lifetimes 0.7.3",
9014 "libc",9043 "libc",
9015 "linux-raw-sys 0.0.46",9044 "linux-raw-sys 0.0.46",
9016 "windows-sys",9045 "windows-sys",
9567 "once_cell",9596 "once_cell",
9568 "parity-scale-codec 3.1.5",9597 "parity-scale-codec 3.1.5",
9569 "parity-wasm 0.42.2",9598 "parity-wasm 0.42.2",
9570 "rustix 0.35.7",9599 "rustix 0.35.9",
9571 "sc-allocator",9600 "sc-allocator",
9572 "sc-executor-common",9601 "sc-executor-common",
9573 "sp-runtime-interface",9602 "sp-runtime-interface",
1026010289
10261[[package]]10290[[package]]
10262name = "security-framework"10291name = "security-framework"
10263version = "2.6.1"10292version = "2.7.0"
10264source = "registry+https://github.com/rust-lang/crates.io-index"10293source = "registry+https://github.com/rust-lang/crates.io-index"
10265checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"10294checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
10266dependencies = [10295dependencies = [
10267 "bitflags",10296 "bitflags",
10268 "core-foundation",10297 "core-foundation",
1031610345
10317[[package]]10346[[package]]
10318name = "serde"10347name = "serde"
10319version = "1.0.143"10348version = "1.0.144"
10320source = "registry+https://github.com/rust-lang/crates.io-index"10349source = "registry+https://github.com/rust-lang/crates.io-index"
10321checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"10350checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
10322dependencies = [10351dependencies = [
10323 "serde_derive",10352 "serde_derive",
10324]10353]
1032510354
10326[[package]]10355[[package]]
10327name = "serde_derive"10356name = "serde_derive"
10328version = "1.0.143"10357version = "1.0.144"
10329source = "registry+https://github.com/rust-lang/crates.io-index"10358source = "registry+https://github.com/rust-lang/crates.io-index"
10330checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391"10359checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
10331dependencies = [10360dependencies = [
10332 "proc-macro2",10361 "proc-macro2",
10333 "quote",10362 "quote",
1033610365
10337[[package]]10366[[package]]
10338name = "serde_json"10367name = "serde_json"
10339version = "1.0.83"10368version = "1.0.85"
10340source = "registry+https://github.com/rust-lang/crates.io-index"10369source = "registry+https://github.com/rust-lang/crates.io-index"
10341checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"10370checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
10342dependencies = [10371dependencies = [
10343 "itoa 1.0.3",10372 "itoa 1.0.3",
10344 "ryu",10373 "ryu",
1130611335
11307[[package]]11336[[package]]
11308name = "ss58-registry"11337name = "ss58-registry"
11309version = "1.25.0"11338version = "1.28.0"
11310source = "registry+https://github.com/rust-lang/crates.io-index"11339source = "registry+https://github.com/rust-lang/crates.io-index"
11311checksum = "a039906277e0d8db996cd9d1ef19278c10209d994ecfc1025ced16342873a17c"11340checksum = "1c8a1e645fa0bd3e81a90e592a677f7ada3182ac338c4a71cd9ec0ba911f6abb"
11312dependencies = [11341dependencies = [
11313 "Inflector",11342 "Inflector",
11314 "num-format",11343 "num-format",
12386 "log",12415 "log",
12387 "orml-vesting",12416 "orml-vesting",
12388 "pallet-aura",12417 "pallet-aura",
12418 "pallet-authorship",
12389 "pallet-balances",12419 "pallet-balances",
12390 "pallet-base-fee",12420 "pallet-base-fee",
12421 "pallet-collator-selection",
12391 "pallet-common",12422 "pallet-common",
12392 "pallet-configuration",12423 "pallet-configuration",
12393 "pallet-ethereum",12424 "pallet-ethereum",
12403 "pallet-refungible",12434 "pallet-refungible",
12404 "pallet-rmrk-core",12435 "pallet-rmrk-core",
12405 "pallet-rmrk-equip",12436 "pallet-rmrk-equip",
12437 "pallet-session",
12406 "pallet-structure",12438 "pallet-structure",
12407 "pallet-sudo",12439 "pallet-sudo",
12408 "pallet-template-transaction-payment",12440 "pallet-template-transaction-payment",
1247312505
12474[[package]]12506[[package]]
12475name = "up-common"12507name = "up-common"
12476version = "0.9.25"12508version = "0.9.27"
12477dependencies = [12509dependencies = [
12478 "fp-rpc",12510 "fp-rpc",
12479 "frame-support",12511 "frame-support",
modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -24,6 +24,7 @@
 use serde_json::map::Map;
 
 use up_common::types::opaque::*;
+use up_common::constants::EXISTENTIAL_DEPOSIT;
 
 #[cfg(feature = "unique-runtime")]
 pub use unique_runtime as default_runtime;
@@ -146,7 +147,7 @@
 	(
 		$runtime:path,
 		$root_key:expr,
-		$initial_authorities:expr,
+		$initial_invulnerables:expr,
 		$endowed_accounts:expr,
 		$id:expr
 	) => {{
@@ -175,9 +176,31 @@
 				parachain_id: $id.into(),
 			},
 			parachain_system: Default::default(),
-			aura: AuraConfig {
-				authorities: $initial_authorities,
+			collator_selection: CollatorSelectionConfig {
+				invulnerables: $initial_invulnerables
+					.iter()
+					.cloned()
+					.map(|(acc, _)| acc)
+					.collect(),
+				candidacy_bond: EXISTENTIAL_DEPOSIT * 16,
+				..Default::default()
+			},
+			session: SessionConfig {
+				keys: $initial_invulnerables
+					.into_iter()
+					.map(|(acc, aura)| {
+						(
+							acc.clone(),          // account id
+							acc,                  // validator id
+							SessionKeys { aura }, // session keys
+						)
+					})
+					.collect(),
 			},
+			aura: Default::default(),
+			/*aura: AuraConfig {
+				authorities: $initial_authorities,
+			},*/
 			aura_ext: Default::default(),
 			evm: EVMConfig {
 				accounts: BTreeMap::new(),
@@ -217,8 +240,14 @@
 				// Sudo account
 				get_account_id_from_seed::<sr25519::Public>("Alice"),
 				vec![
-					get_from_seed::<AuraId>("Alice"),
-					get_from_seed::<AuraId>("Bob"),
+					(
+						get_account_id_from_seed::<sr25519::Public>("Alice"),
+						get_from_seed::<AuraId>("Alice"),
+					),
+					(
+						get_account_id_from_seed::<sr25519::Public>("Bob"),
+						get_from_seed::<AuraId>("Bob"),
+					),
 				],
 				// Pre-funded accounts
 				vec![
@@ -285,8 +314,14 @@
 				// Sudo account
 				get_account_id_from_seed::<sr25519::Public>("Alice"),
 				vec![
-					get_from_seed::<AuraId>("Alice"),
-					get_from_seed::<AuraId>("Bob"),
+					(
+						get_account_id_from_seed::<sr25519::Public>("Alice"),
+						get_from_seed::<AuraId>("Alice"),
+					),
+					(
+						get_account_id_from_seed::<sr25519::Public>("Bob"),
+						get_from_seed::<AuraId>("Bob"),
+					),
 				],
 				// Pre-funded accounts
 				vec![
modifiedprimitives/common/src/constants.rsdiffbeforeafterboth
--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -35,6 +35,8 @@
 pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE;
 pub const UNIQUE: Balance = 100 * CENTIUNIQUE;
 
+pub const EXISTENTIAL_DEPOSIT: u128 = 0;
+
 // Targeting 0.1 UNQ per transfer
 pub const WEIGHT_TO_FEE_COEFF: u32 = /*<weight2fee>*/207_163_598/*</weight2fee>*/;
 
modifiedruntime/common/config/substrate.rsdiffbeforeafterboth
--- a/runtime/common/config/substrate.rs
+++ b/runtime/common/config/substrate.rs
@@ -33,8 +33,9 @@
 };
 use crate::{
 	runtime_common::DealWithFees, Runtime, Event, Call, Origin, PalletInfo, System, Balances,
-	Treasury, SS58Prefix, Version,
+	Treasury, SS58Prefix, Aura, Session, SessionKeys, CollatorSelection, Version,
 };
+use xcm::v1::BodyId;
 use up_common::{types::*, constants::*};
 
 parameter_types! {
@@ -128,7 +129,7 @@
 
 parameter_types! {
 	// pub const ExistentialDeposit: u128 = 500;
-	pub const ExistentialDeposit: u128 = 0;
+	pub const ExistentialDeposit: u128 = EXISTENTIAL_DEPOSIT;
 	pub const MaxLocks: u32 = 50;
 	pub const MaxReserves: u32 = 50;
 }
@@ -215,3 +216,62 @@
 	type DisabledValidators = ();
 	type MaxAuthorities = MaxAuthorities;
 }
+
+parameter_types! {
+	pub const Period: u32 = 6 * HOURS;
+	pub const Offset: u32 = 0;
+	//pub const MaxAuthorities: u32 = 100_000;
+}
+
+impl pallet_session::Config for Runtime {
+	type Event = Event;
+	type ValidatorId = <Self as frame_system::Config>::AccountId;
+	// we don't have stash and controller, thus we don't need the convert as well.
+	type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
+	type ShouldEndSession = pallet_session::PeriodicSessions<Period, Offset>;
+	type NextSessionRotation = pallet_session::PeriodicSessions<Period, Offset>;
+	type SessionManager = CollatorSelection;
+	// Essentially just Aura, but lets be pedantic.
+	type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
+	type Keys = SessionKeys;
+	type WeightInfo = ();
+}
+
+parameter_types! {
+	pub const UncleGenerations: u32 = 0;
+}
+
+impl pallet_authorship::Config for Runtime {
+	type FindAuthor = pallet_session::FindAccountFromAuthorIndex<Self, Aura>;
+	type UncleGenerations = UncleGenerations;
+	type FilterUncle = ();
+	type EventHandler = (CollatorSelection,);
+}
+
+parameter_types! {
+	pub const PotId: PalletId = PalletId(*b"PotStake");
+	pub const MaxCandidates: u32 = 1000;
+	pub const MinCandidates: u32 = 5;
+	pub const SessionLength: BlockNumber = 6 * HOURS;
+	pub const MaxInvulnerables: u32 = 100;
+	pub const ExecutiveBody: BodyId = BodyId::Executive;
+}
+
+// We allow root only to execute privileged collator selection operations.
+pub type CollatorSelectionUpdateOrigin = EnsureRoot<AccountId>;
+
+impl pallet_collator_selection::Config for Runtime {
+	type Event = Event;
+	type Currency = Balances;
+	type UpdateOrigin = CollatorSelectionUpdateOrigin;
+	type PotId = PotId;
+	type MaxCandidates = MaxCandidates;
+	type MinCandidates = MinCandidates;
+	type MaxInvulnerables = MaxInvulnerables;
+	// should be a multiple of session or things will get inconsistent
+	type KickThreshold = Period;
+	type ValidatorId = <Self as frame_system::Config>::AccountId;
+	type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
+	type ValidatorRegistration = Session;
+	type WeightInfo = ();
+}
modifiedruntime/common/construct_runtime/mod.rsdiffbeforeafterboth
--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -32,8 +32,11 @@
                 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,
                 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,
 
-                Aura: pallet_aura::{Pallet, Config<T>} = 22,
-                AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,
+                Authorship: pallet_authorship::{Pallet, Call, Storage} = 22,
+                CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event<T>, Config<T>} = 23,
+                Session: pallet_session::{Pallet, Call, Storage, Event, Config<T>} = 24,
+                Aura: pallet_aura::{Pallet, Config<T>} = 25,
+                AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 26,
 
                 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,
                 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -25,7 +25,10 @@
 pub mod weights;
 
 use sp_core::H160;
-use frame_support::traits::{Currency, OnUnbalanced, Imbalance};
+use frame_support::{
+	traits::{Currency, OnUnbalanced, Imbalance},
+	weights::Weight,
+};
 use sp_runtime::{
 	generic,
 	traits::{BlakeTwo256, BlockNumberProvider},
@@ -103,6 +106,7 @@
 	frame_system::ChainContext<Runtime>,
 	Runtime,
 	AllPalletsReversedWithSystemFirst,
+	AuraToCollatorSelection,
 >;
 
 type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;
@@ -165,3 +169,158 @@
 	/// Transfer tokens to the given account from the Parachain account.
 	TransferToken(XAccountId, XBalance),
 }
+
+pub struct AuraToCollatorSelection;
+impl frame_support::traits::OnRuntimeUpgrade for AuraToCollatorSelection {
+	fn on_runtime_upgrade() -> Weight {
+		use frame_support::{BoundedVec, storage::migration};
+		use sp_runtime::{
+			traits::{OpaqueKeys, Saturating},
+			RuntimeAppPublic,
+		};
+		use pallet_session::SessionManager;
+		use up_common::constants::EXISTENTIAL_DEPOSIT;
+		use crate::config::substrate::MaxInvulnerables;
+
+		let mut weight = <Runtime as frame_system::Config>::DbWeight::get().reads(1);
+
+		let version =
+			migration::get_storage_value::<()>(b"AuraToCollatorSelection", b"StorageVersion", &[]);
+
+		let should_upgrade = match version {
+			None => true,
+			Some(_) => false,
+		};
+
+		if should_upgrade {
+			log::info!(
+				target: "runtime::aura_to_collator_selection",
+				"Running migration of Aura authorities to Collator Selection invulnerables"
+			);
+
+			let invulnerables = pallet_aura::Pallet::<Runtime>::authorities()
+				.iter()
+				.cloned()
+				.filter_map(|authority_id| {
+					weight.saturating_accrue(<Runtime as frame_system::Config>::DbWeight::get().reads_writes(1, 1));
+					let vec = authority_id.clone().to_raw_vec();
+					let slice = vec.as_slice();
+					let array: Option<[u8; 32]> = match slice.try_into() {
+						Ok(a) => Some(a),
+						Err(_) => {
+							log::error!("Failed to convert an Aura authority to a Collator Selection invulnerable: {:?}", authority_id);
+							None
+						},
+					};
+					array.map(|a| (AccountId::from(a), authority_id))
+				})
+				.collect::<Vec<_>>();
+
+			let bounded_invulnerables = BoundedVec::<_, MaxInvulnerables>::try_from(
+				invulnerables
+					.iter()
+					.cloned()
+					.map(|(acc, _)| acc)
+					.collect::<Vec<_>>(),
+			)
+			.expect("Existing collators/invulnerables are more than MaxInvulnerables");
+			
+			<pallet_collator_selection::Invulnerables<Runtime>>::put(bounded_invulnerables);
+			<pallet_collator_selection::DesiredCandidates<Runtime>>::put(0);
+			<pallet_collator_selection::CandidacyBond<Runtime>>::put(EXISTENTIAL_DEPOSIT * 16);
+
+			let keys = invulnerables
+				.into_iter()
+				.map(|(acc, aura)| {
+					(
+						acc.clone(),                        // account id
+						acc,                                // validator id
+						SessionKeys { aura: aura.clone() }, // session keys
+					)
+				})
+				.collect::<Vec<_>>();
+
+			for (account, val, keys) in keys.iter().cloned() {
+				for id in <Runtime as pallet_session::Config>::Keys::key_ids() {
+					<pallet_session::KeyOwner<Runtime>>::insert((*id, keys.get_raw(*id)), &val)
+				}
+				<pallet_session::NextKeys<Runtime>>::insert(&val, &keys);
+				// todo exercise caution, the following is taken from genesis
+				if frame_system::Pallet::<Runtime>::inc_consumers_without_limit(&account).is_err() {
+					log::warn!(
+						"We have entered an error with incrementing consumers without limit"
+					);
+					// This will leak a provider reference, however it only happens once (at
+					// genesis) so it's really not a big deal and we assume that the user wants to
+					// do this since it's the only way a non-endowed account can contain a session
+					// key.
+					frame_system::Pallet::<Runtime>::inc_providers(&account);
+				}
+			}
+
+			let initial_validators_0 =
+				<Runtime as pallet_session::Config>::SessionManager::new_session(0).unwrap_or_else(
+					|| {
+						frame_support::print(
+							"No initial validator provided by `SessionManager`, use \
+						session config keys to generate initial validator set.",
+						);
+						keys.iter().map(|x| x.1.clone()).collect()
+					},
+				);
+			/*assert!(
+				!initial_validators_0.is_empty(),
+				"Empty validator set for session 0 in (pseudo) genesis block!"
+			);*/
+
+			let initial_validators_1 =
+				<Runtime as pallet_session::Config>::SessionManager::new_session(1)
+					.unwrap_or_else(|| initial_validators_0.clone());
+			/*assert!(
+				!initial_validators_1.is_empty(),
+				"Empty validator set for session 1 in (pseudo) genesis block!"
+			);*/
+
+			let queued_keys: Vec<_> = initial_validators_1
+				.iter()
+				.cloned()
+				.map(|v| {
+					(
+						v.clone(),
+						<pallet_session::NextKeys<Runtime>>::get(&v)
+							.expect("Validator in session 1 missing keys!"),
+					)
+				})
+				.collect();
+
+			// Tell everyone about the genesis session keys -- Aura must've already initialized it
+			//<Runtime as pallet_session::Config>::SessionHandler::on_genesis_session::<<Runtime as pallet_session::Config>::Keys>(&queued_keys);
+
+			<pallet_session::Validators<Runtime>>::put(initial_validators_0);
+			<pallet_session::QueuedKeys<Runtime>>::put(queued_keys);
+
+			<Runtime as pallet_session::Config>::SessionManager::start_session(0);
+
+			log::info!(
+				target: "runtime::aura_to_collator_selection",
+				"Migration of Aura authorities to Collator Selection invulnerables is complete."
+			);
+
+			migration::put_storage_value::<()>(
+				b"AuraToCollatorSelection",
+				b"StorageVersion",
+				&[],
+				(),
+			);
+
+			weight += <Runtime as frame_system::Config>::DbWeight::get().writes(1)
+		} else {
+			log::info!(
+				target: "runtime::aura_to_collator_selection",
+				"The storage migration has already been flagged as complete. No migration needs to be done.",
+			);
+		}
+
+		weight
+	}
+}
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -27,6 +27,7 @@
     'pallet-evm-migration/runtime-benchmarks',
     'pallet-evm-coder-substrate/runtime-benchmarks',
     'pallet-balances/runtime-benchmarks',
+	"pallet-collator-selection/runtime-benchmarks",
     'pallet-timestamp/runtime-benchmarks',
     'pallet-common/runtime-benchmarks',
     'pallet-structure/runtime-benchmarks',
@@ -66,6 +67,9 @@
     # 'pallet-contracts-primitives/std',
     # 'pallet-contracts-rpc-runtime-api/std',
     # 'pallet-contract-helpers/std',
+	"pallet-authorship/std",
+	'pallet-collator-selection/std',
+	"pallet-session/std",
     'pallet-randomness-collective-flip/std',
     'pallet-sudo/std',
     'pallet-timestamp/std',
@@ -190,6 +194,21 @@
 git = "https://github.com/paritytech/substrate"
 branch = "polkadot-v0.9.27"
 
+[dependencies.pallet-collator-selection]
+default-features = false
+git = 'https://github.com/paritytech/cumulus'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-authorship]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-session]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -27,6 +27,7 @@
     'pallet-evm-migration/runtime-benchmarks',
     'pallet-evm-coder-substrate/runtime-benchmarks',
     'pallet-balances/runtime-benchmarks',
+	"pallet-collator-selection/runtime-benchmarks",
     'pallet-timestamp/runtime-benchmarks',
     'pallet-common/runtime-benchmarks',
     'pallet-structure/runtime-benchmarks',
@@ -66,6 +67,9 @@
     # 'pallet-contracts-primitives/std',
     # 'pallet-contracts-rpc-runtime-api/std',
     # 'pallet-contract-helpers/std',
+	"pallet-authorship/std",
+	'pallet-collator-selection/std',
+	"pallet-session/std",
     'pallet-randomness-collective-flip/std',
     'pallet-sudo/std',
     'pallet-timestamp/std',
@@ -187,6 +191,21 @@
 git = "https://github.com/paritytech/substrate"
 branch = "polkadot-v0.9.27"
 
+[dependencies.pallet-collator-selection]
+default-features = false
+git = 'https://github.com/paritytech/cumulus'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-authorship]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-session]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
modifiedruntime/tests/src/lib.rsdiffbeforeafterboth
--- a/runtime/tests/src/lib.rs
+++ b/runtime/tests/src/lib.rs
@@ -189,6 +189,9 @@
 	fn conv_eq(&self, other: &Self) -> bool {
 		self.as_sub() == other.as_sub()
 	}
+	fn is_canonical_substrate(&self) -> bool {
+		todo!()
+	}
 }
 
 impl Default for TestCrossAccountId {
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -27,6 +27,7 @@
     'pallet-evm-migration/runtime-benchmarks',
     'pallet-evm-coder-substrate/runtime-benchmarks',
     'pallet-balances/runtime-benchmarks',
+	"pallet-collator-selection/runtime-benchmarks",
     'pallet-timestamp/runtime-benchmarks',
     'pallet-common/runtime-benchmarks',
     'pallet-structure/runtime-benchmarks',
@@ -67,6 +68,9 @@
     # 'pallet-contracts-primitives/std',
     # 'pallet-contracts-rpc-runtime-api/std',
     # 'pallet-contract-helpers/std',
+	"pallet-authorship/std",
+	'pallet-collator-selection/std',
+	"pallet-session/std",
     'pallet-randomness-collective-flip/std',
     'pallet-sudo/std',
     'pallet-timestamp/std',
@@ -188,6 +192,21 @@
 git = "https://github.com/paritytech/substrate"
 branch = "polkadot-v0.9.27"
 
+[dependencies.pallet-collator-selection]
+default-features = false
+git = 'https://github.com/paritytech/cumulus'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-authorship]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
+[dependencies.pallet-session]
+default-features = false
+git = 'https://github.com/paritytech/substrate'
+branch = 'polkadot-v0.9.27'
+
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"