Commit Graph

54 Commits

Author SHA1 Message Date
Cyrill Leutwiler 9267a2af02 use the long revive version string in the contract metadata (#109) 2024-10-31 14:52:06 +01:00
Cyrill Leutwiler 173ace72cb solidity: rename the revive metadata (#106)
Rename the revive metadata fields and includes the commit hash and LLVM version in the revive version (similar to what solc does).

Signed-off-by: xermicus <cyrill@parity.io>
2024-10-31 13:00:35 +01:00
Cyrill Leutwiler 68564f9866 display the git revision version information (#105)
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-10-30 14:28:00 +01:00
Sebastian Miasojed cc38c37481 Set evm.deployedBytecode to the value of evm.bytecode (#95) 2024-10-24 14:59:50 +02:00
Cyrill Leutwiler e56feb95be standard json output: skip serializing keys instead of emitting a null object (#52)
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-10-23 15:28:28 +02:00
Cyrill Leutwiler f0f344a139 disable sbrk and emulate EVM linear memory internally (#76)
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
Signed-off-by: xermicus <cyrill@parity.io>
2024-10-14 15:20:00 +02:00
Cyrill Leutwiler 92a18460e4 support solc 0.8.28 (#84)
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-10-14 13:25:18 +02:00
Cyrill Leutwiler 49d2157a84 remove near calls
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-10-11 15:58:28 +02:00
Cyrill Leutwiler e131eebf50 remove system mode and request memoization
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-10-11 15:58:28 +02:00
Cyrill Leutwiler d5d419cefc implement immutable variables codegen (#70) 2024-10-10 13:33:00 +02:00
xermicus b344e0cff5 Revert "implement immutable variables codegen"
This reverts commit 0e6a6d12c3.
2024-10-09 03:43:05 +02:00
xermicus 0e6a6d12c3 implement immutable variables codegen
Signed-off-by: xermicus <cyrill@parity.io>
2024-10-09 03:37:56 +02:00
Cyrill Leutwiler 77fe683f18 remove the test encoding option (#65) 2024-10-04 09:59:27 +02:00
Cyrill Leutwiler 6585973e99 Updated call semantics (#56)
- Update pallet-revive dependency
- Implement calls according to pallet-revive call semantics
- Switch to the new return data API in pallet revive and get rid of return data buffer
- Remove a bunch of resulting dead code
2024-09-28 20:03:03 +02:00
Cyrill Leutwiler f621971a13 move the repository to paritytech org (#49) 2024-09-17 14:53:17 +02:00
Cyrill Leutwiler d8c708eba5 support solc 0.8.27
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-16 12:43:49 +02:00
wpt967 ac9215329c [solidity] Fix wrong check on recursive-process-input CLI option. (#42) 2024-09-10 19:11:36 +02:00
Cyrill Leutwiler 2955f77772 implement self balance
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-09 09:40:24 +02:00
xermicus 7c934e5ca1 fix some clippies
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-04 11:31:18 +02:00
Cyrill Leutwiler d2f76b645f switch to pallet_revive runtime (#40)
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-03 17:18:22 +02:00
Sebastian Miasojed 41c8d4e955 Add support for --license arg (#38) 2024-08-29 16:26:06 +02:00
xermicus 5d742d150d tidy up workspace
Signed-off-by: xermicus <cyrill@parity.io>
2024-08-24 16:09:07 +02:00
xermicus 0903718f07 add compiler helpers to solidity test utils
Signed-off-by: xermicus <cyrill@parity.io>
2024-08-24 02:09:56 +02:00
Cyrill Leutwiler 880305dbfb replace deprecated structopt crate with clap (#33)
Signed-off-by: xermicus <cyrill@parity.io>
2024-08-23 18:25:08 +02:00
wpt967 bb4a4dddde [solidity,llvm-context] Improve support for debugging the compiler (#32)
Add option --recursive-process-input <filename> for use with
--recursive-process to specify the name of a file to use instead of
reading from stdin.

If --debug-output-dir is set, dump the file passed to the recursive
invocation of the compiler as a JSON file suitable for use with
--recursive-process-input.

These changes are intended to support debugging the compiler and are
only available with DEBUG builds.
2024-08-23 18:18:07 +02:00
dependabot[bot] 16a0cc46e6 Bump braces from 3.0.2 to 3.0.3 in /crates/solidity/src/tests/cli-tests (#25)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 18:07:10 +02:00
xermicus 10c7045e15 Implement CODESIZE
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-06 15:10:21 +02:00
xermicus 39d78179d4 implement transient storage
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-05 17:34:17 +02:00
Cyrill Leutwiler 9e9227d740 Remove vyper and dead code (#23) 2024-06-05 13:29:07 +02:00
Cyrill Leutwiler a04eacabff Support solc v0.8.26 (#22) 2024-06-05 12:03:16 +02:00
xermicus 68ec8be49f Implement the PUSHDEPLOYADDRESS instruction.
Introduction and raison d'être in solc:
https://github.com/ethereum/solidity/pull/3203

TL;DR: Exists to guard libraries from being called directly.

Hence we substitute PUSHDEPLOYADDRESS (the zero address) via a call
to the address API to let the library constructor fetch its own
address. In the zkSync target they do exactly the same.

Signed-off-by: xermicus <cyrill@parity.io>
2024-06-05 10:34:53 +02:00
Cyrill Leutwiler 1ba806be1f Contract calls (#19) 2024-06-01 20:48:20 +02:00
Cyrill Leutwiler 532721f3be Implement MCOPY (#18)
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-29 21:43:22 +02:00
xermicus 5138fe3d06 implement EXTCODESIZE
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-22 22:56:03 +02:00
Cyrill Leutwiler 06aa289d9b Constructors and contract creation (#11)
Implement constructor logic and support create/create2 in the mock runtime

Signed-off-by: xermicus <cyrill@parity.io>
2024-05-22 21:35:32 +02:00
Cyrill Leutwiler 864e40901f implement address and msg.sender
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-05-08 16:10:48 +02:00
xermicus 6f080bb9f4 rename binary to resolc
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 11:16:24 +02:00
xermicus e958da5cd1 rename file extensions
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 11:02:05 +02:00
xermicus b55669f5c5 remove the zkasm format
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 10:48:01 +02:00
Chris 169740eb5e fix: addressed assembly text build mechanism (#9)
Use `build.assembly_text` for `--asm` output
2024-05-08 09:36:17 +02:00
xermicus c0dd845b39 s/field/word
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-07 13:37:17 +02:00
xermicus 9f8a8a782d 1.78 clippies
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-06 14:34:51 +02:00
Chris a75fc55133 feat: use PolkaVM disassembler (#6)
Integrate the PolkaVM disassembler to fix `--asm` output

Co-authored-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-05-03 12:31:24 +02:00
xermicus 336fc63f1d rename target to polkavm
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-02 08:47:44 +02:00
xermicus 426f673b0a use normal style for comments
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-01 16:12:32 +02:00
xermicus 72515254fe rename llvm-context crate
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-01 15:45:09 +02:00
xermicus 44ae9e77d5 clippies
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-26 10:39:56 +02:00
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 7aa27516e4 remove zkEVM extensions
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-15 15:22:23 +02:00