# Kusama Auctions - New Proposal The following document inteds to serve different options to execute Kusama Auctions for LP27 during LP27. ## Context Auctions on Kusama are scheduled using the Scheduler Pallet. [Referendum 72](https://kusama.subsquare.io/referenda/referendum/72) was proposed on Kusama through the Whitelist Caller Track given that the Scheduler Pallet can't be called by the Auctions Admin ([this PR](https://github.com/paritytech/polkadot/pull/6573/files) will change that). The proposed call to schedule all auctions for Kusama can be seen [here](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-rpc.polkadot.io#/extrinsics/decode/0x1804241d0251a37492c47ff0c069dad8080818b5303493eb91feb718cc4cee7e3ebe39978e54bef9000103000000508b0100004800e2a501006c1d028557b8b9b1177d169c1e675aebde9685c2c141f0e32dadf13c9ca8d70b16dc06fce2ff000105000000508b0100004800e2a50100701d02227b91c3edcc0775442d0b24d507766ecb73d3f4c5f91ae16a78fa027685cfc100ac0701010700000080510100004800f1d2741d029ca55d18392de86b9c464ab3224bea70ceccc54f25feab22ed6c38fa8fabaff180e61001010700000080510100004800f1d2781d02f9c1800fd16e1bb758f29193e2db9555c386499ea0fa479a9f667ef930a05e3100211a01010700000080510100004800f1d27c1d0212f0110cec745116c8801f9c1f44770e3f82976793db821cee4364d4e256aaa6805b2301010700000080510100004800f1d2801d024fb5addef23974b6a5c78cf2bac108aefc41603a04e8e8447fe6e4c6cd511b9500962c01010700000080510100004800f1d2841d02e4739bb1095c94cc172c4f320aebfc71c69f2d1102f4592bed81a687f86cdbc880d03501010700000080510100004800f1d2881d020e4d6cfd138a715673efe7d70d7f2680b3531a04b1bc3052bb34f6c39234cf74000b3f01010700000080510100004800f1d28c). Each auction batch takes the following format: a scheduler entry, with recurrent scheduled calls for auctions for each Lease Period. ![](https://i.imgur.com/reoJwGR.png) Due to voting turnout, Referendum 72 will not be executed before the first scheduled call, set to happen at block height #16_367_188. This means that the first batch of auctions for LP27 will not be executed, as the scheduler pallet [does not allow](https://github.com/paritytech/substrate/blob/495cc0e2b3b06bd3f6b746416fc0d635adcefa7c/frame/scheduler/src/lib.rs#L714) the execution of an action in a past block. The issue with this is that teams that need to renovate their slot during LP27 to keep uptime of their parachains will not be able to do so, therefore having to interrupt their service to the community. ## Potential solutions All the proposed auctions will have a shorter duration versus the original ones so that three can be fitted into the same time. ### Plan A: Auction now (Auction Caller) + scheduled after (Root) This option would trigger an auction to be approved through the Auction Caller first, and then scheduled the following auctions using the scheduler pallet via Root Caller. The main issue with this option is that the first auction can be triggered anywhere from 10 minutes to 14 days, depending on voting turnout. The following table has the information on what the needed turnout should be for this to work. Max Target Block is the latest this can be submitted given the support it can have. If submitted today (27/Jan), then it will need at least a support of 3.85% for this solution to work. | Time | # Blocks | Support | Approval | Max Target Block | |:------:|:----------:|:---------:|:----------:|:------------------:| | 0 | 0 | 50% | 100.000% | 16,479,387 | | 1 | 600 | 48.27% | 99.410% | 16,478,787 | | 2 | 1200 | 46.65% | 98.830% | 16,478,187 | | 3 | 1800 | 45.12% | 98.261% | 16,477,587 | | 6 | 3600 | 41.04% | 96.610% | 16,475,787 | | 12 | 7200 | 34.62% | 93.548% | 16,472,187 | | 24 | 14400 | 26.00% | 88.235% | 16,464,987 | | 72 | 43200 | 11.70% | 73.913% | 16,436,187 | | 168 | 100800 | 3.85% | 60.000% | 16,378,587 | | 240 | 144000 | 1.61% | 54.545% | 16,335,387 | | 336 | 201600 | 0.00% | 50.000% | 16,277,787 | The new Schdelur call, on the other hand, will need to execute before block #16_568_788. If submitted today (27/Jan), then it will work for every case scenario. | Time | # Blocks | Support | Approval | Max Target Block | |------|----------|---------|----------|------------------| | 0 | 0 | 50.00% | 100.000% | 16,568,787 | | 1 | 600 | 49.85% | 99.410% | 16,568,187 | | 2 | 1200 | 49.70% | 98.830% | 16,567,587 | | 3 | 1800 | 49.55% | 98.261% | 16,566,987 | | 6 | 3600 | 49.11% | 96.610% | 16,565,187 | | 12 | 7200 | 48.21% | 93.548% | 16,561,587 | | 24 | 14400 | 46.43% | 88.235% | 16,554,387 | | 72 | 43200 | 39.29% | 73.913% | 16,525,587 | | 168 | 100800 | 25.00% | 60.000% | 16,467,987 | | 240 | 144000 | 14.29% | 54.545% | 16,424,787 | | 336 | 201600 | 0.00% | 50.000% | 16,367,187 | #### Calls - Auction: Auction Admin - Parameters ``` auctions.newAuction(duration: 14400, leasePeriodIndex: 27) ``` - Encoded call Data: [0x480001e16c](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-rpc.polkadot.io#/extrinsics/decode/0x480001e16c) - Scheduler: Root Admin - Encoded call Data: [0x1804041d0251a37492c47ff0c069dad8080818b5303493eb91feb718cc4cee7e3ebe39978ed4d1fc000102000000c089010000480001e16c](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-rpc.polkadot.io#/extrinsics/decode/0x1804041d0251a37492c47ff0c069dad8080818b5303493eb91feb718cc4cee7e3ebe39978ed4d1fc000102000000c089010000480001e16c) - Auction Parameters: ``` auctions.newAuction(duration: 14400, leasePeriodIndex: 27) ``` --- ### Plan B: All auctions: Auction Caller This option would require submitting the same auction creation call but through the auction caller without using the scheduler. The auction will be triggered as soon as it passes. Given that there can't be two concurrent auctions, the auctions need to be timed one after the other one, and that this will depend on the vote turnout, this is a very tough option to get the timming right. #### Calls - Auction - Parameters ``` auctions.newAuction(duration: 14400, leasePeriodIndex: 27) ``` - Encoded call Data: [0x480001e16c](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-rpc.polkadot.io#/extrinsics/decode/0x480001e16c) --- ### Plan C: Scheduled auctions: Whitelist Caller This option would be to submit a Whitelist Call with the new auction parameters to get three auctions in line. - Scheduler - Encoded call Data: [0x1804041d0251a37492c47ff0c069dad8080818b5303493eb91feb718cc4cee7e3ebe39978e1448fb000103000000c089010000480001e16c](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-rpc.polkadot.io#/extrinsics/decode/0x1804041d0251a37492c47ff0c069dad8080818b5303493eb91feb718cc4cee7e3ebe39978e1448fb000103000000c089010000480001e16c) - Auction Parameters: ``` auctions.newAuction(duration: 14400, leasePeriodIndex: 27) ```