Skip to content

Commit

Permalink
[refactor] delete NewParameter isi
Browse files Browse the repository at this point in the history
Signed-off-by: Asem-Abdelhady <asemshawkey@gmail.com>
  • Loading branch information
Asem-Abdelhady committed Feb 21, 2024
1 parent 64e9e31 commit 29583ce
Show file tree
Hide file tree
Showing 13 changed files with 24 additions and 122 deletions.
Binary file modified configs/swarm/executor.wasm
Binary file not shown.
28 changes: 14 additions & 14 deletions configs/swarm/genesis.json
Expand Up @@ -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": {
Expand All @@ -188,5 +188,5 @@
}
]
],
"executor": "./executor.wasm"
"executor": "./configs/swarm/executor.wasm"
}
1 change: 0 additions & 1 deletion core/src/smartcontracts/isi/mod.rs
Expand Up @@ -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),
}
Expand Down
21 changes: 0 additions & 21 deletions core/src/smartcontracts/isi/world.rs
Expand Up @@ -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> {
Expand Down
23 changes: 2 additions & 21 deletions data_model/src/isi.rs
Expand Up @@ -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),
Expand Down Expand Up @@ -158,7 +156,6 @@ pub mod model {
impl Instruction for Revoke<RoleId> {}

impl Instruction for SetParameter {}
impl Instruction for NewParameter {}
impl Instruction for Upgrade {}
impl Instruction for ExecuteTrigger {}
impl Instruction for Log {}
Expand Down Expand Up @@ -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")]
Expand Down Expand Up @@ -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,
};
}
10 changes: 0 additions & 10 deletions data_model/src/lib.rs
Expand Up @@ -140,7 +140,6 @@ mod seal {
Revoke<RoleId>,

SetParameter,
NewParameter,
Upgrade,
ExecuteTrigger,
Log,
Expand Down Expand Up @@ -494,15 +493,6 @@ pub mod parameter {
.map(Into::into)
.collect()
}

/// Create sequence isi for creating parameters
pub fn into_create_parameters(self) -> Vec<InstructionBox> {
self.parameters
.into_iter()
.map(isi::NewParameter::new)
.map(Into::into)
.collect()
}
}

pub mod prelude {
Expand Down
1 change: 0 additions & 1 deletion data_model/src/transaction.rs
Expand Up @@ -608,7 +608,6 @@ pub mod error {
Revoke(_) => "revoke",
ExecuteTrigger(_) => "execute trigger",
SetParameter(_) => "set parameter",
NewParameter(_) => "new parameter",
Upgrade(_) => "upgrade",
Log(_) => "log",
};
Expand Down
5 changes: 0 additions & 5 deletions data_model/src/visit.rs
Expand Up @@ -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),

Expand Down Expand Up @@ -237,9 +236,6 @@ pub fn visit_instruction<V: Visit + ?Sized>(
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)
}
Expand Down Expand Up @@ -453,7 +449,6 @@ leaf_visitors! {
visit_mint_trigger_repetitions(&Mint<u32, Trigger<TriggeringFilterBox>>),
visit_burn_trigger_repetitions(&Burn<u32, Trigger<TriggeringFilterBox>>),
visit_upgrade(&Upgrade),
visit_new_parameter(&NewParameter),
visit_set_parameter(&SetParameter),
visit_execute_trigger(&ExecuteTrigger),
visit_fail(&Fail),
Expand Down
29 changes: 6 additions & 23 deletions docs/source/references/schema.json
Expand Up @@ -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"
}
]
Expand Down Expand Up @@ -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
}
]
},
Expand Down Expand Up @@ -2729,14 +2720,6 @@
}
]
},
"NewParameter": {
"Struct": [
{
"name": "parameter",
"type": "Parameter"
}
]
},
"NewRole": {
"Struct": [
{
Expand Down
1 change: 0 additions & 1 deletion schema/gen/src/lib.rs
Expand Up @@ -228,7 +228,6 @@ types!(
NewAccount,
NewAssetDefinition,
NewDomain,
NewParameter,
NewRole,
NonTrivial<PredicateBox>,
NonZeroU64,
Expand Down
1 change: 0 additions & 1 deletion smart_contract/executor/derive/src/default.rs
Expand Up @@ -161,7 +161,6 @@ pub fn impl_derive_visit(emitter: &mut Emitter, input: &syn2::DeriveInput) -> To
"fn visit_burn_trigger_repetitions(operation: &Burn<u32, Trigger<TriggeringFilterBox>>)",
"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)",
Expand Down
24 changes: 1 addition & 23 deletions smart_contract/executor/src/default.rs
Expand Up @@ -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::{
Expand Down Expand Up @@ -96,9 +96,6 @@ pub fn visit_instruction<V: Validate + ?Sized>(
isi: &InstructionBox,
) {
match isi {
InstructionBox::NewParameter(isi) => {
executor.visit_new_parameter(authority, isi);
}
InstructionBox::SetParameter(isi) => {
executor.visit_set_parameter(authority, isi);
}
Expand Down Expand Up @@ -1243,25 +1240,6 @@ pub mod asset {
pub mod parameter {
use super::*;

#[allow(clippy::needless_pass_by_value)]
pub fn visit_new_parameter<V: Validate + ?Sized>(
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<V: Validate + ?Sized>(
executor: &mut V,
Expand Down
2 changes: 1 addition & 1 deletion tools/kagami/src/genesis.rs
Expand Up @@ -195,7 +195,7 @@ pub fn generate_default(executor: ExecutorMode) -> color_eyre::Result<RawGenesis
.add_parameter(EXECUTOR_MAX_MEMORY, DEFAULT_WASM_MAX_MEMORY_BYTES)?
.add_parameter(WASM_FUEL_LIMIT, DEFAULT_WASM_FUEL_LIMIT)?
.add_parameter(WASM_MAX_MEMORY, DEFAULT_WASM_MAX_MEMORY_BYTES)?
.into_create_parameters();
.into_set_parameters();

let first_tx = genesis
.first_transaction_mut()
Expand Down

0 comments on commit 29583ce

Please sign in to comment.