Do not call `initialize_block` before any runtime api (#8953)
* Do not call `initialize_block` before any runtime api Before this change we always called `initialize_block` before calling into the runtime. There was already support with `skip_initialize` to skip the initialization. Almost no runtime_api requires that `initialize_block` is called before. Actually this only leads to higher execution times most of the time, because all runtime modules are initialized and this is especially expensive when the block contained a runtime upgrade. TLDR: Do not call `initialize_block` before calling a runtime api. * Change `validate_transaction` interface * Fix rpc test * Fixes and comments * Some docs
Showing
- substrate/bin/node-template/runtime/src/lib.rs 2 additions, 1 deletionsubstrate/bin/node-template/runtime/src/lib.rs
- substrate/bin/node/executor/tests/submit_transaction.rs 6 additions, 2 deletionssubstrate/bin/node/executor/tests/submit_transaction.rs
- substrate/bin/node/runtime/src/lib.rs 2 additions, 1 deletionsubstrate/bin/node/runtime/src/lib.rs
- substrate/client/api/src/call_executor.rs 1 addition, 5 deletionssubstrate/client/api/src/call_executor.rs
- substrate/client/light/src/call_executor.rs 6 additions, 69 deletionssubstrate/client/light/src/call_executor.rs
- substrate/client/rpc/src/state/tests.rs 1 addition, 1 deletionsubstrate/client/rpc/src/state/tests.rs
- substrate/client/service/src/client/call_executor.rs 1 addition, 14 deletionssubstrate/client/service/src/client/call_executor.rs
- substrate/client/service/src/client/client.rs 2 additions, 22 deletionssubstrate/client/service/src/client/client.rs
- substrate/client/service/test/src/client/light.rs 22 additions, 31 deletionssubstrate/client/service/test/src/client/light.rs
- substrate/client/transaction-pool/src/api.rs 42 additions, 12 deletionssubstrate/client/transaction-pool/src/api.rs
- substrate/frame/executive/src/lib.rs 18 additions, 2 deletionssubstrate/frame/executive/src/lib.rs
- substrate/frame/merkle-mountain-range/primitives/src/lib.rs 0 additions, 3 deletionssubstrate/frame/merkle-mountain-range/primitives/src/lib.rs
- substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs 3 additions, 42 deletionssubstrate/primitives/api/proc-macro/src/decl_runtime_apis.rs
- substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs 13 additions, 15 deletionssubstrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
- substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs 7 additions, 0 deletions...e/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs
- substrate/primitives/api/src/lib.rs 39 additions, 42 deletionssubstrate/primitives/api/src/lib.rs
- substrate/primitives/api/test/tests/runtime_calls.rs 6 additions, 19 deletionssubstrate/primitives/api/test/tests/runtime_calls.rs
- substrate/primitives/consensus/aura/src/lib.rs 0 additions, 1 deletionsubstrate/primitives/consensus/aura/src/lib.rs
- substrate/primitives/offchain/src/lib.rs 0 additions, 2 deletionssubstrate/primitives/offchain/src/lib.rs
- substrate/primitives/transaction-pool/src/runtime_api.rs 12 additions, 2 deletionssubstrate/primitives/transaction-pool/src/runtime_api.rs
Please register or sign in to comment