diff --git a/configs/swarm/executor.wasm b/configs/swarm/executor.wasm index 135f1021cc0..b51d763b949 100644 Binary files a/configs/swarm/executor.wasm and b/configs/swarm/executor.wasm differ diff --git a/configs/swarm/genesis.json b/configs/swarm/genesis.json index 06ff98e60d6..c1d7c27aa8f 100644 --- a/configs/swarm/genesis.json +++ b/configs/swarm/genesis.json @@ -127,43 +127,43 @@ } }, { - "NewParameter": "?MaxTransactionsInBlock=512" + "SetParameter": "?MaxTransactionsInBlock=512" }, { - "NewParameter": "?BlockTime=2000" + "SetParameter": "?BlockTime=2000" }, { - "NewParameter": "?CommitTimeLimit=4000" + "SetParameter": "?CommitTimeLimit=4000" }, { - "NewParameter": "?TransactionLimits=4096,4194304_TL" + "SetParameter": "?TransactionLimits=4096,4194304_TL" }, { - "NewParameter": "?WSVAssetMetadataLimits=1048576,4096_ML" + "SetParameter": "?WSVAssetMetadataLimits=1048576,4096_ML" }, { - "NewParameter": "?WSVAssetDefinitionMetadataLimits=1048576,4096_ML" + "SetParameter": "?WSVAssetDefinitionMetadataLimits=1048576,4096_ML" }, { - "NewParameter": "?WSVAccountMetadataLimits=1048576,4096_ML" + "SetParameter": "?WSVAccountMetadataLimits=1048576,4096_ML" }, { - "NewParameter": "?WSVDomainMetadataLimits=1048576,4096_ML" + "SetParameter": "?WSVDomainMetadataLimits=1048576,4096_ML" }, { - "NewParameter": "?WSVIdentLengthLimits=1,128_LL" + "SetParameter": "?WSVIdentLengthLimits=1,128_LL" }, { - "NewParameter": "?ExecutorFuelLimit=55000000" + "SetParameter": "?ExecutorFuelLimit=55000000" }, { - "NewParameter": "?ExecutorMaxMemory=524288000" + "SetParameter": "?ExecutorMaxMemory=524288000" }, { - "NewParameter": "?WASMFuelLimit=55000000" + "SetParameter": "?WASMFuelLimit=55000000" }, { - "NewParameter": "?WASMMaxMemory=524288000" + "SetParameter": "?WASMMaxMemory=524288000" }, { "Register": { @@ -188,5 +188,5 @@ } ] ], - "executor": "./executor.wasm" + "executor": "./configs/swarm/executor.wasm" } diff --git a/core/src/smartcontracts/isi/mod.rs b/core/src/smartcontracts/isi/mod.rs index ccd65f6d8cb..ae491aed42e 100644 --- a/core/src/smartcontracts/isi/mod.rs +++ b/core/src/smartcontracts/isi/mod.rs @@ -46,7 +46,6 @@ impl Execute for InstructionBox { Self::Revoke(isi) => isi.execute(authority, wsv), Self::ExecuteTrigger(isi) => isi.execute(authority, wsv), Self::SetParameter(isi) => isi.execute(authority, wsv), - Self::NewParameter(isi) => isi.execute(authority, wsv), Self::Upgrade(isi) => isi.execute(authority, wsv), Self::Log(isi) => isi.execute(authority, wsv), } diff --git a/core/src/smartcontracts/isi/world.rs b/core/src/smartcontracts/isi/world.rs index 44ae2f2eb2e..5db714d2e6c 100644 --- a/core/src/smartcontracts/isi/world.rs +++ b/core/src/smartcontracts/isi/world.rs @@ -193,27 +193,6 @@ pub mod isi { } } - impl Execute for NewParameter { - #[metrics(+"new_parameter")] - fn execute(self, _authority: &AccountId, wsv: &mut WorldStateView) -> Result<(), Error> { - let parameter = self.parameter; - let parameter_id = parameter.id.clone(); - - let world = wsv.world_mut(); - if !world.parameters.insert(parameter) { - return Err(RepetitionError { - instruction_type: InstructionType::NewParameter, - id: IdBox::ParameterId(parameter_id), - } - .into()); - } - - wsv.emit_events(Some(ConfigurationEvent::Created(parameter_id))); - - Ok(()) - } - } - impl Execute for Upgrade { #[metrics(+"upgrade_executor")] fn execute(self, authority: &AccountId, wsv: &mut WorldStateView) -> Result<(), Error> { diff --git a/data_model/src/isi.rs b/data_model/src/isi.rs index ff966821b45..e644509afca 100644 --- a/data_model/src/isi.rs +++ b/data_model/src/isi.rs @@ -93,8 +93,6 @@ pub mod model { #[debug(fmt = "{_0:?}")] SetParameter(SetParameter), #[debug(fmt = "{_0:?}")] - NewParameter(NewParameter), - #[debug(fmt = "{_0:?}")] Upgrade(Upgrade), #[debug(fmt = "{_0:?}")] Log(Log), @@ -158,7 +156,6 @@ pub mod model { impl Instruction for Revoke {} impl Instruction for SetParameter {} - impl Instruction for NewParameter {} impl Instruction for Upgrade {} impl Instruction for ExecuteTrigger {} impl Instruction for Log {} @@ -244,22 +241,6 @@ mod transparent { impl_into_box!(SetParameter ==> InstructionBox::SetParameter); - isi! { - /// Sized structure for all possible on-chain configuration parameters when they are first created. - /// Generic instruction for setting a chain-wide config parameter. - #[derive(Constructor, Display)] - #[display(fmt = "SET `{parameter}`")] - #[serde(transparent)] - #[repr(transparent)] - pub struct NewParameter { - /// Parameter to be changed. - #[serde(flatten)] - pub parameter: Parameter, - } - } - - impl_into_box!(NewParameter ==> InstructionBox::NewParameter); - isi! { /// Generic instruction to set key value at the object. #[schema(bounds = "O: Identifiable, O::Id: IntoSchema")] @@ -1550,8 +1531,8 @@ pub mod error { pub mod prelude { pub use super::{ AccountMintBox, AssetBurnBox, AssetMintBox, AssetTransferBox, Burn, BurnBox, - ExecuteTrigger, Fail, Grant, GrantBox, InstructionBox, Log, Mint, MintBox, NewParameter, - Register, RegisterBox, RemoveKeyValue, RemoveKeyValueBox, Revoke, RevokeBox, SetKeyValue, + ExecuteTrigger, Fail, Grant, GrantBox, InstructionBox, Log, Mint, MintBox, Register, + RegisterBox, RemoveKeyValue, RemoveKeyValueBox, Revoke, RevokeBox, SetKeyValue, SetKeyValueBox, SetParameter, Transfer, TransferBox, Unregister, UnregisterBox, Upgrade, }; } diff --git a/data_model/src/lib.rs b/data_model/src/lib.rs index b124e7e678d..b89fe4fc9d1 100644 --- a/data_model/src/lib.rs +++ b/data_model/src/lib.rs @@ -140,7 +140,6 @@ mod seal { Revoke, SetParameter, - NewParameter, Upgrade, ExecuteTrigger, Log, @@ -494,15 +493,6 @@ pub mod parameter { .map(Into::into) .collect() } - - /// Create sequence isi for creating parameters - pub fn into_create_parameters(self) -> Vec { - self.parameters - .into_iter() - .map(isi::NewParameter::new) - .map(Into::into) - .collect() - } } pub mod prelude { diff --git a/data_model/src/transaction.rs b/data_model/src/transaction.rs index bd13a66cf28..726cf723764 100644 --- a/data_model/src/transaction.rs +++ b/data_model/src/transaction.rs @@ -608,7 +608,6 @@ pub mod error { Revoke(_) => "revoke", ExecuteTrigger(_) => "execute trigger", SetParameter(_) => "set parameter", - NewParameter(_) => "new parameter", Upgrade(_) => "upgrade", Log(_) => "log", }; diff --git a/data_model/src/visit.rs b/data_model/src/visit.rs index 31a1478bd1f..99008fbbdd3 100644 --- a/data_model/src/visit.rs +++ b/data_model/src/visit.rs @@ -40,7 +40,6 @@ pub trait Visit { visit_upgrade(&Upgrade), visit_execute_trigger(&ExecuteTrigger), - visit_new_parameter(&NewParameter), visit_set_parameter(&SetParameter), visit_log(&Log), @@ -237,9 +236,6 @@ pub fn visit_instruction( isi: &InstructionBox, ) { match isi { - InstructionBox::NewParameter(variant_value) => { - visitor.visit_new_parameter(authority, variant_value) - } InstructionBox::SetParameter(variant_value) => { visitor.visit_set_parameter(authority, variant_value) } @@ -453,7 +449,6 @@ leaf_visitors! { visit_mint_trigger_repetitions(&Mint>), visit_burn_trigger_repetitions(&Burn>), visit_upgrade(&Upgrade), - visit_new_parameter(&NewParameter), visit_set_parameter(&SetParameter), visit_execute_trigger(&ExecuteTrigger), visit_fail(&Fail), diff --git a/docs/source/references/schema.json b/docs/source/references/schema.json index 7de02949e9e..73d55392a74 100644 --- a/docs/source/references/schema.json +++ b/docs/source/references/schema.json @@ -2110,24 +2110,19 @@ "discriminant": 10, "type": "SetParameter" }, - { - "tag": "NewParameter", - "discriminant": 11, - "type": "NewParameter" - }, { "tag": "Upgrade", - "discriminant": 12, + "discriminant": 11, "type": "Upgrade" }, { "tag": "Log", - "discriminant": 13, + "discriminant": 12, "type": "Log" }, { "tag": "Fail", - "discriminant": 14, + "discriminant": 13, "type": "Fail" } ] @@ -2268,21 +2263,17 @@ "tag": "SetParameter", "discriminant": 10 }, - { - "tag": "NewParameter", - "discriminant": 11 - }, { "tag": "Upgrade", - "discriminant": 12 + "discriminant": 11 }, { "tag": "Log", - "discriminant": 13 + "discriminant": 12 }, { "tag": "Fail", - "discriminant": 14 + "discriminant": 13 } ] }, @@ -2729,14 +2720,6 @@ } ] }, - "NewParameter": { - "Struct": [ - { - "name": "parameter", - "type": "Parameter" - } - ] - }, "NewRole": { "Struct": [ { diff --git a/schema/gen/src/lib.rs b/schema/gen/src/lib.rs index fa572e164f6..2c95ec629f8 100644 --- a/schema/gen/src/lib.rs +++ b/schema/gen/src/lib.rs @@ -228,7 +228,6 @@ types!( NewAccount, NewAssetDefinition, NewDomain, - NewParameter, NewRole, NonTrivial, NonZeroU64, diff --git a/smart_contract/executor/derive/src/default.rs b/smart_contract/executor/derive/src/default.rs index 03576df9ab0..fb486beef15 100644 --- a/smart_contract/executor/derive/src/default.rs +++ b/smart_contract/executor/derive/src/default.rs @@ -161,7 +161,6 @@ pub fn impl_derive_visit(emitter: &mut Emitter, input: &syn2::DeriveInput) -> To "fn visit_burn_trigger_repetitions(operation: &Burn>)", "fn visit_execute_trigger(operation: &ExecuteTrigger)", "fn visit_set_parameter(operation: &SetParameter)", - "fn visit_new_parameter(operation: &NewParameter)", "fn visit_upgrade(operation: &Upgrade)", "fn visit_log(operation: &Log)", "fn visit_fail(operation: &Fail)", diff --git a/smart_contract/executor/src/default.rs b/smart_contract/executor/src/default.rs index 85639593b4c..873d5eada70 100644 --- a/smart_contract/executor/src/default.rs +++ b/smart_contract/executor/src/default.rs @@ -30,7 +30,7 @@ pub use executor::visit_upgrade; pub use fail::visit_fail; use iroha_smart_contract::data_model::isi::InstructionBox; pub use log::visit_log; -pub use parameter::{visit_new_parameter, visit_set_parameter}; +pub use parameter::visit_set_parameter; pub use peer::{visit_register_peer, visit_unregister_peer}; pub use permission_token::{visit_grant_account_permission, visit_revoke_account_permission}; pub use role::{ @@ -96,9 +96,6 @@ pub fn visit_instruction( isi: &InstructionBox, ) { match isi { - InstructionBox::NewParameter(isi) => { - executor.visit_new_parameter(authority, isi); - } InstructionBox::SetParameter(isi) => { executor.visit_set_parameter(authority, isi); } @@ -1243,25 +1240,6 @@ pub mod asset { pub mod parameter { use super::*; - #[allow(clippy::needless_pass_by_value)] - pub fn visit_new_parameter( - executor: &mut V, - authority: &AccountId, - isi: &NewParameter, - ) { - if is_genesis(executor) { - execute!(executor, isi); - } - if tokens::parameter::CanCreateParameters.is_owned_by(authority) { - execute!(executor, isi); - } - - deny!( - executor, - "Can't create new configuration parameters outside genesis without permission" - ); - } - #[allow(clippy::needless_pass_by_value)] pub fn visit_set_parameter( executor: &mut V, diff --git a/tools/kagami/src/genesis.rs b/tools/kagami/src/genesis.rs index 7f4ed34ea8a..4cc77a678f2 100644 --- a/tools/kagami/src/genesis.rs +++ b/tools/kagami/src/genesis.rs @@ -195,7 +195,7 @@ pub fn generate_default(executor: ExecutorMode) -> color_eyre::Result