Add READ_ONLY flag to contract call function (#4418)
This PR implements the `READ_ONLY` flag to be used as a `Callflag` in the `call` function. The flag indicates that the callee is restricted from modifying the state during call execution. It is equivalent to Ethereum's [STATICCALL](https://eips.ethereum.org/EIPS/eip-214). --------- Co-authored-by: command-bot <> Co-authored-by:Andrew Jones <ascjones@gmail.com> Co-authored-by:
Alexander Theißen <alex.theissen@me.com>
parent
09de7f15
Showing
- prdoc/pr_4418.prdoc 19 additions, 0 deletionsprdoc/pr_4418.prdoc
- substrate/frame/contracts/fixtures/contracts/call_with_flags_and_value.rs 51 additions, 0 deletions...contracts/fixtures/contracts/call_with_flags_and_value.rs
- substrate/frame/contracts/fixtures/contracts/read_only_call.rs 50 additions, 0 deletions...rate/frame/contracts/fixtures/contracts/read_only_call.rs
- substrate/frame/contracts/proc-macro/src/lib.rs 18 additions, 1 deletionsubstrate/frame/contracts/proc-macro/src/lib.rs
- substrate/frame/contracts/src/chain_extension.rs 6 additions, 0 deletionssubstrate/frame/contracts/src/chain_extension.rs
- substrate/frame/contracts/src/exec.rs 90 additions, 41 deletionssubstrate/frame/contracts/src/exec.rs
- substrate/frame/contracts/src/lib.rs 3 additions, 1 deletionsubstrate/frame/contracts/src/lib.rs
- substrate/frame/contracts/src/tests.rs 96 additions, 0 deletionssubstrate/frame/contracts/src/tests.rs
- substrate/frame/contracts/src/wasm/mod.rs 49 additions, 18 deletionssubstrate/frame/contracts/src/wasm/mod.rs
- substrate/frame/contracts/src/wasm/runtime.rs 27 additions, 1 deletionsubstrate/frame/contracts/src/wasm/runtime.rs
- substrate/frame/contracts/src/weights.rs 391 additions, 395 deletionssubstrate/frame/contracts/src/weights.rs
- substrate/frame/contracts/uapi/src/flags.rs 8 additions, 0 deletionssubstrate/frame/contracts/uapi/src/flags.rs
Please register or sign in to comment