Cyrill Leutwiler
0c155d3f57
fix the LLVM builder with new toolchains
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 08:06:08 +02:00
xermicus
3389865af7
solc-json-interface: make the input Cloneable ( #323 )
...
It helps external consumers working with the
`revive-solc-json-interface` crate.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-21 10:03:32 +02:00
xermicus
af39d506d9
update emsdk ( #324 )
...
Update Emscripten SDK to latest version `v4.0.9`.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
llvm-18.1.8-revive.af39d50
2025-05-21 07:01:41 +02:00
xermicus
bb2f829361
expose custom PVM settings in the standard json interface ( #318 )
...
Exposes the following PolkaVM specific options via the standard json
interface:
- Heap size
- Stack size
- Whether to emit source level debug information
Additionally it is now forbidden to specify those as CLI option in
standard JSON mode. They are bytecode altering options and having
multiple ways to specify them creates unnecessary room for confusion:
The standard JSON input description should be sufficient and succint for
reproducible builds.
Closes #290
---------
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-05-13 15:19:00 +02:00
xermicus
1b8fcc4649
Update the Rust version ( #316 )
...
- Update the Rust version to 1.85
- Update the package-lock.json
- Update the musl-cross docker image
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-09 20:00:58 +02:00
Cyrill Leutwiler
0e9e405f21
remove any git dependencies
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-09 17:26:20 +02:00
xermicus
722dd86c27
remove STATUS.md ( #315 )
...
This information is provided in the docs.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-09 12:21:25 +02:00
PG Herveou
0421869e4b
Replace release 0.1.0-dev.15 with 0.1.0-dev.16 ( #314 )
...
add missing patch and rename release
v0.1.0-dev.16
2025-05-08 15:26:10 +02:00
xermicus
32f55b976c
update changelog ( #313 )
...
somehow went wrong
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.1.0-dev.15
2025-05-08 14:16:46 +02:00
PG Herveou
459a786299
v0.1.0-dev.15 release ( #311 )
...
Co-authored-by: xermicus <cyrill@parity.io >
2025-05-08 14:09:55 +02:00
xermicus
fbaa45f283
support solc v0.8.30 ( #308 )
...
- Add support for solc `v0.8.30`. No changes in YUL or the binary
interface.
- Fix a semver bug in the NPM packages to correctly align their solc
dependencies with our last supported version.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-08 13:29:13 +02:00
xermicus
f2fac85dae
add npm package information to release checklist ( #312 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-08 13:14:28 +02:00
PG Herveou
b8f3073e29
Run lint:fix ( #309 )
2025-05-08 12:36:11 +02:00
xermicus
11d47d74ac
apply size optimizations by default ( #298 )
...
So far if no optimization level was specified, optimizations for
execution time were applied. However, we currently are a bit limited on
code size. Add to that, this setting is not available in solc and people
generally ignore the docs, generating a lot of support requests.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-07 15:35:48 +02:00
xermicus
e3a9c95d32
llvm-builder: use the ninja generator for building the builtins on windows ( #299 )
...
The builtins build should use the Ninja generator (MSVC does not build a
valid archive).
Tested and verified here:
https://github.com/paritytech/revive-alex-workflowtest/releases/tag/untagged-f02d0f574bab8404fead
Closes #305
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
llvm-18.1.8-revive.e3a9c95
2025-05-07 11:10:58 +02:00
PG Herveou
a560b2d919
Fix npm-release job ( #297 )
...
follow up from #295
2025-04-30 21:48:11 +02:00
PG Herveou
e07d0f0cb7
Move @parity/resolc from js-revive ( #296 )
...
- Move npm package from paritytech/js-revive
- Rename package to `@parity/resolc`
v0.1.0-dev.14.1
2025-04-30 17:24:52 +02:00
xermicus
f6a412eef4
release resolc v0.1.0-dev.14 ( #289 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.1.0-dev.14
2025-04-24 11:57:46 +02:00
xermicus
20e77cb0b5
configurable stack and heap memory size ( #288 )
...
- Allow configuration of the maximum heap and stack size via CLI flags
and JSON input settings.
- Increase the default value for the stack size to 32kb.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-24 10:47:38 +02:00
xermicus
357bf58868
allow dynamic configuration of the heap memory ( #287 )
...
This PR changes the implementation of the emulated EVM heap memory:
Instead of linking in a C implementation the code is emitted directly
into the contract module. Which allows making it configurable via a
compiler parameter (a follow up PR to this).
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-23 20:25:55 +02:00
xermicus
f937188991
revive-runner: install with locked dependencies ( #286 )
...
Make the installation of `revive-runner` easier:
- Use locked dependencies to avoid issues with downstream crates
- Make the llvm-context crate an optional dependency to the runner
- Add it to the default `test` target ensuring that this actually works
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-22 19:46:18 +02:00
xermicus
6e44488b4f
revive-runner: add a utility binary for local contract execution ( #284 )
...
I had this in mind for a while but never implemented a standalone binary
so far because I always end up writing an integration test anyways.
However, using a standalone version of the pallet based on the
revive-runner crate is something people filing in bug reports do
anyways, for example:
https://github.com/paritytech/revive/issues/266
https://github.com/paritytech/contract-issues/issues/54
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-22 15:34:51 +02:00
xermicus
5003f3e9ac
llvm-context: alloca at the function entry if possible ( #283 )
...
Closes #48
Change the code size test to no longer emit debug info as to get a more
accurate picture.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-15 15:22:24 +02:00
xermicus
431b5a2ce5
llvm-context: lazy handling of function arguments and immutable data ( #282 )
...
- Lazily load function arguments so that they can be passed as pointers.
- Lazily call the immutable store function to avoid storing zero sized
immutable data.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-14 15:54:59 +02:00
xermicus
ad3315346c
release resolc-0.1.0-dev.13 ( #279 )
v0.1.0-dev.13
2025-04-08 09:10:13 +02:00
dependabot[bot]
516f79ee0f
Bump tokio from 1.43.0 to 1.44.2 ( #281 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.43.0 to 1.44.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases ">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.44.2</h2>
<p>This release fixes a soundness issue in the broadcast channel. The
channel
accepts values that are <code>Send</code> but <code>!Sync</code>.
Previously, the channel called
<code>clone()</code> on these values without synchronizing. This release
fixes the channel
by synchronizing calls to <code>.clone()</code> (Thanks Austin Bonander
for finding and
reporting the issue).</p>
<h3>Fixed</h3>
<ul>
<li>sync: synchronize <code>clone()</code> call in broadcast channel (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7232 ">#7232</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/7232 ">#7232</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7232 ">tokio-rs/tokio#7232</a></p>
<h2>Tokio v1.44.1</h2>
<h1>1.44.1 (March 13th, 2025)</h1>
<h3>Fixed</h3>
<ul>
<li>rt: skip defer queue in <code>block_in_place</code> context (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7216 ">#7216</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/7216 ">#7216</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7216 ">tokio-rs/tokio#7216</a></p>
<h2>Tokio v1.44.0</h2>
<h1>1.44.0 (March 7th, 2025)</h1>
<p>This release changes the <code>from_std</code> method on sockets to
panic if a blocking socket is provided. We determined this change is not
a breaking change as Tokio is not intended to operate using blocking
sockets. Doing so results in runtime hangs and should be considered a
bug. Accidentally passing a blocking socket to Tokio is one of the most
common user mistakes. If this change causes an issue for you, please
comment on <a
href="https://redirect.github.com/tokio-rs/tokio/issues/7172 ">#7172</a>.</p>
<h3>Added</h3>
<ul>
<li>coop: add <code>task::coop</code> module (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7116 ">#7116</a>)</li>
<li>process: add <code>Command::get_kill_on_drop()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7086 ">#7086</a>)</li>
<li>sync: add <code>broadcast::Sender::closed</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6685 ">#6685</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7090 ">#7090</a>)</li>
<li>sync: add <code>broadcast::WeakSender</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7100 ">#7100</a>)</li>
<li>sync: add <code>oneshot::Receiver::is_empty()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7153 ">#7153</a>)</li>
<li>sync: add <code>oneshot::Receiver::is_terminated()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7152 ">#7152</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>fs: empty reads on <code>File</code> should not start a background
read (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7139 ">#7139</a>)</li>
<li>process: calling <code>start_kill</code> on exited child should not
fail (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7160 ">#7160</a>)</li>
<li>signal: fix <code>CTRL_CLOSE</code>, <code>CTRL_LOGOFF</code>,
<code>CTRL_SHUTDOWN</code> on windows (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7122 ">#7122</a>)</li>
<li>sync: properly handle panic during mpsc drop (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7094 ">#7094</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li>runtime: clean up magic number in registration set (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7112 ">#7112</a>)</li>
<li>coop: make coop yield using waker defer strategy (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7185 ">#7185</a>)</li>
<li>macros: make <code>select!</code> budget-aware (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7164 ">#7164</a>)</li>
<li>net: panic when passing a blocking socket to <code>from_std</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7166 ">#7166</a>)</li>
<li>io: clean up buffer casts (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7142 ">#7142</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/tokio/commit/ec4b1d7215a3e1e91797ad3fb6ba0f7c7f3d2566 "><code>ec4b1d7</code></a>
chore: forward port 1.43.x</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/e3c3a56718d201fb7bb430567f05fbb64b2ef082 "><code>e3c3a56</code></a>
Merge branch 'tokio-1.43.x' into forward-port-1.43.x</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/a7b658c35bd40f6811e557aeb97cbb361b612c56 "><code>a7b658c</code></a>
chore: prepare Tokio v1.43.1 release</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/c1c8d1033d637d7027fdc137ec8008c5801cbc0d "><code>c1c8d10</code></a>
Merge remote-tracking branch 'origin/tokio-1.38.x' into
forward-port-1.38.x</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/aa303bc2051f7c21b48bb7bfcafe8fd4f39afd21 "><code>aa303bc</code></a>
chore: prepare Tokio v1.38.2 release</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/7b6ccb515ff067151ed62db835f735e5653f8784 "><code>7b6ccb5</code></a>
chore: backport CI fixes</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/4b174ce2c95fe1d1a217917db93fcc935e17e0da "><code>4b174ce</code></a>
sync: fix cloning value when receiving from broadcast channel</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/d413c9c02af8f2b4fea14b769b86484b12f46595 "><code>d413c9c</code></a>
chore: prepare Tokio v1.44.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7217 ">#7217</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/addbfb9204be25a8621feb3f20b44a7c1f00edbd "><code>addbfb9</code></a>
rt: skip defer queue in <code>block_in_place</code> context (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7216 ">#7216</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/8182ecf2628d5e80dac52b8ed1ea466dbb0925b9 "><code>8182ecf</code></a>
chore: prepare Tokio v1.44.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7202 ">#7202</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.44.2 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/paritytech/revive/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: xermicus <cyrill@parity.io >
2025-04-08 08:26:06 +02:00
Alexander Samusev
9f5443b6d6
Remove path from release json and add sha256 ( #280 )
...
PR addresses
https://github.com/paritytech/revive/issues/162#issuecomment-2783173447
2025-04-08 08:18:35 +02:00
Alexander Samusev
0dafc779ce
ci: update release flow and publish list.json ( #276 )
...
This pull request adds changes described in **this comment**:
- `.github/scripts/json_generator.py` - a small script that generates
several json files for different platforms.
-
[generate_versions.yml](https://github.com/paritytech/revive/compare/as-release-json?expand=1#diff-2aee05b96020ac60943e6dfcb30597e53898f31542aeb570468b970d9a13a5a6 )
- the workflow that runs when release is published, creates info.json
files and pushes them into resolc-bin repo
- `js/build.js` is adjusted in order to set `RESOLC_WASM_URI` from env
variable
- ⚠️ Release workflow is changed:
- In PRs and main branch it'll only build artifacts
- Release will happen automatically only on the `v*` tag push. This is
needed for revive_web.js to have the necessary `RESOLC_WASM_URI`
- workflow will check that version in Cargo.toml is the same as the tag
when the new tag is pushed
cc https://github.com/paritytech/revive/issues/162
cc https://github.com/paritytech/devops/issues/3890
2025-04-07 13:39:56 +02:00
xermicus
7d8fa75a0f
storage keys and values should be big endian ( #277 )
...
Storage keys and values are big endian. Keeping them LE was a pre-mature
optimization because for the contract itself it this is a no-op and thus
not observable. However we should consider the storage layout as part of
the contract ABI. The endianness of transient storage values are still
kept as-is.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-07 10:34:44 +02:00
dependabot[bot]
80f94b5c76
Bump openssl from 0.10.71 to 0.10.72 ( #278 )
...
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.71
to 0.10.72.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sfackler/rust-openssl/releases ">openssl's
releases</a>.</em></p>
<blockquote>
<h2>openssl-v0.10.72</h2>
<h2>What's Changed</h2>
<ul>
<li>make set_rsa_oaep_md visible to boringssl config by <a
href="https://github.com/frncs-rss "><code>@frncs-rss</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2372 ">sfackler/rust-openssl#2372</a></li>
<li>Fix typo in openssl-sys build script by <a
href="https://github.com/rushilmehra "><code>@rushilmehra</code></a> in
<a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2375 ">sfackler/rust-openssl#2375</a></li>
<li>Unify the two BoringSSL codepaths a bit and simplify init by <a
href="https://github.com/davidben "><code>@davidben</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2377 ">sfackler/rust-openssl#2377</a></li>
<li>pkey_ctx: Fix link to the corresponding OpenSSL function by <a
href="https://github.com/Jakuje "><code>@Jakuje</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2378 ">sfackler/rust-openssl#2378</a></li>
<li>fix test on MSRV by <a
href="https://github.com/alex "><code>@alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2383 ">sfackler/rust-openssl#2383</a></li>
<li>Add support for AWS-LC to openssl and openssl-sys crates by <a
href="https://github.com/skmcgrail "><code>@skmcgrail</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/1805 ">sfackler/rust-openssl#1805</a></li>
<li>Enable additional capabilities for AWS-LC by <a
href="https://github.com/skmcgrail "><code>@skmcgrail</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2386 ">sfackler/rust-openssl#2386</a></li>
<li>Use --experimental with bindgen-cli with aws-lc build by <a
href="https://github.com/skmcgrail "><code>@skmcgrail</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2389 ">sfackler/rust-openssl#2389</a></li>
<li>Fixed two UAFs and bumped versions for release by <a
href="https://github.com/alex "><code>@alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2390 ">sfackler/rust-openssl#2390</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Jakuje "><code>@Jakuje</code></a> made
their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2378 ">sfackler/rust-openssl#2378</a></li>
<li><a href="https://github.com/skmcgrail "><code>@skmcgrail</code></a>
made their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/1805 ">sfackler/rust-openssl#1805</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72 ">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/87085bd67896b7f92e6de35d081f607a334beae4 "><code>87085bd</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2390 ">#2390</a>
from alex/uaf-fix</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/d1a12e21573e95727b2e38b8b65273cb389be7e4 "><code>d1a12e2</code></a>
Fixed two UAFs and bumped versions for release</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/7c7b2e6c9f95e77e56ab37af70b16de75beff387 "><code>7c7b2e6</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2389 ">#2389</a>
from skmcgrail/aws-lc-follow-up</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/34a477bff20cbe43492915338d3c12597430c345 "><code>34a477b</code></a>
Use --experimental with bindgen-cli with aws-lc build</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/d4bf0710640e4725b8b237968040aef3e5f4ab9a "><code>d4bf071</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2386 ">#2386</a>
from skmcgrail/aws-lc-follow-up</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/a86bf670c4cba3ee5531838b52419356791d966e "><code>a86bf67</code></a>
Remove comment</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/705dbfb2ee3f2d7151ff313d840bf558435d4379 "><code>705dbfb</code></a>
Fix test</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/e0df413d46a89303c42e15bf7d4566193b242466 "><code>e0df413</code></a>
Skip final call for LibreSSL 4.1.0 for CCM mode</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/2f1164b5e838d3665dd10a9fac19e22174289ea3 "><code>2f1164b</code></a>
Enable additional capabilities for AWS-LC</li>
<li><a
href="https://github.com/sfackler/rust-openssl/commit/dde9ffb36071249ff98474eec853fd830aea44f5 "><code>dde9ffb</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/1805 ">#1805</a>
from skmcgrail/aws-lc-support-final</li>
<li>Additional commits viewable in <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/paritytech/revive/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-05 12:25:52 +02:00
xermicus
dab29bc89b
bugfix missing byte swap for the create2 salt value ( #272 )
...
Found in https://github.com/paritytech/contract-issues/issues/45 , thanks
@albertov19 and @sekisamu
---------
Signed-off-by: xermicus <cyrill@parity.io >
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-03 15:20:22 +02:00
xermicus
313c033261
fix Rust 1.86.0 clippy ( #273 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-03 15:03:49 +02:00
xermicus
87c1d7a8be
Suport passing arbitrary llvm arguments ( #271 )
...
- Support for passing LLVM command line options via the prcoess input or
providing one or more `--llvm-arg='..'` resolc CLI flag. This allows
more fine-grained control over the LLVM backend configuration.
- Make LLVM initialization idempotent.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-04-03 13:21:00 +02:00
xermicus
8a98346a9c
Fix CI badge link ( #270 )
2025-04-01 07:52:39 +02:00
Alexander Samusev
1b4d2c6bb8
ci: modify release according to #162 ( #269 )
...
PR modifies release workflow according to changes requested in
https://github.com/paritytech/revive/issues/162#issuecomment-2751287953
2025-03-26 12:06:51 +01:00
xermicus
004b8ac16c
Update release.yml ( #265 )
...
The Release workflow used to work with a fetch-depth: 0 - not sure why this is required but yolo-ing it in for a test
2025-03-20 20:07:04 +01:00
xermicus
497dae2494
factor out solc JSON interface crate ( #264 )
...
The differential testing framework will make a second consumer. There
seems to be no re-usable Rust crate for this. But we already have
everything here, just needs a small refactor to make it fully re-usable.
- Mostly decouple the solc JSON-input-output interface types from the
`solidity` frontend crate
- Expose the JSON-input-output interface types in a dedicated crate
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-03-20 17:11:40 +01:00
Pavlo Khrystenko
36ea69b50f
Add --supported-solc-versions CLI command ( #260 )
...
### Description
Adds `--supported-solc-versions` cli command to return a semver range of
supported `solc` versions.
Is a hack until #162 is implemented.
---------
Co-authored-by: xermicus <cyrill@parity.io >
2025-03-19 16:07:48 +01:00
xermicus
2bbc5d713d
remove support for webkit ( #262 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2025-03-18 15:00:55 +01:00
xermicus
4a9b651235
Support solc v0.8.29 ( #261 )
...
No observable changes w.r.t. YUL compilation.
- Mark solc v0.8.29 as the latest supported version
- Add integration test for solc v0.8.29 specific feature
- Use the latest version on CI
- Drive-by fix linter complaints and a two types in the CI yaml files
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Signed-off-by: xermicus <cyrill@parity.io >
2025-03-18 13:01:15 +01:00
Alexander Theißen
66f9a4d64f
Release Windows Version ( #251 )
...
With LLVM working only minor changes were necessary to get resolc
running on Windows.
Release in my branch here:
https://github.com/paritytech/revive-alex-workflowtest/releases/tag/v0.1.0-dev.12
v0.1.0-dev.12
2025-03-01 13:49:04 +01:00
xermicus
76f4cf71d6
ci: re-enable the machete ( #249 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-02-28 16:05:53 +01:00
xermicus
77e0344d80
llvm-context: remove dead code ( #247 )
...
- remove the __sha3 function symbol: this is provided by the pallet
- remove the storage address spaces: they are not mapped into memory
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2025-02-28 15:38:42 +01:00
Alexander Theißen
2fb8beee62
Build LLVM for Windows ( #248 )
...
This PR changes the CI build scripts to also build LLVM for windows.
**It doesn't build `revive` itself for windows**. This will come in a
follow up. But once we have a LLVM binary release the turn around time
will be much quicker for experimenting with the revive windows build.
I manually uploaded the release those changes produce
[here](https://github.com/paritytech/revive-alex-workflowtest/releases/tag/llvm-18.1.8-revive.22f3ceb ).
This enables this PR's CI to find the proper release. This is necessary
because I am also making changes to the folder structure and artifact
naming that the other CI jobs are depending on.
Releases generated from this branch can be inspected here:
https://github.com/paritytech/revive-alex-workflowtest/releases/tag/v0.1.0-dev.12
Summary of changes:
- Change `llvm-builder` to use MSVC toolchain on windows
- Fix `llvm-builder` to work with `.exe` files
- Unify the llvm release jobs into a single one. This removed a lot of
copy pasted code and also speeds up the build by giving each their own
runner.
- Use the LLVM target triple to name the binary releases instead of an
ad-hoc naming convention
- Remove the nested folder hierarchy inside the llvm release. Its just
now a single folder `llvm-<target>` that contains the toolchain.
- Give jobs and workflows consistent names
- Replace all runners bei their `*-latest` counterpart
- Only use `parity-large` to build llvm now. All other jobs use github
runners
2025-02-28 15:06:03 +01:00
xermicus
93788e72e9
integration: additional mcopy test ( #245 )
...
Closes #237
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
llvm-18.1.8-revive.22f3ceb
2025-02-27 11:39:31 +01:00
xermicus
296a226d0b
integration: add delegate call corner case test ( #243 )
...
Closes #235
---------
Signed-off-by: xermicus <cyrill@parity.io >
2025-02-27 11:10:00 +01:00
xermicus
84deb3a29d
integration: add function return type test ( #244 )
...
Closes #236
2025-02-27 10:37:37 +01:00
Evgeny Snitko
ee064671e0
Release archive path fix ( #241 )
2025-02-26 16:40:49 +01:00
xermicus
63dfd046e5
Update RELEASE.md ( #239 )
2025-02-26 09:38:00 +01:00
xermicus
08f341ccc1
release resolc v0.1.0-dev.12 ( #238 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2025-02-26 09:36:28 +01:00