dependabot[bot]
ffc13697ed
Bump brace-expansion ( #377 )
...
Bumps and
[brace-expansion](https://github.com/juliangruber/brace-expansion ).
These dependencies needed to be updated together.
Updates `brace-expansion` from 1.1.11 to 1.1.12
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/juliangruber/brace-expansion/releases ">brace-expansion's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.12</h2>
<ul>
<li>pkg: publish on tag 1.x c460dbd</li>
<li>fmt ccb8ac6</li>
<li>Fix potential ReDoS Vulnerability or Inefficient Regular Expression
(<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)
c3c73c8</li>
</ul>
<hr />
<p><a
href="https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 ">https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/44f33b47c5c6a965d507421af43e86cf5971d711 "><code>44f33b4</code></a>
1.1.12</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c460dbd68e428d147b2080622d8ce126c7a08570 "><code>c460dbd</code></a>
pkg: publish on tag 1.x</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/ccb8ac6d4292b7661b677fe048ba6690c877f51f "><code>ccb8ac6</code></a>
fmt</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c3c73c8b088defc70851843be88ccc3af08e7217 "><code>c3c73c8</code></a>
Fix potential ReDoS Vulnerability or Inefficient Regular Expression (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)</li>
<li>See full diff in <a
href="https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `brace-expansion` from 2.0.1 to 2.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/juliangruber/brace-expansion/releases ">brace-expansion's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.12</h2>
<ul>
<li>pkg: publish on tag 1.x c460dbd</li>
<li>fmt ccb8ac6</li>
<li>Fix potential ReDoS Vulnerability or Inefficient Regular Expression
(<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)
c3c73c8</li>
</ul>
<hr />
<p><a
href="https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 ">https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/44f33b47c5c6a965d507421af43e86cf5971d711 "><code>44f33b4</code></a>
1.1.12</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c460dbd68e428d147b2080622d8ce126c7a08570 "><code>c460dbd</code></a>
pkg: publish on tag 1.x</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/ccb8ac6d4292b7661b677fe048ba6690c877f51f "><code>ccb8ac6</code></a>
fmt</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c3c73c8b088defc70851843be88ccc3af08e7217 "><code>c3c73c8</code></a>
Fix potential ReDoS Vulnerability or Inefficient Regular Expression (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)</li>
<li>See full diff in <a
href="https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12 ">compare
view</a></li>
</ul>
</details>
<br />
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-09-28 13:06:55 +02:00
xermicus
94ec34c4d5
Separate compilation and linker phases ( #376 )
...
Separate between compilation and linker phases to allow deploy time
linking and back-porting era compiler changes to fix #91 . Unlinked
contract binaries (caused by missing libraries or missing factory
dependencies in turn) are emitted as raw ELF object.
Few drive by fixes:
- #98
- A compiler panic on missing libraries definitions.
- Fixes some incosistent type forwarding in JSON output (empty string
vs. null object).
- Remove the unused fallback for size optimization setting.
- Remove the broken `--lvm-ir` mode.
- CI workflow fixes.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Signed-off-by: xermicus <bigcyrill@hotmail.com >
Signed-off-by: xermicus <cyrill@parity.io >
2025-09-27 20:52:22 +02:00
xermicus
13faedf08a
link to readme in the build utils llvm error message more ( #373 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2025-09-02 14:21:54 +02:00
LJ
2f89c743ce
Implement Rust CLI tests ( #372 )
...
# Description
Closes #365
Ports all `resolc` CLI tests to Rust and removes the CLI TypeScript
tests.
2025-08-19 16:04:05 +02:00
LJ
ea0ea711ad
Update workflows to skip tests for only .md files ( #371 )
...
When updating documentation Markdown files, long-running tests still run
unnecessarily. With these changes, it will skip running test workflows
when PRs only containing changes to such files are opened.
Co-authored-by: xermicus <cyrill@parity.io >
2025-08-12 16:12:14 +02:00
LJ
b31e8a0d74
Fix llvm-builder installation docs ( #370 )
...
Updated installation instructions for the llvm-builder.
2025-08-11 21:48:40 +02:00
xermicus
903cbd7159
YUL tree visitor interface ( #369 )
...
- Implement the visitor interface. This simplifies working with the AST,
for example transformations into other IRs or collecting and analyzing
various statistics.
- Switch the explorer to use the visitor interface.
- Add the reciprocal function name conversion for function names.
- Some drive-by cosmetic fixes.
---------
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-08-10 00:08:25 +02:00
dependabot[bot]
72f9e4f66e
Bump @eslint/plugin-kit from 0.3.3 to 0.3.4 ( #367 )
...
Bumps
[@eslint/plugin-kit](https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit )
from 0.3.3 to 0.3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/rewrite/releases "><code>@eslint/plugin-kit</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-kit: v0.3.4</h2>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.3...plugin-kit-v0.3.4 ">0.3.4</a>
(2025-07-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>potential quadratic runtime in regular expression (<a
href="https://redirect.github.com/eslint/rewrite/issues/240 ">#240</a>)
(<a
href="https://github.com/eslint/rewrite/commit/b283f64099ad6c6b5043387c091691d21b387805 ">b283f64</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md "><code>@eslint/plugin-kit</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.3...plugin-kit-v0.3.4 ">0.3.4</a>
(2025-07-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>potential quadratic runtime in regular expression (<a
href="https://redirect.github.com/eslint/rewrite/issues/240 ">#240</a>)
(<a
href="https://github.com/eslint/rewrite/commit/b283f64099ad6c6b5043387c091691d21b387805 ">b283f64</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/rewrite/commit/380c2248711f5277e56c2977b6b440577b210023 "><code>380c224</code></a>
chore: release main (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/242 ">#242</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/17276ff19cec952ecbe7a1bacfaed67bc134b20c "><code>17276ff</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/b283f64099ad6c6b5043387c091691d21b387805 "><code>b283f64</code></a>
fix: potential quadratic runtime in regular expression (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/240 ">#240</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/46cd5dab8f47b4be65a9aa9202a38603da85f186 "><code>46cd5da</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/9677965292cd5b670ef0e4aa7b9b57028a26a0ee "><code>9677965</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/20799b5802db906bc43308108986e0508febe58f "><code>20799b5</code></a>
docs: Update README sponsors</li>
<li>See full diff in <a
href="https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.4/packages/plugin-kit ">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-08-08 11:36:16 +02:00
xermicus
a96e1a4233
fix new Rust 1.89 warnings ( #368 )
2025-08-08 11:14:26 +02:00
dependabot[bot]
56aadce0a9
Bump @eslint/plugin-kit from 0.3.1 to 0.3.3 ( #363 )
...
Bumps
[@eslint/plugin-kit](https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit )
from 0.3.1 to 0.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/rewrite/releases "><code>@eslint/plugin-kit</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-kit: v0.3.3</h2>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.2...plugin-kit-v0.3.3 ">0.3.3</a>
(2025-06-25)</h2>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@eslint/core</code> bumped from ^0.15.0 to ^0.15.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>plugin-kit: v0.3.2</h2>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.1...plugin-kit-v0.3.2 ">0.3.2</a>
(2025-06-09)</h2>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@eslint/core</code> bumped from ^0.14.0 to ^0.15.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md "><code>@eslint/plugin-kit</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.2...plugin-kit-v0.3.3 ">0.3.3</a>
(2025-06-25)</h2>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@eslint/core</code> bumped from ^0.15.0 to ^0.15.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2><a
href="https://github.com/eslint/rewrite/compare/plugin-kit-v0.3.1...plugin-kit-v0.3.2 ">0.3.2</a>
(2025-06-09)</h2>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@eslint/core</code> bumped from ^0.14.0 to ^0.15.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/rewrite/commit/0496201974aad87fdcf3aa2a63ec74e91b54825e "><code>0496201</code></a>
chore: release main (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/229 ">#229</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/f5e6d683ee00b24b98777291c0a9a83719fe3402 "><code>f5e6d68</code></a>
chore: hoist cli tools to root level (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/224 ">#224</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/48b1f849476582257e1b6a110c4af55adbbec2e8 "><code>48b1f84</code></a>
chore: release main (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/216 ">#216</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/147afec6be22b6ed4151c1e0a8fc40c061d626d6 "><code>147afec</code></a>
chore: update <code>package.json</code> to follow template (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/225 ">#225</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/0a6aad0a70cc7261a303df614a4466e0b1f525b8 "><code>0a6aad0</code></a>
docs: fix bun command and update documentation (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/222 ">#222</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/2a8913cdae0aa57dfea993256dbe6a04029909da "><code>2a8913c</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/cb858ffb8b77ea76187a857546c7a838a1fb4881 "><code>cb858ff</code></a>
refactor: update and fix error types in JSDoc comments (<a
href="https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit/issues/213 ">#213</a>)</li>
<li><a
href="https://github.com/eslint/rewrite/commit/4ec089e5b60d64f695d09a973dbc4eb72026f112 "><code>4ec089e</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/1ddb2ed129e2999c2164f933282d8df1884bbd6c "><code>1ddb2ed</code></a>
docs: Update README sponsors</li>
<li><a
href="https://github.com/eslint/rewrite/commit/aa6a48b789a5a48eb405c03502a71e5879905876 "><code>aa6a48b</code></a>
docs: Update README sponsors</li>
<li>See full diff in <a
href="https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.3/packages/plugin-kit ">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-07-22 18:45:52 +02:00
xermicus
9751481f6b
the revive-explorer utility ( #364 )
...
A maintainable and more precise version of what was a hacky but useful
script, exploring the compilers YUL lowering unit.
It analyzes a given shared objects from the debug dump and outputs:
- The count of each YUL statement translated.
- A per YUL statement break-down of bytecode size contributed per.
- Estimated `yul-phaser` cost parameters.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-07-22 09:17:55 +02:00
xermicus
c285a6ec3d
add columns to debug information ( #362 )
...
- Add column numbers to debug information.
- Do not build allocas at entry for now.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-07-17 09:53:54 +02:00
xermicus
a0396dd6d0
solc-json-interface: support for YUL optimizer details ( #361 )
...
- Add support for the YUL optimizer details in the standard json input
definition.
- Make optimizer settings optional. They can be omitted and solc will
pick default values ([see here for
reference](https://docs.soliditylang.org/en/latest/using-the-compiler.html#input-description )).
For example allows to use the
[`yul-phaser`](https://github.com/ethereum/solidity/blob/0917604a5ec7cff8bd40a1137f4fcb303fb90527/tools/yulPhaser/README.md?plain=1 )
utility. I did a single search with slightly adjusted costs (just made
some educated guess) and after an hour or so this already found an
optimizer sequence
(`OESsShMxeoufcSTvlFxtelTfnfEvicdFxnsvopgCaIeLcnvsTtUrUgdVTUttaeUomccTTTuujsVVvVDvvueUrTjUOmjrrhuuTtj`)
which shrinks the size of the `EndpointV2.sol` from LayerZero by 10%.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Signed-off-by: xermicus <cyrill@parity.io >
2025-07-14 11:25:45 +02:00
Alexander Samusev
141a8b752c
Make nigthly version semver compliant ( #360 )
...
cc https://github.com/paritytech/revive/pull/357
2025-07-08 17:17:05 +02:00
Alexander Samusev
7c932f719b
Generate nightly builds and json files ( #357 )
...
PR adds a nightly release pipeline.
Since the logic for the nightly build and release differs significantly
from the usual pipeline, I decided to put it in a separate file. The
same applies to the Python script that generates JSON files.
The nightly pipeline runs at 01:00 UTC every day, producing artefacts
and retaining them for 40 days if commits are made the day before it
runs.
cc https://github.com/paritytech/revive/issues/355
cc https://github.com/paritytech/devops/issues/4141
2025-07-07 17:46:55 +02:00
xermicus
b238913a7d
emit YUL builtins debug line info and fix debug info source file ( #358 )
...
This PR fixes and enhances debug info generation:
1. Adds line information for each lowered YUL builtin and the `if`
statement.
2. Fixes the debug info source path to match the YUL file of the
contract dumped to the `--debug-output-dir`.
This improves inspection of the generated code a lot. Excerpt from
`llvm-objdump -Sl /tmp/dbg/contracts_EndpointV2.sol.EndpointV2.so`:
```
; /tmp/dbg/contracts_EndpointV2.sol.EndpointV2.yul:203
; let _1 := memoryguard(0x80)
13c3e: 3aa5b023 sd a0, 0x3a0(a1)
13c42: 38a5bc23 sd a0, 0x398(a1)
13c46: 38a5b823 sd a0, 0x390(a1)
13c4a: 08000513 li a0, 0x80
13c4e: 38a5b423 sd a0, 0x388(a1)
; /tmp/dbg/contracts_EndpointV2.sol.EndpointV2.yul:204
; mstore(64, _1)
13c52: 3885b503 ld a0, 0x388(a1)
13c56: 3905b603 ld a2, 0x390(a1)
13c5a: 3985b683 ld a3, 0x398(a1)
13c5e: 3a05b703 ld a4, 0x3a0(a1)
13c62: 38e5b023 sd a4, 0x380(a1)
13c66: 36d5bc23 sd a3, 0x378(a1)
13c6a: 36c5b823 sd a2, 0x370(a1)
13c6e: 36a5b423 sd a0, 0x368(a1)
13c72: 04000513 li a0, 0x40
13c76: 65d9 lui a1, 0x16
13c78: a605859b addiw a1, a1, -0x5a0
13c7c: 95a6 add a1, a1, s1
13c7e: 00000097 auipc ra, 0x0
13c82: 000080e7 jalr ra <__runtime+0x1de>
0000000000013c86 <.Lpcrel_hi27>:
; /tmp/dbg/contracts_EndpointV2.sol.EndpointV2.yul:205
; if iszero(lt(calldatasize(), 4))
13c86: 00000517 auipc a0, 0x0
13c8a: 00053503 ld a0, 0x0(a0)
13c8e: 4108 lw a0, 0x0(a0)
13c90: 4591 li a1, 0x4
13c92: 06b56263 bltu a0, a1, 0x13cf6 <.Lpcrel_hi27+0x70>
13c96: a009 j 0x13c98 <.Lpcrel_hi27+0x12>
```
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-07-04 19:56:52 +02:00
xermicus
ed608699af
release resolc v0.3.0 ( #354 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.3.0
2025-06-28 12:32:48 +02:00
xermicus
75fc23c810
add the missing memset builtin ( #353 )
...
Closes #350
- Add the missing `memset` builtin which was accidentally deleted in a
previous PR.
- Add a compilation test to ensure the `memset` builtin is present.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-06-28 12:01:34 +02:00
xermicus
486c9c28a1
new clippies ( #352 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-06-28 11:48:24 +02:00
PG Herveou
7656c6a8b4
js: Add stats and override options ( #348 )
...
- Add `RESOLC_BIN` env variable to force use a binary compiler instead
of the wasm
- Add `--diff-stats` options to print file path
e.g
```
~/github/redstone-oracles-monorepo main*
❯ npx @parity/resolc@latest --diff-stats \
--base-path . \
--include-path node_modules \
--bin packages/evm-connector/contracts/samples/SampleWithEvents.sol
┌─────────┬──────────────────────────────────────────────────────────────────────────┬───────────────────────────────┬────────────┬────────────┬───────────┐
│ (index) │ file │ contract │ polkavm │ bin │ diff │
├─────────┼──────────────────────────────────────────────────────────────────────────┼───────────────────────────────┼────────────┼────────────┼───────────┤
│ 0 │ 'packages/evm-connector/contracts/core/CalldataExtractor.sol' │ 'CalldataExtractor' │ '4.31 kB' │ '2.53 kB' │ '70.12%' │
│ 1 │ 'packages/evm-connector/contracts/core/RedstoneConstants.sol' │ 'RedstoneConstants' │ '0.80 kB' │ '0.17 kB' │ '368.18%' │
│ 2 │ 'packages/evm-connector/contracts/core/RedstoneDefaultsLib.sol' │ 'RedstoneDefaultsLib' │ '0.90 kB' │ '0.31 kB' │ '189.06%' │
│ 3 │ 'packages/evm-connector/contracts/libs/BitmapLib.sol' │ 'BitmapLib' │ '0.90 kB' │ '0.31 kB' │ '189.06%' │
│ 4 │ 'packages/evm-connector/contracts/libs/NumericArrayLib.sol' │ 'NumericArrayLib' │ '0.90 kB' │ '0.31 kB' │ '189.06%' │
│ 5 │ 'packages/evm-connector/contracts/libs/SignatureLib.sol' │ 'SignatureLib' │ '0.90 kB' │ '0.31 kB' │ '189.06%' │
│ 6 │ 'packages/evm-connector/contracts/mocks/RedstoneConsumerNumericMock.sol' │ 'RedstoneConsumerNumericMock' │ '13.62 kB' │ '10.17 kB' │ '33.96%' │
│ 7 │ 'packages/evm-connector/contracts/samples/SampleWithEvents.sol' │ 'SampleWithEvents' │ '29.34 kB' │ '15.60 kB' │ '88.03%' │
└─────────┴──────────────────────────────────────────────────────────────────────────┴───────────────────────────────┴────────────┴────────────┴───────────┘
```
2025-06-19 12:17:09 +02:00
xermicus
8754d802fa
llvm-context: bugfix PHI values in SAR builtin translation ( #345 )
...
Closes #344
Signed-off-by: xermicus <cyrill@parity.io >
2025-06-14 15:12:03 +02:00
PG Herveou
63f0266fff
@parity/resolc fix sol file resolutions ( #343 )
...
second take on #339
turns out that the resolve-pkg npm package was also failing to properly
resolve package with an exports field define in the package.json.
This fixes it and add a test case with such a package
2025-06-05 10:05:53 +02:00
xermicus
e94432eaa0
ci: the resolc version dictates binary releases ( #341 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.2.0
2025-06-03 15:47:33 +02:00
xermicus
1fc3aa1554
release resolc v0.2.0 ( #340 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-06-03 15:36:54 +02:00
Chris
a77ab501c8
fix: exclude EVM bytecode from production solc requests ( #338 )
...
This is to address issue #320
## Introduced changes
- Added new_required_for_tests() method that includes EVM bytecode flags
- Modified new_required() to exclude evm.bytecode and
evm.deployedBytecode
- Updated test utilities to explicitly request EVM bytecode when needed
Signed-off-by: 0xf333 <0x333@tuta.io >
2025-06-03 10:43:52 +02:00
xermicus
8a3c587bbe
solc-json-interface: do not unconditionally skip serialization of custom keys ( #337 )
...
The data structure can be used to build the JSON input for `resolc` too.
In that case serializing of provided custom options should not be
dismissed.
Makes the memory settings struct more modular as a drive-by.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-06-03 08:17:54 +02:00
PG Herveou
45b6a57cae
Fix npm package resolution ( #339 )
...
Current approach fails with an 'ERR_PACKAGE_PATH_NOT_EXPORTED' error for
npm package that defines an exports field in the package.json
e.g:
> require.resolve('@redstone-finance/evm-connector/package.json')
will fail with
Uncaught:
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './package.json'
is not defined by "exports" in
/home/pg/github/evm-test-suite/eth-rpc/node_modules/@redstone-finance/evm-connector/package.json
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
2025-06-02 14:41:06 +02:00
xermicus
8a730f42cc
update NPM package version ( #336 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-28 08:15:41 +02:00
xermicus
413819facd
do not use wildcard dependency in resolc crate ( #335 )
...
Do not use wildcard dependency in resolc crate. No sure why the publish
dry-run doesn't catch this.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 14:19:24 +02:00
xermicus
fa0ad68279
make resolc crate publishable ( #334 )
...
- Fetching the commit SHA must not panic if not executed in a git
repository.
- Remove the license printer.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 14:13:12 +02:00
xermicus
004c71d5d5
add description to revive-differential ( #333 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 13:26:05 +02:00
xermicus
4d659ac2a6
release resolc v0.1.0 ( #332 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.1.0
2025-05-27 12:06:42 +02:00
xermicus
ed9dc60417
bump dependencies ( #331 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 11:24:15 +02:00
xermicus
3b9144ef3b
add installation instructions to the readme ( #330 )
...
Closes #294
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 10:23:42 +02:00
xermicus
bd4e108bb0
resolc crate ( #328 )
...
- Factor the YUL crate out of `revive-solidity`.
- `revive-solidity` is in reality not a Solidity implementation but the
revive solidity compiler driver (`resolc`). By renaming we not only get
this straight but also a binary with the same name as the crate which
should be less confusing.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 09:48:43 +02:00
xermicus
090e3ac13c
bugfix an env var in the release workflow ( #329 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-05-27 09:29:25 +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