release v0.6.0 (#445)

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
xermicus authored and GitHub committed 2026-01-08 11:45:11 +01:00
1 parent 540ec03cd7
commit 81ce306735
48 files changed
+92 -94

No files matched your search

+7
View File
@@ -6,6 +6,12 @@ This is a development pre-release.
Supported `polkadot-sdk` rev: `unstable2507`
## v0.6.0
This is a development pre-release.
Supported `polkadot-sdk` rev: `unstable2507`
### Added
- The comprehensive revive compiler book documentation page: https://paritytech.github.io/revive/
- Support for solc v0.8.33.
@@ -24,6 +30,7 @@ Supported `polkadot-sdk` rev: `unstable2507`
- The missing `STOP` instruction at the end of `code` blocks.
- The missing bounds check in the internal sbrk implementation.
- The call gas is no longer ignored.
- The `settings.polkavm.memoryConfig` object and its fields are now in camelCase.
## v0.5.0
Generated
+15 -15
View File
@@ -8958,7 +8958,7 @@ dependencies = [
[[package]]
name = "resolc"
version = "0.5.0"
version = "0.6.0"
dependencies = [
"anyhow",
"clap",
@@ -8986,14 +8986,17 @@ dependencies = [
[[package]]
name = "revive-benchmarks"
version = "0.1.0"
version = "0.3.0"
dependencies = [
"alloy-primitives",
"criterion",
"hex",
"inkwell",
"revive-differential",
"revive-integration",
"revive-llvm-context",
"revive-runner",
"revive-yul",
]
[[package]]
@@ -9009,7 +9012,7 @@ dependencies = [
[[package]]
name = "revive-common"
version = "0.2.1"
version = "0.3.0"
dependencies = [
"anyhow",
"hex",
@@ -9021,7 +9024,7 @@ dependencies = [
[[package]]
name = "revive-differential"
version = "0.2.0"
version = "0.3.0"
dependencies = [
"alloy-genesis",
"alloy-primitives",
@@ -9044,7 +9047,7 @@ dependencies = [
[[package]]
name = "revive-integration"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"alloy-primitives",
"alloy-sol-types",
@@ -9060,7 +9063,7 @@ dependencies = [
[[package]]
name = "revive-linker"
version = "0.2.0"
version = "0.3.0"
dependencies = [
"anyhow",
"libc",
@@ -9072,7 +9075,7 @@ dependencies = [
[[package]]
name = "revive-llvm-builder"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"anyhow",
"assert_cmd",
@@ -9092,7 +9095,7 @@ dependencies = [
[[package]]
name = "revive-llvm-context"
version = "0.5.0"
version = "0.6.0"
dependencies = [
"anyhow",
"hex",
@@ -9113,7 +9116,7 @@ dependencies = [
[[package]]
name = "revive-runner"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"alloy-primitives",
"anyhow",
@@ -9132,7 +9135,7 @@ dependencies = [
[[package]]
name = "revive-runtime-api"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"anyhow",
"inkwell",
@@ -9142,7 +9145,7 @@ dependencies = [
[[package]]
name = "revive-solc-json-interface"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"anyhow",
"hex",
@@ -9163,16 +9166,13 @@ dependencies = [
[[package]]
name = "revive-yul"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"alloy-primitives",
"anyhow",
"criterion",
"inkwell",
"num",
"regex",
"revive-common",
"revive-integration",
"revive-llvm-context",
"serde",
"thiserror 2.0.17",
+11 -11
View File
@@ -15,21 +15,21 @@ rust-version = "1.85.0"
[workspace.dependencies]
lld-sys = { version = "0.1.0", path = "crates/lld-sys" }
resolc = { version = "0.5.0", path = "crates/resolc", default-features = false }
revive-benchmarks = { version = "0.1.0", path = "crates/benchmarks" }
resolc = { version = "0.6.0", path = "crates/resolc", default-features = false }
revive-benchmarks = { version = "0.3.0", path = "crates/benchmarks" }
revive-build-utils = { version = "0.2.0", path = "crates/build-utils" }
revive-builtins = { version = "0.1.0", path = "crates/builtins" }
revive-common = { version = "0.2.1", path = "crates/common" }
revive-differential = { version = "0.2.0", path = "crates/differential" }
revive-common = { version = "0.3.0", path = "crates/common" }
revive-differential = { version = "0.3.0", path = "crates/differential" }
revive-explorer = { version = "0.1.0", path = "crates/explore" }
revive-integration = { version = "0.3.0", path = "crates/integration" }
revive-linker = { version = "0.2.0", path = "crates/linker" }
revive-llvm-context = { version = "0.5.0", path = "crates/llvm-context" }
revive-runner = { version = "0.3.0", path = "crates/runner" }
revive-runtime-api = { version = "0.4.0", path = "crates/runtime-api" }
revive-solc-json-interface = { version = "0.4.0", path = "crates/solc-json-interface", default-features = false }
revive-integration = { version = "0.4.0", path = "crates/integration" }
revive-linker = { version = "0.3.0", path = "crates/linker" }
revive-llvm-context = { version = "0.6.0", path = "crates/llvm-context" }
revive-runner = { version = "0.4.0", path = "crates/runner" }
revive-runtime-api = { version = "0.5.0", path = "crates/runtime-api" }
revive-solc-json-interface = { version = "0.5.0", path = "crates/solc-json-interface", default-features = false }
revive-stdlib = { version = "0.2.0", path = "crates/stdlib" }
revive-yul = { version = "0.4.0", path = "crates/yul" }
revive-yul = { version = "0.5.0", path = "crates/yul" }
hex = "0.4.3"
cc = "1.2"
+4 -4
View File
@@ -110,10 +110,10 @@ bench-resolc: test-resolc
| criterion-table > crates/resolc/BENCHMARKS_M4PRO.md
bench-yul: test-yul
cargo criterion --package revive-yul --bench parse --message-format=json \
| criterion-table > crates/yul/BENCHMARKS_PARSE_M4PRO.md
cargo criterion --package revive-yul --bench lower --message-format=json \
| criterion-table > crates/yul/BENCHMARKS_LOWER_M4PRO.md
cargo criterion --package revive-benchmarks --bench parse --message-format=json \
| criterion-table > crates/benchmarks/BENCHMARKS_PARSE_M4PRO.md
cargo criterion --package revive-benchmarks --bench lower --message-format=json \
| criterion-table > crates/benchmarks/BENCHMARKS_LOWER_M4PRO.md
clean:
cargo clean ; \
-4
View File
@@ -47,10 +47,6 @@ In the constructor code, the offset is ignored and this always returns `0`.
Only supported in constructor code.
### `invalid`
Traps the contract but does not consume the remaining gas.
### `create`, `create2`
Deployments on revive work different than on EVM. In a nutshell: Instead of supplying the deploy code concatenated with the constructor arguments (the EVM deploy model), the [revive runtime expects two pointers](https://docs.rs/pallet-revive/latest/pallet_revive/trait.SyscallDoc.html#tymethod.instantiate):
+2 -2
View File
@@ -14,11 +14,11 @@ A boolean value allowing to enable debug information. Corresponds to `resolc -g`
Used to apply PVM specific memory configuration settings.
#### `settings.polkavm.heapSize`
#### `settings.polkavm.memoryConifg.heapSize`
A numerical value allowing to configure the contract heap size. Corresponds to `resolc --heap-size`.
#### `settings.polkavm.stackSize`
#### `settings.polkavm.memoryConifg.stackSize`
A numerical value allowing to configure the contract stack size. Corresponds to `resolc --stack-size`.
+13 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-benchmarks"
version.workspace = true
version = "0.3.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
@@ -22,7 +22,19 @@ revive-runner = { workspace = true, optional = true }
[dev-dependencies]
criterion = { workspace = true }
inkwell = { workspace = true }
revive-llvm-context = { workspace = true }
revive-yul = { workspace = true }
[[bench]]
name = "execute"
harness = false
[[bench]]
name = "parse"
harness = false
[[bench]]
name = "lower"
harness = false
File renamed without changes.
File renamed without changes.
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-common"
version = "0.2.1"
version = "0.3.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,7 +1,7 @@
[package]
name = "revive-differential"
description = "utilities for differential testing the revive compiler against EVM"
version = "0.2.0"
version = "0.3.0"
license.workspace = true
edition.workspace = true
authors.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-integration"
version = "0.3.0"
version = "0.4.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-linker"
version = "0.2.0"
version = "0.3.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -6,7 +6,7 @@ authors = [
"Anton Baliasnikov <aba@matterlabs.dev>",
"Cyrill Leutwiler <cyrill@parity.io>",
]
version = "0.4.0"
version = "0.5.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-llvm-context"
version = "0.5.0"
version = "0.6.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "resolc"
version = "0.5.0"
version = "0.6.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-runner"
version = "0.3.0"
version = "0.4.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-runtime-api"
version = "0.4.0"
version = "0.5.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "revive-solc-json-interface"
version = "0.4.0"
version = "0.5.0"
authors.workspace = true
license.workspace = true
edition.workspace = true
+1 -14
View File
@@ -1,7 +1,7 @@
[package]
name = "revive-yul"
description = "The revive YUL parser library."
version = "0.4.0"
version = "0.5.0"
authors.workspace = true
license.workspace = true
edition.workspace = true
@@ -18,16 +18,3 @@ thiserror = { workspace = true }
revive-common = { workspace = true }
revive-llvm-context = { workspace = true }
[dev-dependencies]
alloy-primitives = { workspace = true }
criterion = { workspace = true }
revive-integration = { workspace = true }
[[bench]]
name = "parse"
harness = false
[[bench]]
name = "lower"
harness = false
+1 -1
View File
@@ -36,7 +36,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+3 -5
View File
@@ -36,7 +36,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
@@ -341,9 +341,9 @@ Please find our <a href="https://github.com/paritytech/revive/releases">binary r
<p>A boolean value allowing to enable debug information. Corresponds to <code>resolc -g</code>.</p>
<h3 id="the-settingspolkavmmemoryconfig-object"><a class="header" href="#the-settingspolkavmmemoryconfig-object">The <code>settings.polkavm.memoryConfig</code> object</a></h3>
<p>Used to apply PVM specific memory configuration settings.</p>
<h4 id="settingspolkavmheapsize"><a class="header" href="#settingspolkavmheapsize"><code>settings.polkavm.heapSize</code></a></h4>
<h4 id="settingspolkavmmemoryconifgheapsize"><a class="header" href="#settingspolkavmmemoryconifgheapsize"><code>settings.polkavm.memoryConifg.heapSize</code></a></h4>
<p>A numerical value allowing to configure the contract heap size. Corresponds to <code>resolc --heap-size</code>.</p>
<h4 id="settingspolkavmstacksize"><a class="header" href="#settingspolkavmstacksize"><code>settings.polkavm.stackSize</code></a></h4>
<h4 id="settingspolkavmmemoryconifgstacksize"><a class="header" href="#settingspolkavmmemoryconifgstacksize"><code>settings.polkavm.memoryConifg.stackSize</code></a></h4>
<p>A numerical value allowing to configure the contract stack size. Corresponds to <code>resolc --stack-size</code>.</p>
<h2 id="the-settingsoptimizer-object"><a class="header" href="#the-settingsoptimizer-object">The <code>settings.optimizer</code> object</a></h2>
<p>The <code>settings.optimizer</code> object is augmented with support for PVM specific optimization settings.</p>
@@ -385,8 +385,6 @@ Therefore, in EVM terminology, the deploy code equals the runtime code.</p>
<p>In the constructor code, the offset is ignored and this always returns <code>0</code>.</p>
<h3 id="codecopy"><a class="header" href="#codecopy"><code>codecopy</code></a></h3>
<p>Only supported in constructor code.</p>
<h3 id="invalid"><a class="header" href="#invalid"><code>invalid</code></a></h3>
<p>Traps the contract but does not consume the remaining gas.</p>
<h3 id="create-create2"><a class="header" href="#create-create2"><code>create</code>, <code>create2</code></a></h3>
<p>Deployments on revive work different than on EVM. In a nutshell: Instead of supplying the deploy code concatenated with the constructor arguments (the EVM deploy model), the <a href="https://docs.rs/pallet-revive/latest/pallet_revive/trait.SyscallDoc.html#tymethod.instantiate">revive runtime expects two pointers</a>:</p>
<ol>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -437,7 +437,7 @@ window.search = window.search || {};
if (yes) {
loadSearchScript(
window.path_to_searchindex_js ||
path_to_root + 'searchindex-4c7bbe7b.js',
path_to_root + 'searchindex-8c3ce0af.js',
'mdbook-search-index');
search_wrap.classList.remove('hidden');
searchicon.setAttribute('aria-expanded', 'true');
-1
View File
@@ -1 +0,0 @@
window.search = Object.assign(window.search, JSON.parse('{"doc_urls":["welcome.html#welcome","welcome.html#target-audience","welcome.html#other-polkadot-contracts-resources","welcome.html#about","user_guide.html#resolc-user-guide","user_guide.html#revive-vs-resolc-nomenclature","user_guide/installation.html#installation","user_guide/installation.html#resolc-binary-releases","user_guide/installation.html#installing-the-solc-dependency","user_guide/installation.html#revive-npm-package","user_guide/installation.html#buidling-resolc-from-source","user_guide/cli.html#cli-usage","user_guide/cli.html#llvm-optimization-levels","user_guide/cli.html#stack-size","user_guide/cli.html#heap-size","user_guide/cli.html#solc","user_guide/cli.html#debug-artifacts","user_guide/cli.html#debug-info","user_guide/cli.html#deploy-time-linking","user_guide/js.html#js-npm-package","user_guide/tooling.html#tooling-integration","user_guide/tooling.html#solidity-toolkits","user_guide/tooling.html#compiler-explorer","user_guide/tooling.html#remix-ide","user_guide/std_json.html#standard-json-interface","user_guide/std_json.html#the-settingspolkavm-object","user_guide/std_json.html#settingspolkavmdebuginformation","user_guide/std_json.html#the-settingspolkavmmemoryconfig-object","user_guide/std_json.html#the-settingsoptimizer-object","user_guide/std_json.html#settingsoptimizermode","user_guide/std_json.html#settingsllvmarguments","user_guide/differences.html#differences-to-evm","user_guide/differences.html#deploy-code-vs-runtime-code","user_guide/differences.html#solidity","user_guide/differences.html#addresscreationcode","user_guide/differences.html#yul-functions","user_guide/differences.html#mload-mstore-msize-mcopy-memory-related-functions","user_guide/differences.html#calldataload-calldatacopy","user_guide/differences.html#codecopy","user_guide/differences.html#invalid","user_guide/differences.html#create-create2","user_guide/differences.html#dataoffset","user_guide/differences.html#datasize","user_guide/differences.html#prevrandao-difficulty","user_guide/differences.html#pc-extcodecopy","user_guide/differences.html#blobhash-blobbasefee","user_guide/differences.html#difference-regarding-the-solc-via-ir-mode","user_guide/rust_libraries.html#rust-contract-libraries","revive_runner.html#revive-runner-sandbox","revive_runner.html#installation-and-usage","revive_runner.html#trace-logs","revive_runner.html#automatic-contract-instantiation","revive_runner.html#example","developer_guide.html#developer-guide","developer_guide/contributing.html#contributor-guide","developer_guide/contributing.html#getting-started","developer_guide/contributing.html#using-the-makefile","developer_guide/contributing.html#codebase-organization","developer_guide/contributing.html#contribution-rules","developer_guide/contributing.html#style-guide","developer_guide/contributing.html#ai-policy","developer_guide/architecture.html#compiler-architecture-and-internals","developer_guide/architecture.html#resolc","developer_guide/architecture.html#reproducible-contract-builds","developer_guide/architecture.html#the-revive-compiler-libraries","developer_guide/architecture.html#evm-heap-memory","developer_guide/architecture.html#the-llvm-dependency","developer_guide/architecture.html#custom-optimizations","developer_guide/target.html#pvm-and-the-pallet-revive-runtime-target","developer_guide/target.html#target-cpu-configuration","developer_guide/target.html#why-pvm","developer_guide/target.html#host-environment-pallet-revive","developer_guide/testing.html#testing-strategy","developer_guide/testing.html#bug-compatibility-with-ethereum-solidity","developer_guide/testing.html#differential-integration-tests","developer_guide/testing.html#the-differential-testing-utility","developer_guide/cross_compilation.html#cross-compilation","developer_guide/cross_compilation.html#wasm-via-emscripten","developer_guide/cross_compilation.html#musl-libc","faq.html#faq","faq.html#what-evm-version-do-you-support","faq.html#is-inline-assembly-supported","faq.html#do-you-support-opcode-xy","faq.html#in-what-solidity-version-should-i-write-my-dapp","faq.html#tool-xy-says-the-contract-size-is-larger-than-24kb-and-will-fail-to-deploy","faq.html#is-resolc-a-drop-in-replacement-for-solc","roadmap.html#roadmap-and-vision","roadmap.html#roadmap"],"index":{"documentStore":{"docInfo":{"0":{"body":7,"breadcrumbs":2,"title":1},"1":{"body":22,"breadcrumbs":3,"title":2},"10":{"body":6,"breadcrumbs":7,"title":3},"11":{"body":33,"breadcrumbs":8,"title":2},"12":{"body":53,"breadcrumbs":9,"title":3},"13":{"body":62,"breadcrumbs":8,"title":2},"14":{"body":75,"breadcrumbs":8,"title":2},"15":{"body":10,"breadcrumbs":7,"title":1},"16":{"body":26,"breadcrumbs":8,"title":2},"17":{"body":15,"breadcrumbs":8,"title":2},"18":{"body":236,"breadcrumbs":9,"title":3},"19":{"body":31,"breadcrumbs":9,"title":3},"2":{"body":7,"breadcrumbs":4,"title":3},"20":{"body":9,"breadcrumbs":7,"title":2},"21":{"body":14,"breadcrumbs":7,"titleLine truncated
+1
View File
@@ -0,0 +1 @@
window.search = Object.assign(window.search, JSON.parse('{"doc_urls":["welcome.html#welcome","welcome.html#target-audience","welcome.html#other-polkadot-contracts-resources","welcome.html#about","user_guide.html#resolc-user-guide","user_guide.html#revive-vs-resolc-nomenclature","user_guide/installation.html#installation","user_guide/installation.html#resolc-binary-releases","user_guide/installation.html#installing-the-solc-dependency","user_guide/installation.html#revive-npm-package","user_guide/installation.html#buidling-resolc-from-source","user_guide/cli.html#cli-usage","user_guide/cli.html#llvm-optimization-levels","user_guide/cli.html#stack-size","user_guide/cli.html#heap-size","user_guide/cli.html#solc","user_guide/cli.html#debug-artifacts","user_guide/cli.html#debug-info","user_guide/cli.html#deploy-time-linking","user_guide/js.html#js-npm-package","user_guide/tooling.html#tooling-integration","user_guide/tooling.html#solidity-toolkits","user_guide/tooling.html#compiler-explorer","user_guide/tooling.html#remix-ide","user_guide/std_json.html#standard-json-interface","user_guide/std_json.html#the-settingspolkavm-object","user_guide/std_json.html#settingspolkavmdebuginformation","user_guide/std_json.html#the-settingspolkavmmemoryconfig-object","user_guide/std_json.html#the-settingsoptimizer-object","user_guide/std_json.html#settingsoptimizermode","user_guide/std_json.html#settingsllvmarguments","user_guide/differences.html#differences-to-evm","user_guide/differences.html#deploy-code-vs-runtime-code","user_guide/differences.html#solidity","user_guide/differences.html#addresscreationcode","user_guide/differences.html#yul-functions","user_guide/differences.html#mload-mstore-msize-mcopy-memory-related-functions","user_guide/differences.html#calldataload-calldatacopy","user_guide/differences.html#codecopy","user_guide/differences.html#create-create2","user_guide/differences.html#dataoffset","user_guide/differences.html#datasize","user_guide/differences.html#prevrandao-difficulty","user_guide/differences.html#pc-extcodecopy","user_guide/differences.html#blobhash-blobbasefee","user_guide/differences.html#difference-regarding-the-solc-via-ir-mode","user_guide/rust_libraries.html#rust-contract-libraries","revive_runner.html#revive-runner-sandbox","revive_runner.html#installation-and-usage","revive_runner.html#trace-logs","revive_runner.html#automatic-contract-instantiation","revive_runner.html#example","developer_guide.html#developer-guide","developer_guide/contributing.html#contributor-guide","developer_guide/contributing.html#getting-started","developer_guide/contributing.html#using-the-makefile","developer_guide/contributing.html#codebase-organization","developer_guide/contributing.html#contribution-rules","developer_guide/contributing.html#style-guide","developer_guide/contributing.html#ai-policy","developer_guide/architecture.html#compiler-architecture-and-internals","developer_guide/architecture.html#resolc","developer_guide/architecture.html#reproducible-contract-builds","developer_guide/architecture.html#the-revive-compiler-libraries","developer_guide/architecture.html#evm-heap-memory","developer_guide/architecture.html#the-llvm-dependency","developer_guide/architecture.html#custom-optimizations","developer_guide/target.html#pvm-and-the-pallet-revive-runtime-target","developer_guide/target.html#target-cpu-configuration","developer_guide/target.html#why-pvm","developer_guide/target.html#host-environment-pallet-revive","developer_guide/testing.html#testing-strategy","developer_guide/testing.html#bug-compatibility-with-ethereum-solidity","developer_guide/testing.html#differential-integration-tests","developer_guide/testing.html#the-differential-testing-utility","developer_guide/cross_compilation.html#cross-compilation","developer_guide/cross_compilation.html#wasm-via-emscripten","developer_guide/cross_compilation.html#musl-libc","faq.html#faq","faq.html#what-evm-version-do-you-support","faq.html#is-inline-assembly-supported","faq.html#do-you-support-opcode-xy","faq.html#in-what-solidity-version-should-i-write-my-dapp","faq.html#tool-xy-says-the-contract-size-is-larger-than-24kb-and-will-fail-to-deploy","faq.html#is-resolc-a-drop-in-replacement-for-solc","roadmap.html#roadmap-and-vision","roadmap.html#roadmap"],"index":{"documentStore":{"docInfo":{"0":{"body":7,"breadcrumbs":2,"title":1},"1":{"body":22,"breadcrumbs":3,"title":2},"10":{"body":6,"breadcrumbs":7,"title":3},"11":{"body":33,"breadcrumbs":8,"title":2},"12":{"body":53,"breadcrumbs":9,"title":3},"13":{"body":62,"breadcrumbs":8,"title":2},"14":{"body":75,"breadcrumbs":8,"title":2},"15":{"body":10,"breadcrumbs":7,"title":1},"16":{"body":26,"breadcrumbs":8,"title":2},"17":{"body":15,"breadcrumbs":8,"title":2},"18":{"body":236,"breadcrumbs":9,"title":3},"19":{"body":31,"breadcrumbs":9,"title":3},"2":{"body":7,"breadcrumbs":4,"title":3},"20":{"body":9,"breadcrumbs":7,"title":2},"21":{"body":14,"breadcrumbs":7,"title":2},"22":{"body":11,"breadcrumbs":7,"Line truncated
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -3
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
@@ -207,8 +207,6 @@ Therefore, in EVM terminology, the deploy code equals the runtime code.</p>
<p>In the constructor code, the offset is ignored and this always returns <code>0</code>.</p>
<h3 id="codecopy"><a class="header" href="#codecopy"><code>codecopy</code></a></h3>
<p>Only supported in constructor code.</p>
<h3 id="invalid"><a class="header" href="#invalid"><code>invalid</code></a></h3>
<p>Traps the contract but does not consume the remaining gas.</p>
<h3 id="create-create2"><a class="header" href="#create-create2"><code>create</code>, <code>create2</code></a></h3>
<p>Deployments on revive work different than on EVM. In a nutshell: Instead of supplying the deploy code concatenated with the constructor arguments (the EVM deploy model), the <a href="https://docs.rs/pallet-revive/latest/pallet_revive/trait.SyscallDoc.html#tymethod.instantiate">revive runtime expects two pointers</a>:</p>
<ol>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+3 -3
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
@@ -182,9 +182,9 @@
<p>A boolean value allowing to enable debug information. Corresponds to <code>resolc -g</code>.</p>
<h3 id="the-settingspolkavmmemoryconfig-object"><a class="header" href="#the-settingspolkavmmemoryconfig-object">The <code>settings.polkavm.memoryConfig</code> object</a></h3>
<p>Used to apply PVM specific memory configuration settings.</p>
<h4 id="settingspolkavmheapsize"><a class="header" href="#settingspolkavmheapsize"><code>settings.polkavm.heapSize</code></a></h4>
<h4 id="settingspolkavmmemoryconifgheapsize"><a class="header" href="#settingspolkavmmemoryconifgheapsize"><code>settings.polkavm.memoryConifg.heapSize</code></a></h4>
<p>A numerical value allowing to configure the contract heap size. Corresponds to <code>resolc --heap-size</code>.</p>
<h4 id="settingspolkavmstacksize"><a class="header" href="#settingspolkavmstacksize"><code>settings.polkavm.stackSize</code></a></h4>
<h4 id="settingspolkavmmemoryconifgstacksize"><a class="header" href="#settingspolkavmmemoryconifgstacksize"><code>settings.polkavm.memoryConifg.stackSize</code></a></h4>
<p>A numerical value allowing to configure the contract stack size. Corresponds to <code>resolc --stack-size</code>.</p>
<h2 id="the-settingsoptimizer-object"><a class="header" href="#the-settingsoptimizer-object">The <code>settings.optimizer</code> object</a></h2>
<p>The <code>settings.optimizer</code> object is augmented with support for PVM specific optimization settings.</p>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "../searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-6f3f265e.js"></script>
+1 -1
View File
@@ -35,7 +35,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-4c7bbe7b.js";
window.path_to_searchindex_js = "searchindex-8c3ce0af.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-6f3f265e.js"></script>
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@parity/resolc",
"license": "Apache-2.0",
"version": "0.5.0",
"version": "0.6.0",
"author": "Parity <admin@parity.io> (https://parity.io)",
"module": "index.ts",
"types": "./dist/index.d.ts",
+1 -1
View File
@@ -31,7 +31,7 @@
},
"js/resolc": {
"name": "@parity/resolc",
"version": "0.5.0",
"version": "0.6.0",
"license": "Apache-2.0",
"dependencies": {
"@types/node": "^22.9.0",