This will be a batch of two scheduled transactions. They would probably work fine at once, but will schedule to be safe and ensure that the set_storage
takes place prior to authorizing the upgrade.
The first will set some storage keys in Shell for Statemint's "genesis". The second will authorize the upgrade to Statemint. Both calls need to be constructed on Shell and then dispatched from the Relay Chain in an XCM.
See the release notes to review the assets, reproduce the set_storage
call, and generate the runtime.
The set_storage
call can be generated with the build-spec
command from a collator node, using statemint_genesis.json
as input. See the release notes for more info. Notable storage items include:
SafeXcmVersion
to 2
to protect against older XCM formats.Call data (statemint_genesis_values.scale):
0x0006908015464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf110000000008015464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea4290800008015464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a0502104c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7620b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b38015464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe185054000a0acb9030000000000000000000000801809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea42908000080267ada16405529c2f7ef2727d71edbde4e7b9012096b41c4eb3aaf947f6ea429080000083a6300803c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429080000803c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d0502104c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7620b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b3803f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea4290800008057f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea4290800008057f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d0502104c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7620b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b3805e8a19e3cd1b7c148b33880c479c02814e7b9012096b41c4eb3aaf947f6ea42908000080682a59d51ab9e48a8c8cc418ff9708d24e7b9012096b41c4eb3aaf947f6ea429080000807474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429080000807b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea42908000080c2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1040180c2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea42908000080c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80400000000000000000000000000000000080cd5c1f6df63bc97f4a8ce37f14a50ca74e7b9012096b41c4eb3aaf947f6ea4290800002101cec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb30b1aeeca675702f24c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421804c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d54212101cec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb314f6a7e973c2c34dc5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b76280c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7622101cec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb34cb6fa5260704ee40b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b3800b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b32101cec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb35242002c980f9df1c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d781180c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d781180cec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea4290800003501cec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19502fe5f80e8854f64761757261804c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421804c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d54213501cec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a3f059d7e690a34f6175726180c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d781180c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d78113501cec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c41649dd3c9d26696175726180c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b76280c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7623501cec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950fa571e62466b970561757261800b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b3800b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b380cec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e169030502104c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7620b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b380cec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d46090504104c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d54214c3d674d2a01060f0ded218e5dcc6f90c1726f43df79885eb3e22d97a20d5421c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c7d7d38d16bc23c6321152c50306212dc22c0efc04a2e52b5cccfc31ab3d7811c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b762c5c07ba203d7375675f5c1ebe70f0a5bb729ae57b48bcc877fcc2ab21309b7620b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b30b2d0013fb974794bd7aa452465b567d48ef70373fe231a637c1fb7c547e85b380d57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea42908000080d5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea42908000080e38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea42908000080e38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4100200000080f0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429080000
This message authorizes the upgrade of Shell to a runtime with a given hash (statemint_runtime-v601.compact.compressed.wasm). Once the upgrade is authorized, anyone can submit the runtime via parachain_system.enact_authorized_upgrade
, and it will upgrade 600 blocks (approximately 1 hour) later.
Call data: 0x0103af49687b93d91fc08c1fcea1001d724a95c533a949019645d3e4179beedbf67e
This proposal is to schedule these messages to dispatch from Polkadot to Shell. They will dispatch 5 and 20 blocks after enactment to ensure each is processed separately. We give them plenty of weight (100 billion and 1 billion, respectively) to ensure they execute.
Call hash: 0xa6830793b6a3473f66fbd7305a9e330dd2dd688df0e8fcbd0c9ff08d28040a34
Two Transactions: Two scheduled transactions will be executed. The first sets storage keys, and the second authorizes an upgrade.
Set Storage: The set_storage
call sets important storage items, including:
SafeXcmVersion
to 2
Authorize Upgrade: This call authorizes the upgrade of Shell to a new runtime.
XCM Dispatch: Both calls are constructed on Shell and dispatched via XCM from the Relay Chain.
Polkadot Proposal: The proposal schedules these messages to dispatch from Polkadot to Shell, ensuring they are processed separately.
Call Data: Specific call data is provided for both the set_storage
and authorize upgrade calls.
Execution Timing: The transactions are scheduled to dispatch 5 and 20 blocks after enactment, with sufficient weight to ensure execution.
Call Hash: The call hash for the proposal is provided, along with visual aids for reference.