[Root] Referendum #173

Root
1yr ago
3 Comments
Executed
No context provided.
Who can edit?
Reply
Up
Share
Status
Decision14d
Confirmation1d
Attempts
1
Tally
99%Aye
50.0%Threshold
1%Nay
Aye
166.99KKSM
Nay
1.7KKSM
  • 0.0%
  • 0.0%
  • 0.0%

Threshold

Support(1.89%)
246.95KKSM
Issuance
13.06MKSM
Votes
Nested
Flattened
Calls
Call
Metadata
Timeline6
Votes Bubble
Statistics
Comments

(Sorry cannot edit above due to signer restrictions)

Fix HostConfiguration (maxCodeSize to 3 MiB)

The current Kusama HostConfiguration does not fulfill all assumptions about its consistency. This proposal aims at correcting that by modifying the on-chain config.

Problem

The HostConfiguration::consistency_check function asserts that the on-chain max_code_size is never larger than MAX_CODE_SIZE. This is violated on Kusama since the concrete max_code_size on-chain is 10 MiB and MAX_CODE_SIZE is only 3 MiB.
You can verify this by querying PolkadotJS:

let config = await api.query.configuration.activeConfig();
console.log(config.maxCodeSize / (1024*1024), "MiB");
// Prints 10 MiB

It is neccecary to correct this since otherwise the consistency_check will stay a No-OP with the assumption: "You cannot break something that is already broken".

Proposal

Set the on-chain max_code_size back to a sane value of 3 MiB. A larger value is not expected to work due to networking restrictions. Related discussions about this are in polkadot/#7108 and polkadot/#7105.

Impact on Para*s

Parachain/Parathread teams should check that all queued runtime upgrade have a size of at most 3 MiB (the Runtime Size as reported by srtool). A sweep across all parachains showed that the largest is currently 1.7 MiB, that is about 57% of the new limit. So no problem here.

Impact on Developers

-

Reply
Up