-
Notifications
You must be signed in to change notification settings - Fork 367
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
feat: update to polkadot v1.1.0 release #1182
Conversation
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.
LGTM
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.
LGTM
Minimum allowed line rate is |
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.
Great work! good for me
Pull Request Summary
Update the dependencies to polkadot-sdk v1.1.0
Major Changes
XCM
The XCM barrier
AllowPaidExecutionFrom
now prevents using multiple currency for buying execution.BuyExecution
that barrier will fail now.transfer_multicurrencies()
primtives/xcm
as is used instead.Remove vendored
xcm-builder
code fromprimitives/xcm
as it’s available in this upliftDescribeAllFamily
as per this PR which was merged after uplift started Add DescribeBodyTerminal to DescribeAllTerminal #1178The XCM instr decoding limit has been set to 100 - Add environmental variable to track decoded instructions paritytech/polkadot-sdk#1320
The following crates in the
polkadot-sdk
has been renamedxcm
->staging-xcm
xcm-executor
->staging-xcm-executor
xcm-builder
->staging-xcm-builder
The
xcm_executor::traits::Convert
is removed andsp_runtime
conversion traits are use with the exception of multi-location conversions for whichxcm_executor::traits::ConvertLocation
trait is used whose APIs different.WeightTrader::buy_weight
method takes an additionalXcmContext
parameter.Frontier
BackendReader
renamed toBackend
and moved to a new cratefc-api
InvalidEvmTransactionError
toTransactionValidationError
Eth::new
accepts two additional parameters (fix: pending runtime api for pending state (#1160) polkadot-evm/frontier#1195)pending_create_inherent_data_providers
: which requires slot & time inherent (for aura) andParachainInherentData
provider (validation data inherent). Since these are needed in a pending context, providing dummy values is enough.pending_consensus_data_provider
: Through which we providedaura_pre_digest
(getting new slot from slot duration and timestamp).Initial support for asynchronous suiciding
polkadot-evm/frontier#1242Client
Runtime
In
frame_system::Config
,Index
was renamed toNonce
- Replace system configIndex
forNonce
paritytech/substrate#14290BlockNumber
,Header
were removed andBlock
was added - MovesBlock
toframe_system
instead ofconstruct_runtime
and removesHeader
andBlockNumber
paritytech/substrate#14437pallet_contracts
: new configs to take into account - Contracts Add deposit for dependencies paritytech/substrate#14079CodeHashLockupDepositPercent
andMaxDelegateDependencies
are taken from rococohrmp::Config
has a new associated typeChannelManager
PoV value is taken into account by transaction pallet - Take into account proof size for transaction payment and priority paritytech/substrate#13958
polkadot_primitives::MAX_POV_SIZE
Genesis config and removal of native runtime execution
no-std
for every type in Genesisbuild_storage
andassimilate_storage
is now provided viasp_runtime::BuildStorage
instead offrame_support::traits::GenesisBuild
pallet_xcm_benchmarks::generic::Config
requires a new methodalias_origin
Migrations
There are very big multi block migrations from pallet-contracts, from v11 we’ll be migrating to v15.
v12
- due to change contracts: switch to wasmi gas metering paritytech/substrate#14084, there is no need to store instrumented code anymore. It movesOwnerInfo
toCodeInfo
, adddeterminism
field to the latter, clearCodeStorage
and repay deposits.v13
- due to change Contracts Add deposit for dependencies paritytech/substrate#14079 storage mapContractInfoOf
receives a new field calleddelegate_dependencies
. This is a map that stores all contract account that calls this account via low-level functiondelegate_call
(e.g. used by contract upgrade scenario). Whatv13
migration does is just adds emptydelegate_dependencies
field to eachContractInfoOf
element.v14
- due to change Contracts: migrate to fungible traits paritytech/substrate#14020 pallet contract start to use Holds API over deprecated Reserve API. It changes nothing, other than that for each account that is the owner of the uploaded code, there will be hold set for all such accounts instead of reserve.CodeInfoOf
map.v15
- due to change Contracts remove deposit accounts paritytech/substrate#14589 that essentially reverts logic contracts: Don't rely on reserved balances keeping an account alive paritytech/substrate#13369 and v10 migration which addeddeposit_account
field toContractInfoOf
. The reason it was needed in the first place was the change introduced in Substrate 0.9.43 version that required ED to be present on free funds.v15
migration iterates over all elements of ContractInfoOf map and:TODO
AllowTopLevelPaidExecutionFrom
restricts fee asset to only 1 now, what's the impact?pallet-contracts
new config valuesFigure out max pov(follow-up task - Optimize the max PoV in relation to block fullness #1184)attempt to remove deprecated imports(follow-up task during async backing - Replace depricatedstart_collator
andAuraConsensus
APIs #1183)start_collator()
pallet-contracts
Check list