diff --git a/framework/meta/src/cargo_toml_contents.rs b/framework/meta/src/cargo_toml_contents.rs index 0237621924..ea0697c2d2 100644 --- a/framework/meta/src/cargo_toml_contents.rs +++ b/framework/meta/src/cargo_toml_contents.rs @@ -213,6 +213,7 @@ impl CargoTomlContents { "panic".to_string(), Value::String(contract_profile.panic.to_owned()), ); + profile_props.insert("overflow-checks".to_string(), Value::Boolean(contract_profile.overflow_checks)); let mut toml_table = toml::map::Map::new(); toml_table.insert("release".to_string(), toml::Value::Table(profile_props)); diff --git a/framework/meta/src/cmd/contract/meta_config.rs b/framework/meta/src/cmd/contract/meta_config.rs index e5beeac415..36b963e1d6 100644 --- a/framework/meta/src/cmd/contract/meta_config.rs +++ b/framework/meta/src/cmd/contract/meta_config.rs @@ -199,6 +199,7 @@ opt-level = \"z\" lto = true debug = false panic = \"abort\" +overflow-checks = true [dependencies.test-crate-name] path = \"..\" diff --git a/framework/meta/src/cmd/contract/sc_config/multi_contract_serde.rs b/framework/meta/src/cmd/contract/sc_config/multi_contract_serde.rs index e671fb485a..fa733e6597 100644 --- a/framework/meta/src/cmd/contract/sc_config/multi_contract_serde.rs +++ b/framework/meta/src/cmd/contract/sc_config/multi_contract_serde.rs @@ -68,6 +68,7 @@ pub struct ContractVariantProfile { pub lto: bool, pub debug: bool, pub panic: String, + pub overflow_checks: bool, } impl Default for ContractVariantProfile { @@ -78,6 +79,7 @@ impl Default for ContractVariantProfile { lto: true, debug: false, panic: "abort".to_owned(), + overflow_checks: true, } } }