git.delta.rocks / unique-network / refs/commits / 2286a2234aea

difftreelog

Merge pull request #1028 from UniqueNetwork/ci/node-only-fix

Yaroslav Bolyukin2023-10-25parents: #bdb29fd #fcc1568.patch.diff
in: master
Fix bdk failure on node-only

2 files changed

modified.github/workflows/node-only-update.ymldiffbeforeafterboth
--- a/.github/workflows/node-only-update.yml
+++ b/.github/workflows/node-only-update.yml
@@ -187,7 +187,7 @@
         if: success() || failure()
         uses: UniqueNetwork/baedeker-action/reconcile@built
         with:
-          baedeker: ${{ steps.bdk.baedeker }}
+          baedeker: ${{ steps.bdk.outputs.baedeker }}
           # Chain should always be built with the mainnet spec, this we first set binary for all nodes expect one, then set mainnet binary for the last node, and then force chainspec to be still generated from mainnet
           inputs: |
             snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, leave = 1, for_chain = false)
@@ -205,7 +205,7 @@
         if: success() || failure()
         uses: UniqueNetwork/baedeker-action/reconcile@built
         with:
-          baedeker: ${{ steps.bdk.baedeker }}
+          baedeker: ${{ steps.bdk.outputs.baedeker }}
           # Chain should always be built with the mainnet spec, this we first set binary for all nodes, and then force chainspec to be still generated from mainnet
           inputs: |
             snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, for_chain = false)
