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
set_storage
happens before authorizing an upgrade.SafeXcmVersion
to 2
.set_storage
and authorize upgrade transactions.