-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Substrate to 1.13.0 #2868
Conversation
litep2p brings OpenSSL as dependency (paritytech/polkadot-sdk#4856) 😞 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sync test works.
… to removed WebRTC support
Created litep2p fork to get rid of OpenSSL: https://github.com/subspace/litep2p/tree/subspace-v1 |
Skimmed through MMR leaf proof and Ancestry proof changes. We already patched on our end the on-chain block hash limitation and using ancestry proof may not be worth it since it introduces extra storage proofs. On the other hand, we may benefit from not storing the MMR roots since we can use the Ancestry proof to prove any parent blocks. Will take a closer look again and will initiate some dicussion if we can benefit from the change @nazar-pc. Thanks for pointing it out |
Hm... domain tests are failing with too large allocation 🤔 |
@nazar-pc looks like this upgrade increases the genesis payload till 37 Mib while the limit is 32 Mib I'm still looking if we can build wasm only in |
IIRC WASM runtime is already build in release even for debug builds 🤔 |
Apparently not, from the code base, I see we have to explicitly set I'm testing this locally. Will let you know if it works |
That is not what I see 🤔 Even for debug builds WASM is built as release:
|
@nazar-pc Yes, WASM blob is being built with release profile but it skips the compression of compact WASM because tests are run in debug profile. So final |
Force EVM test runtime with `release` profile to get compressed compacted wasm
This updates Substrate from 1.10.1 to 1.13.0.
PR points to tips of https://github.com/subspace/polkadot-sdk/tree/subspace-v6 and https://github.com/subspace/frontier/tree/subspace-v8
Te biggest change upstream was probably related to networking refactoring (they have introduced litep2p library, which is libp2p-compatible reimplementation, as an option).
I have dropped a custom limit for block download response size in Substrate. The reason is that we mostly rely on DSN sync these days and that limit was more important when syncing using Substrate sync during early history with heavy blocks when users had a very slow Internet route to other peers.
Other patches were rebased without major conflicts. I have created two upstream PRs (paritytech/polkadot-sdk#4842 and paritytech/polkadot-sdk#4844) that do not introduce concurrent block verification, but still reduce our diff downstream and shouldn't be very controversial for upstream.
Interesting PRs on Substrate side:
frame
crate topolkadot-sdk-frame
paritytech/polkadot-sdk#3813Currency
tofungible
paritytech/polkadot-sdk#2292GenesisConfig
presets for runtime paritytech/polkadot-sdk#2714 (this might be useful for test network potentially)whitelist ips
in rate limiting paritytech/polkadot-sdk#3701Multiaddr
& related types with substrate-specific types paritytech/polkadot-sdk#4198AncestryProof
paritytech/polkadot-sdk#4430 (@vedhavyas this introduces new proof type in addition to leaf proofs we used before, might be potentially useful)burn_allow_death
extrinsic paritytech/polkadot-sdk#3964The only potentially interesting PRs on frontier side are these:
Code contributor checklist: