contracts: Reduce the API surface (#8359)

* contracts: Remove types and storage from the public interface

* contracts: Remove current_schedule() getter

* contracts: Improve documentation

* Update README.md

* Fix integration test
This commit is contained in:
Alexander Theißen
2021-03-24 09:09:19 +01:00
committed by GitHub
parent d343683ca9
commit d98a3c7942
14 changed files with 256 additions and 238 deletions
+19 -19
View File
@@ -943,7 +943,7 @@ mod tests {
test_utils::{place_contract, set_balance, get_balance},
},
exec::ExportedFunction::*,
Error, Weight,
Error, Weight, CurrentSchedule,
};
use sp_runtime::DispatchError;
use assert_matches::assert_matches;
@@ -1139,7 +1139,7 @@ mod tests {
});
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
place_contract(&BOB, exec_ch);
@@ -1189,7 +1189,7 @@ mod tests {
);
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(origin.clone(), &schedule);
place_contract(&BOB, return_ch);
set_balance(&origin, 100);
@@ -1249,7 +1249,7 @@ mod tests {
);
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(origin, &schedule);
place_contract(&BOB, return_ch);
@@ -1278,7 +1278,7 @@ mod tests {
);
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(origin, &schedule);
place_contract(&BOB, return_ch);
@@ -1304,7 +1304,7 @@ mod tests {
// This one tests passing the input data into a contract via call.
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
place_contract(&BOB, input_data_ch);
@@ -1327,7 +1327,7 @@ mod tests {
// This one tests passing the input data into a contract via instantiate.
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let subsistence = Contracts::<Test>::subsistence_threshold();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
@@ -1380,7 +1380,7 @@ mod tests {
});
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
set_balance(&BOB, 1);
place_contract(&BOB, recurse_ch);
@@ -1428,7 +1428,7 @@ mod tests {
});
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(origin.clone(), &schedule);
place_contract(&dest, bob_ch);
place_contract(&CHARLIE, charlie_ch);
@@ -1466,7 +1466,7 @@ mod tests {
});
ExtBuilder::default().build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
place_contract(&BOB, bob_ch);
place_contract(&CHARLIE, charlie_ch);
@@ -1487,7 +1487,7 @@ mod tests {
let dummy_ch = MockLoader::insert(Constructor, |_, _| exec_success());
ExtBuilder::default().existential_deposit(15).build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
let executable = MockExecutable::from_storage(
@@ -1515,7 +1515,7 @@ mod tests {
);
ExtBuilder::default().existential_deposit(15).build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
let executable = MockExecutable::from_storage(
@@ -1551,7 +1551,7 @@ mod tests {
);
ExtBuilder::default().existential_deposit(15).build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
let executable = MockExecutable::from_storage(
@@ -1599,7 +1599,7 @@ mod tests {
});
ExtBuilder::default().existential_deposit(15).build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
set_balance(&ALICE, Contracts::<Test>::subsistence_threshold() * 100);
place_contract(&BOB, instantiator_ch);
@@ -1648,7 +1648,7 @@ mod tests {
});
ExtBuilder::default().existential_deposit(15).build().execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
set_balance(&ALICE, 1000);
set_balance(&BOB, 100);
@@ -1676,7 +1676,7 @@ mod tests {
.existential_deposit(15)
.build()
.execute_with(|| {
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
let executable = MockExecutable::from_storage(
@@ -1715,7 +1715,7 @@ mod tests {
ExtBuilder::default().build().execute_with(|| {
let subsistence = Contracts::<Test>::subsistence_threshold();
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
let executable = MockExecutable::from_storage(
@@ -1747,7 +1747,7 @@ mod tests {
ExtBuilder::default().build().execute_with(|| {
let subsistence = Contracts::<Test>::subsistence_threshold();
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
set_balance(&ALICE, subsistence * 10);
@@ -1795,7 +1795,7 @@ mod tests {
ExtBuilder::default().build().execute_with(|| {
let subsistence = Contracts::<Test>::subsistence_threshold();
let schedule = Contracts::current_schedule();
let schedule = <CurrentSchedule<Test>>::get();
let mut ctx = MockContext::top_level(ALICE, &schedule);
let mut gas_meter = GasMeter::<Test>::new(GAS_LIMIT);
set_balance(&ALICE, subsistence * 100);