Cyrill Leutwiler
df8ebb61ec
Integrate benchmarks and differential tests against an EVM interpreter ( #7 )
2024-04-24 18:51:19 +02:00
xermicus
bd10742ef8
allow solc v0.8.25
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-23 11:47:16 +02:00
xermicus
3468fd5abc
allow configuration of the PVM stack size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-22 14:16:36 +02:00
xermicus
bd33566206
lld-sys: link against lto lib
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-19 18:52:34 +02:00
xermicus
5a6ef7a3da
lto
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-19 18:51:33 +02:00
xermicus
7623f6f7fa
Makefile: split up binary and npm installations
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-19 18:51:02 +02:00
xermicus
7bdf776ea4
Makefile: allow individual clean commands to fail
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-18 16:22:46 +02:00
Chris
3fbf2833c2
feat: streamline bin updates during developement ( #5 )
...
* feat: streamline bin updates during developement
Description
===========
This PR introduces a way for the 'zksolc' binary
to automatically be updated/copied to '.cargo/bin'
after each build to resolves the issue of having
to manually update the $PATH or each time keep
running `cargo install --path crates/solidity`,
which was a recurring annoyance during testing
and development.
Co-authored-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-04-18 16:00:44 +02:00
xermicus
b3b4f4c9ae
add sha1 contract function integration test
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-18 12:34:35 +02:00
xermicus
cf4901f0a9
do not declare symbols that are already linked via the stdlib
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-18 12:33:46 +02:00
xermicus
21dd0abb8a
add SPDX header to integration contracts
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-18 12:30:09 +02:00
xermicus
b208daed7e
implement the value opcode
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-17 18:05:51 +02:00
Chris
09b905415b
feat: added npm workspaces support ( #4 )
...
Description
===========
- Introduced npm workspaces to manage
CLI tests from the root directory.
- Enabled simplified npm dependency
installation from the root.
- Updated .gitignore to align with
the new workspace structure.
Usage
=====
From the root directory
To install repo npm packages, run:
```
npm install && npm fund
```
To run related tests, run:
```
npm run test:cli
```
2024-04-17 12:49:10 +02:00
xermicus
99d22cde2f
provide Solidity source for mstore8 tests
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-17 12:48:19 +02:00
xermicus
bfcdb8afa9
implement byte stores and assert heap values to be either i256 or i8
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-17 12:44:54 +02:00
xermicus
40013b4f5c
split up PVM instantiation
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-17 12:13:34 +02:00
xermicus
796d0c19bb
integration: instantiate the module in prepare
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-16 20:06:34 +02:00
Cyrill Leutwiler
8a6d43bcd3
LLVM build script: Use LLVM 18 branch since compiler-rt fix got backported
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-04-16 07:55:06 +02:00
xermicus
bd0c62f99c
linker: suppress unused parameter warnings
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-15 16:12:05 +02:00
xermicus
d6ae7daab1
use opaque pointer types everywhere
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-15 16:02:38 +02:00
xermicus
7aa27516e4
remove zkEVM extensions
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-15 15:22:23 +02:00
xermicus
3f9a90fe79
provide build script for LLVM
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-12 15:07:52 +02:00
xermicus
45a082d9a8
LLVM 18
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-10 10:05:48 +02:00
xermicus
ec952fd2cb
add another msize test case
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-26 15:11:39 +01:00
xermicus
17832855e0
implement msize opcode
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-26 12:03:28 +01:00
xermicus
69800ae1b3
always allocate the total required heap size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-26 12:03:04 +01:00
xermicus
a67e6a94f5
use native stack alignment size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-26 10:05:00 +01:00
xermicus
2865676323
add fibonacci implementations to integration tests
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-26 09:47:25 +01:00
Cyrill Leutwiler
a76c5578cc
bump Cargo.lock
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-03-25 15:59:49 +01:00
Cyrill Leutwiler
a400286a3a
integration: engine config as a dependency for testing against different backends
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-03-25 11:38:35 +01:00
xermicus
2327a58213
XLEN type helper
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-22 16:34:04 +01:00
xermicus
c52a8d0f20
add common crate
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-22 16:19:18 +01:00
Cyrill Leutwiler
50f2dd9b74
Polkavm heap ( #2 )
...
Use PolkaVM heap
2024-03-22 12:41:41 +01:00
xermicus
e83e4f04e6
add crate for custom isa extensions
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-20 10:59:02 +01:00
xermicus
6436e1956b
always use build_gep wrapper
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-19 11:57:46 +01:00
xermicus
2b9e40225d
implement calldatacopy
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-19 10:49:47 +01:00
xermicus
6d058a42ed
suppress warnings about unused things
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-12 18:16:12 +01:00
xermicus
d12fa073fd
remove unused testdata
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-03-12 12:07:02 +01:00
Cyrill Leutwiler
cffa14a4d2
Emerge Yul recompiler ( #1 )
...
Provide a modified (and incomplete) version of ZKSync zksolc that can compile the most basic contracts
2024-03-12 12:06:02 +01:00
Cyrill Leutwiler
d238d8f39e
custom ir
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-02-02 09:10:03 +01:00
xermicus
7a094f17c0
add more crates
...
Signed-off-by: xermicus <cyrill@parity.io >
2023-12-09 17:48:52 +01:00
xermicus
c04ae9a5c3
define pointer size
...
Signed-off-by: xermicus <cyrill@parity.io >
2023-12-08 19:11:00 +01:00
xermicus
80e14f182d
add symbol kinds
...
Signed-off-by: xermicus <cyrill@parity.io >
2023-12-07 22:31:16 +01:00
Cyrill Leutwiler
426ab4b095
initial commit
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2023-12-07 20:37:23 +01:00