Cyrill Leutwiler
55ec0988e8
fix the CI runner version ( #137 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-12-18 17:03:29 +01:00
Cyrill Leutwiler
909de515c4
Allow arbitrary call data size ( #135 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-12-18 14:04:46 +01:00
Cyrill Leutwiler
2cb8f82266
calls: supply max ref_time and proof_size limits ( #133 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-12-10 16:31:44 +01:00
Cyrill Leutwiler
6f2f158ef1
fix new clippy lint ( #132 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-12-10 15:24:25 +01:00
Cyrill Leutwiler
4e5482bad2
fix the commit sha in the version ( #129 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-12-03 12:34:17 +01:00
Cyrill Leutwiler
0110258d81
release 0.1.0 dev.6 ( #128 )
2024-11-29 17:45:47 +01:00
Cyrill Leutwiler
f0d9d44dce
Implement the gasprice opcode ( #127 )
2024-11-29 17:14:27 +01:00
Cyrill Leutwiler
3f6cd115ee
update warnings ( #126 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-11-29 16:23:36 +01:00
Cyrill Leutwiler
7c00bbb0fc
remove unneeded utils ( #125 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-11-29 16:21:24 +01:00
Cyrill Leutwiler
423a494621
Switch target to 64bit and enable the zbb feature ( #120 )
2024-11-29 15:56:10 +01:00
Cyrill Leutwiler
08112e3449
Fix broken link in README.md
2024-11-29 10:39:42 +01:00
xermicus
84d47fa738
fix missing semicolon
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-11-22 16:14:07 +01:00
Cyrill Leutwiler
dbb47fd13e
experimental: support for debug info ( #118 )
...
Signed-off-by: wpt967 <matt.aw@parity.io >
Signed-off-by: xermicus <cyrill@parity.io >
2024-11-22 08:56:09 +01:00
Cyrill Leutwiler
87f2bcefb3
dump the elf shared object into the debug output directory ( #119 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-11-21 21:48:42 +01:00
Cyrill Leutwiler
89ddfb28c8
CI: ignore the broken test ( #116 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-11-21 12:22:15 +01:00
Cyrill Leutwiler
3232382d96
update dependencies ( #115 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-11-15 13:50:55 +01:00
Cyrill Leutwiler
6a120463c2
implement the blockhash opcode ( #114 )
2024-11-15 13:11:04 +01:00
Cyrill Leutwiler
c9dd347755
Add documentation portal ( #99 )
2024-11-14 14:21:48 +01:00
Cyrill Leutwiler
f947984671
update 64bit target flags ( #113 )
2024-11-14 10:29:21 +01:00
Cyrill Leutwiler
4cce4a729e
pre-release v0.1.0-dev.5 ( #110 )
2024-10-31 15:22:34 +01:00
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
37ab2b6782
declare immutable globals during in declare ( #108 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-10-31 12:07:39 +01:00
Cyrill Leutwiler
43d2ef3ce9
implement the code size opcodes ( #107 )
2024-10-31 11:46:47 +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
Cyrill Leutwiler
36d9317831
update the polkadot-sdk and polkavm dependencies ( #104 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-30 09:28:24 +01:00
Cyrill Leutwiler
5b3b90db83
support the origin opcode ( #103 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-29 18:40:25 +01:00
Cyrill Leutwiler
a4043ecde7
update LLVM target features ( #102 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-10-29 18:17:29 +01:00
Cyrill Leutwiler
f985f42370
update polkadot-sdk and inkwell dependencies ( #101 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-29 11:27:44 +01: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
995b115c5f
bump polkadot-sdk and polkavm ( #94 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-10-22 19:50:58 +02:00
Cyrill Leutwiler
82ae22c163
tidy up the runtime API crate ( #85 )
...
- remove unused runtime API imports and constants
- move runtime api symbols into the revive-runtime-api crate
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-17 10:55:27 +02:00
Cyrill Leutwiler
20e3560398
Makefile: remove duplicate workspace tests from the test target ( #90 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-17 10:22:04 +02:00
Cyrill Leutwiler
5bf31db660
bump polkavm and polkadot-sdk ( #87 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-15 10:46:20 +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
e5233fc46e
revive-runner: consider non-reverted transactions as success ( #82 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-14 13:24:59 +02:00
Cyrill Leutwiler
705d1d7866
run signed_remainder test in differential mode ( #75 )
2024-10-10 19:26:04 +02:00
Cyrill Leutwiler
d5d419cefc
implement immutable variables codegen ( #70 )
2024-10-10 13:33:00 +02:00
Cyrill Leutwiler
8b7fe8e3d7
deny clippy warnings by default ( #73 )
2024-10-09 20:19:12 +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
287272b789
sync runtime with the pallet ( #54 )
2024-09-24 09:14:36 +02:00
Cyrill Leutwiler
f621971a13
move the repository to paritytech org ( #49 )
2024-09-17 14:53:17 +02:00
Cyrill Leutwiler
b8bd44b62a
install solc 0.8.27 on CI ( #47 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-16 13:17:30 +02:00
Cyrill Leutwiler
616f044633
always build alloca in the entry block ( #46 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 21:54:42 +02:00
xermicus
7dc8e6051e
enable compressed instructions extension
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 14:55:16 +02:00
xermicus
783fa640e4
temporarily disable pvm linker optimizations
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 14:52:47 +02:00
xermicus
f086c57442
bump up runner runtime limits
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 14:52:09 +02:00
xermicus
0f2b55f6ff
fixed output size for transferred value
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 08:41:23 +02:00
xermicus
c111bcbc4d
common: remove unused constants
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-05 20:02:33 +02:00
xermicus
9e73c48150
remove the extra abi data
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-05 18:10:24 +02:00
Cyrill Leutwiler
393d90165e
pallet_revive: Account20 ( #41 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-04 12:42:41 +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
Cyrill Leutwiler
d763e30b8f
Simplify test case declaration ( #36 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-08-26 15:15:33 +02:00
xermicus
5d742d150d
tidy up workspace
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-08-24 16:09:07 +02:00
Cyrill Leutwiler and pgherveou
7844bbb604
add runner crate ( #34 )
...
Signed-off-by: xermicus <cyrill@parity.io >
Co-authored-by: xermicus <cyrill@parity.io >
Co-authored-by: pgherveou <pgherveou@gmail.com >
2024-08-24 03:20:52 +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
Cyrill Leutwiler
184d40d377
Upgrade inkwell ( #31 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-08-19 18:40:35 +02:00
xermicus
44bc7b94b2
typo
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-08-05 18:27:38 +02:00
xermicus
b002382d76
llvm build script: build compiler-rt for 64bit
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-07-19 00:06:53 +02:00
xermicus
e22eebabad
update README.md
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-07-19 00:06:48 +02:00
xermicus
6834751522
support riscv64 target
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-07-09 17:57:58 +02:00
xermicus
a4c4ad55dc
remove extensions crate
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-18 16:08:35 +02:00
xermicus
0d39b289cb
init mdbook
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-08 16:41:40 +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
caa1228720
Run all tests on CI ( #21 )
...
Run all tests on CI
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-05 00:50:03 +02:00
xermicus
d9a304d162
integration: cache contract blob artifacts after compilation
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-04 19:14:52 +02:00
xermicus
2d0a0e2e81
implement BYTE
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-04 18:45:06 +02:00
xermicus
354b1c8d79
do not byte swap storage values
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-06-03 17:16:49 +02:00
Cyrill Leutwiler
5ff17da695
Implement balance ( #20 )
2024-06-03 12:21:49 +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
2ea10d0c3e
convert todo list into GH issues
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-24 23:25:43 +02:00
xermicus
4f0a109771
update README.md
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-24 21:50:12 +02:00
Cyrill Leutwiler
bdaf573f17
integration tests on CI ( #12 )
...
Run integration tests on CI
2024-05-24 20:27:28 +02:00
Cyrill Leutwiler
0e90f1fd8c
Draf rust CI config
2024-05-24 17:59:38 +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
xermicus
47d5d6b394
dedicated functions for logging events adds even more code size on 32bit
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-14 11:08:35 +02:00
xermicus
83bf9d6041
events
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-14 09:46:18 +02:00
xermicus
2194aeebd0
constant values for basefee and difficulty
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-13 18:47:36 +02:00
xermicus
02055c73bb
extend mock runtime to allow executing constructors and cross contract calls
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-13 13:50:35 +02:00
xermicus
0e90317488
add contract name to integration to integration test cases
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-10 13:47:47 +02:00
xermicus
03a1918993
parallelize tests
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-10 10:54:01 +02:00
xermicus
5f5ec1a539
simplify wrapped divisions and sdiv cfg
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-10 10:16:40 +02:00
xermicus
6af889c1ff
implement division and remainder operations
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-08 23:21:16 +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
xermicus
95ff85c6d1
implement block.number and block.timestamp
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-07 18:03:17 +02:00
xermicus
a7318f2ef6
implement helper for easy allocation of a word on the stack
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-07 13:40:54 +02:00