Skip to content
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

[refactor] #3901: delete NewParameter isi and use only SetParameter #4310

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Binary file modified configs/swarm/executor.wasm
Binary file not shown.
26 changes: 13 additions & 13 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"
},
mversic marked this conversation as resolved.
Show resolved Hide resolved
{
"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 Down
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