contracts: switch to wasmi gas metering (#14084)
* upgrade to wasmi 0.29 * prepare cleanup * sync ref_time w engine from the stack frame * proc_macro: sync gas in host funcs save: compiles, only gas pushing left to macro WIP proc macro proc macro: done * clean benchmarks & schedule: w_base = w_i64const * scale gas values btw engine and gas meter * (re)instrumentation & code_cache removed * remove gas() host fn, continue clean-up save * address review comments * move from CodeStorage&PrefabWasmModule to PristineCode&WasmBlob * refactor: no reftime_limit&schedule passes, no CodeStorage * bugs fixing * fix tests: expected deposit amount * fix prepare::tests * update tests and fix bugs tests::run_out_of_gas_engine, need 2 more save: 2 bugs with gas syncs: 1 of 2 tests done gas_syncs_no_overcharge bug fixed, test passes! cleaned out debug prints second bug is not a bug disabled_chain_extension test fix (err msg) tests run_out_of_fuel_host, chain_extension pass all tests pass * update docs * bump wasmi 0.30.0 * benchmarks updated, tests pass * refactoring * s/OwnerInfo/CodeInfo/g; * migration: draft, compiles * migration: draft, runs * migration: draft, runs (fixing) * deposits repaid non pro rata * deposits repaid pro rata * better try-runtime output * even better try-runtime output * benchmark migration * fix merge leftover * add forgotten fixtures, fix docs * address review comments * ci fixes * cleanup * benchmarks::prepare to return DispatchError * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * store memory limits to CodeInfo * ci: roll back weights * ".git/.scripts/commands/bench-vm/bench-vm.sh" pallet dev pallet_contracts * drive-by: update Readme and pallet rustdoc * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * use wasmi 0.29 * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * use wasmi 0.30 again * query memory limits from wasmi * better migration types * ci: pull weights from master * refactoring * ".git/.scripts/commands/bench-vm/bench-vm.sh" pallet dev pallet_contracts * addressing review comments * refactor * address review comments * optimize migration * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * another review round comments addressed * ci fix one * clippy fix * ci fix two --------- Co-authored-by: command-bot <>
Showing
- substrate/Cargo.lock 10 additions, 2 deletionssubstrate/Cargo.lock
- substrate/frame/contracts/Cargo.toml 1 addition, 1 deletionsubstrate/frame/contracts/Cargo.toml
- substrate/frame/contracts/README.md 23 additions, 29 deletionssubstrate/frame/contracts/README.md
- substrate/frame/contracts/fixtures/seal_input_noop.wat 14 additions, 0 deletionssubstrate/frame/contracts/fixtures/seal_input_noop.wat
- substrate/frame/contracts/fixtures/seal_input_once.wat 22 additions, 0 deletionssubstrate/frame/contracts/fixtures/seal_input_once.wat
- substrate/frame/contracts/fixtures/seal_input_twice.wat 28 additions, 0 deletionssubstrate/frame/contracts/fixtures/seal_input_twice.wat
- substrate/frame/contracts/proc-macro/src/lib.rs 44 additions, 10 deletionssubstrate/frame/contracts/proc-macro/src/lib.rs
- substrate/frame/contracts/src/benchmarking/code.rs 10 additions, 103 deletionssubstrate/frame/contracts/src/benchmarking/code.rs
- substrate/frame/contracts/src/benchmarking/mod.rs 28 additions, 843 deletionssubstrate/frame/contracts/src/benchmarking/mod.rs
- substrate/frame/contracts/src/benchmarking/sandbox.rs 14 additions, 14 deletionssubstrate/frame/contracts/src/benchmarking/sandbox.rs
- substrate/frame/contracts/src/exec.rs 48 additions, 47 deletionssubstrate/frame/contracts/src/exec.rs
- substrate/frame/contracts/src/gas.rs 35 additions, 3 deletionssubstrate/frame/contracts/src/gas.rs
- substrate/frame/contracts/src/lib.rs 51 additions, 73 deletionssubstrate/frame/contracts/src/lib.rs
- substrate/frame/contracts/src/migration.rs 2 additions, 1 deletionsubstrate/frame/contracts/src/migration.rs
- substrate/frame/contracts/src/migration/v10.rs 5 additions, 1 deletionsubstrate/frame/contracts/src/migration/v10.rs
- substrate/frame/contracts/src/migration/v12.rs 315 additions, 0 deletionssubstrate/frame/contracts/src/migration/v12.rs
- substrate/frame/contracts/src/schedule.rs 9 additions, 276 deletionssubstrate/frame/contracts/src/schedule.rs
- substrate/frame/contracts/src/tests.rs 214 additions, 116 deletionssubstrate/frame/contracts/src/tests.rs
- substrate/frame/contracts/src/wasm/code_cache.rs 0 additions, 239 deletionssubstrate/frame/contracts/src/wasm/code_cache.rs
- substrate/frame/contracts/src/wasm/mod.rs 287 additions, 132 deletionssubstrate/frame/contracts/src/wasm/mod.rs
Please register or sign in to comment