modifiedruntime/common/config/pallets/mod.rsdiffbeforeafterboth
before · runtime/common/config/pallets/mod.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use alloc::string::{String, ToString};1819use frame_support::{20	parameter_types,21	traits::{ConstU32, ConstU64, Currency},22};23use sp_arithmetic::Perbill;24use sp_runtime::traits::{AccountIdConversion, BlockNumberProvider};25use up_common::{26	constants::*,27	types::{AccountId, Balance, BlockNumber},28};29use up_data_structs::mapping::{CrossTokenAddressMapping, EvmTokenAddressMapping};3031#[cfg(feature = "governance")]32use crate::runtime_common::config::governance;33use crate::{34	runtime_common::{35		config::{ethereum::EvmCollectionHelpersAddress, substrate::TreasuryModuleId},36		dispatch::CollectionDispatchT,37		weights::CommonWeights,38		RelayChainBlockNumberProvider,39	},40	Balances, Runtime, RuntimeCall, RuntimeEvent, DECIMALS, TOKEN_SYMBOL, VERSION,41};4243#[cfg(feature = "foreign-assets")]44pub mod foreign_asset;4546#[cfg(feature = "app-promotion")]47pub mod app_promotion;4849#[cfg(feature = "collator-selection")]50pub mod collator_selection;5152#[cfg(feature = "preimage")]53pub mod preimage;5455parameter_types! {56	pub const CollectionCreationPrice: Balance = 2 * UNIQUE;57	pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating();58}5960impl pallet_common::Config for Runtime {61	type WeightInfo = pallet_common::weights::SubstrateWeight<Self>;62	type RuntimeEvent = RuntimeEvent;63	type Currency = Balances;64	type CollectionCreationPrice = CollectionCreationPrice;65	type TreasuryAccountId = TreasuryAccountId;66	type CollectionDispatch = CollectionDispatchT<Self>;6768	type EvmTokenAddressMapping = EvmTokenAddressMapping;69	type CrossTokenAddressMapping = CrossTokenAddressMapping<Self::AccountId>;70	type ContractAddress = EvmCollectionHelpersAddress;71}7273impl pallet_structure::Config for Runtime {74	type RuntimeEvent = RuntimeEvent;75	type RuntimeCall = RuntimeCall;76	type WeightInfo = pallet_structure::weights::SubstrateWeight<Self>;77}7879impl pallet_fungible::Config for Runtime {80	type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;81}82impl pallet_refungible::Config for Runtime {83	type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;84}85impl pallet_nonfungible::Config for Runtime {86	type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;87}8889parameter_types! {90	pub const Decimals: u8 = DECIMALS;91	pub Name: String = String::from_utf8_lossy(VERSION.impl_name.as_ref()).to_string();92	pub Symbol: String = TOKEN_SYMBOL.to_string();93}94impl pallet_balances_adapter::Config for Runtime {95	type Inspect = Balances;96	type Mutate = Balances;97	type CurrencyBalance = <Balances as Currency<Self::AccountId>>::Balance;98	type Decimals = Decimals;99	type Name = Name;100	type Symbol = Symbol;101	type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;102}103104parameter_types! {105	pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied106}107108/// Pallet-inflation needs block number in on_initialize, where there is no `validation_data` exists yet109pub struct OnInitializeBlockNumberProvider;110impl BlockNumberProvider for OnInitializeBlockNumberProvider {111	type BlockNumber = BlockNumber;112113	fn current_block_number() -> Self::BlockNumber {114		// This code was broken previously, but after fixing, we decided it would be better to leave it broken for now.115		0u32.into()116		// use hex_literal::hex;117		// use parity_scale_codec::Decode;118		// use sp_io::storage;119		// // TODO: Replace with the following code after https://github.com/paritytech/polkadot-sdk/commit/3ea497b5a0fdda252f9c5a3c257cfaf8685f02fd lands120		// // <cumulus_pallet_parachain_system::Pallet<Runtime>>::last_relay_block_number()121		//122		// // ParachainSystem.LastRelayChainBlockNumber123		// let Some(encoded) = storage::get(&hex!("45323df7cc47150b3930e2666b0aa313a2bca190d36bd834cc73a38fc213ecbd")) else {124		// 	// First parachain block125		// 	return Default::default()126		// };127		// BlockNumber::decode(&mut encoded.as_ref())128		// 	.expect("typeof(RelayBlockNumber) == typeof(BlockNumber) == u32; qed")129	}130}131132/// Used for the pallet inflation133impl pallet_inflation::Config for Runtime {134	type Currency = Balances;135	type TreasuryAccountId = TreasuryAccountId;136	type InflationBlockInterval = InflationBlockInterval;137	type OnInitializeBlockNumberProvider = OnInitializeBlockNumberProvider;138}139140impl pallet_unique::Config for Runtime {141	type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;142	type CommonWeightInfo = CommonWeights<Self>;143	type StructureWeightInfo = pallet_structure::weights::SubstrateWeight<Self>;144	type RefungibleExtensionsWeightInfo = CommonWeights<Self>;145}146147parameter_types! {148	pub AppPromotionDailyRate: Perbill = Perbill::from_rational(5u32, 10_000);149	pub const MaxCollators: u32 = MAX_COLLATORS;150	pub const LicenseBond: Balance = GENESIS_LICENSE_BOND;151152	pub const DayRelayBlocks: BlockNumber = RELAY_DAYS;153}154155#[cfg(not(feature = "session-test-timings"))]156parameter_types! {157	pub const SessionPeriod: BlockNumber = SESSION_LENGTH;158}159160#[cfg(feature = "session-test-timings")]161parameter_types! {162	pub const SessionPeriod: BlockNumber = 5 * MINUTES;163}164165impl pallet_configuration::Config for Runtime {166	type RuntimeEvent = RuntimeEvent;167	type Balance = Balance;168	type DefaultWeightToFeeCoefficient = ConstU64<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>;169	type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>;170	type DefaultCollatorSelectionMaxCollators = MaxCollators;171	type DefaultCollatorSelectionKickThreshold = SessionPeriod;172	type DefaultCollatorSelectionLicenseBond = LicenseBond;173	type MaxXcmAllowedLocations = ConstU32<16>;174	type AppPromotionDailyRate = AppPromotionDailyRate;175	type DayRelayBlocks = DayRelayBlocks;176	type WeightInfo = pallet_configuration::weights::SubstrateWeight<Self>;177}178179impl pallet_maintenance::Config for Runtime {180	type RuntimeEvent = RuntimeEvent;181182	type RuntimeCall = RuntimeCall;183184	#[cfg(feature = "governance")]185	type ManagerOrigin = governance::RootOrTechnicalCommitteeMember;186187	#[cfg(not(feature = "governance"))]188	type ManagerOrigin = frame_system::EnsureRoot<AccountId>;189190	type PreimageOrigin = frame_system::EnsureRoot<AccountId>;191192	#[cfg(feature = "preimage")]193	type Preimages = crate::Preimage;194	#[cfg(not(feature = "preimage"))]195	type Preimages = ();196	type WeightInfo = pallet_maintenance::weights::SubstrateWeight<Self>;197}
after · runtime/common/config/pallets/mod.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use alloc::string::{String, ToString};1819use frame_support::{20	parameter_types,21	traits::{ConstU32, ConstU64, Currency},22};23use sp_arithmetic::Perbill;24use sp_runtime::traits::{AccountIdConversion, BlockNumberProvider};25use up_common::{26	constants::*,27	types::{AccountId, Balance, BlockNumber},28};29use up_data_structs::mapping::{CrossTokenAddressMapping, EvmTokenAddressMapping};3031#[cfg(feature = "governance")]32use crate::runtime_common::config::governance;33use crate::{34	runtime_common::{35		config::{ethereum::EvmCollectionHelpersAddress, substrate::TreasuryModuleId},36		dispatch::CollectionDispatchT,37		weights::CommonWeights,38		RelayChainBlockNumberProvider,39	},40	Balances, Runtime, RuntimeCall, RuntimeEvent, DECIMALS, TOKEN_SYMBOL, VERSION,41};4243#[cfg(feature = "foreign-assets")]44pub mod foreign_asset;4546#[cfg(feature = "app-promotion")]47pub mod app_promotion;4849#[cfg(feature = "collator-selection")]50pub mod collator_selection;5152#[cfg(feature = "preimage")]53pub mod preimage;5455parameter_types! {56	pub const CollectionCreationPrice: Balance = 2 * UNIQUE;57	pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating();58}5960impl pallet_common::Config for Runtime {61	type WeightInfo = pallet_common::weights::SubstrateWeight<Self>;62	type RuntimeEvent = RuntimeEvent;63	type Currency = Balances;64	type CollectionCreationPrice = CollectionCreationPrice;65	type TreasuryAccountId = TreasuryAccountId;66	type CollectionDispatch = CollectionDispatchT<Self>;6768	type EvmTokenAddressMapping = EvmTokenAddressMapping;69	type CrossTokenAddressMapping = CrossTokenAddressMapping<Self::AccountId>;70	type ContractAddress = EvmCollectionHelpersAddress;71}7273impl pallet_structure::Config for Runtime {74	type RuntimeEvent = RuntimeEvent;75	type RuntimeCall = RuntimeCall;76	type WeightInfo = pallet_structure::weights::SubstrateWeight<Self>;77}7879impl pallet_fungible::Config for Runtime {80	type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;81}82impl pallet_refungible::Config for Runtime {83	type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;84}85impl pallet_nonfungible::Config for Runtime {86	type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;87}8889parameter_types! {90	pub const Decimals: u8 = DECIMALS;91	pub Name: String = String::from_utf8_lossy(VERSION.impl_name.as_ref()).to_string();92	pub Symbol: String = TOKEN_SYMBOL.to_string();93}94impl pallet_balances_adapter::Config for Runtime {95	type Inspect = Balances;96	type Mutate = Balances;97	type CurrencyBalance = <Balances as Currency<Self::AccountId>>::Balance;98	type Decimals = Decimals;99	type Name = Name;100	type Symbol = Symbol;101	type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;102}103104parameter_types! {105	pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied106}107108/// Pallet-inflation needs block number in on_initialize, where there is no `validation_data` exists yet109pub struct OnInitializeBlockNumberProvider;110impl BlockNumberProvider for OnInitializeBlockNumberProvider {111	type BlockNumber = BlockNumber;112113	fn current_block_number() -> Self::BlockNumber {114		// This code was broken previously, but after fixing, we decided it would be better to leave it broken for now.115		0116		// use hex_literal::hex;117		// use parity_scale_codec::Decode;118		// use sp_io::storage;119		// // TODO: Replace with the following code after https://github.com/paritytech/polkadot-sdk/commit/3ea497b5a0fdda252f9c5a3c257cfaf8685f02fd lands120		// // <cumulus_pallet_parachain_system::Pallet<Runtime>>::last_relay_block_number()121		//122		// // ParachainSystem.LastRelayChainBlockNumber123		// let Some(encoded) = storage::get(&hex!("45323df7cc47150b3930e2666b0aa313a2bca190d36bd834cc73a38fc213ecbd")) else {124		// 	// First parachain block125		// 	return Default::default()126		// };127		// BlockNumber::decode(&mut encoded.as_ref())128		// 	.expect("typeof(RelayBlockNumber) == typeof(BlockNumber) == u32; qed")129	}130}131132/// Used for the pallet inflation133impl pallet_inflation::Config for Runtime {134	type Currency = Balances;135	type TreasuryAccountId = TreasuryAccountId;136	type InflationBlockInterval = InflationBlockInterval;137	type OnInitializeBlockNumberProvider = OnInitializeBlockNumberProvider;138}139140impl pallet_unique::Config for Runtime {141	type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;142	type CommonWeightInfo = CommonWeights<Self>;143	type StructureWeightInfo = pallet_structure::weights::SubstrateWeight<Self>;144	type RefungibleExtensionsWeightInfo = CommonWeights<Self>;145}146147parameter_types! {148	pub AppPromotionDailyRate: Perbill = Perbill::from_rational(5u32, 10_000);149	pub const MaxCollators: u32 = MAX_COLLATORS;150	pub const LicenseBond: Balance = GENESIS_LICENSE_BOND;151152	pub const DayRelayBlocks: BlockNumber = RELAY_DAYS;153}154155#[cfg(not(feature = "session-test-timings"))]156parameter_types! {157	pub const SessionPeriod: BlockNumber = SESSION_LENGTH;158}159160#[cfg(feature = "session-test-timings")]161parameter_types! {162	pub const SessionPeriod: BlockNumber = 5 * MINUTES;163}164165impl pallet_configuration::Config for Runtime {166	type RuntimeEvent = RuntimeEvent;167	type Balance = Balance;168	type DefaultWeightToFeeCoefficient = ConstU64<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>;169	type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>;170	type DefaultCollatorSelectionMaxCollators = MaxCollators;171	type DefaultCollatorSelectionKickThreshold = SessionPeriod;172	type DefaultCollatorSelectionLicenseBond = LicenseBond;173	type MaxXcmAllowedLocations = ConstU32<16>;174	type AppPromotionDailyRate = AppPromotionDailyRate;175	type DayRelayBlocks = DayRelayBlocks;176	type WeightInfo = pallet_configuration::weights::SubstrateWeight<Self>;177}178179impl pallet_maintenance::Config for Runtime {180	type RuntimeEvent = RuntimeEvent;181182	type RuntimeCall = RuntimeCall;183184	#[cfg(feature = "governance")]185	type ManagerOrigin = governance::RootOrTechnicalCommitteeMember;186187	#[cfg(not(feature = "governance"))]188	type ManagerOrigin = frame_system::EnsureRoot<AccountId>;189190	type PreimageOrigin = frame_system::EnsureRoot<AccountId>;191192	#[cfg(feature = "preimage")]193	type Preimages = crate::Preimage;194	#[cfg(not(feature = "preimage"))]195	type Preimages = ();196	type WeightInfo = pallet_maintenance::weights::SubstrateWeight<Self>;197}