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
42697edc67
update extensive benchmarks
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-16 09:58:00 +02:00
Cyrill Leutwiler
d8be21f156
update PolkaVM
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-15 10:12:52 +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
Cyrill Leutwiler
864e40901f
implement address and msg.sender
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-08 16:10:48 +02:00
Cyrill Leutwiler
ea63991617
implement address and msg.sender
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-08 16:09:23 +02:00
Cyrill Leutwiler
f80a96059d
allow register sized int type for memory offsets
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-08 15:55:24 +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
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
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
xermicus
b1a3a452ac
internalize register size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-06 14:30:32 +02:00
xermicus
518c03d045
internalize runtime API function symbols
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-06 13:45:58 +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
Chris
c547a9ef78
chore: added code formating target ( #8 )
...
Makefile: added code formating target
Co-authored-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-03 11:36:07 +02:00
xermicus
336fc63f1d
rename target to polkavm
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-02 08:47:44 +02:00
xermicus
9fc24af355
remove usage of llvm memory attributes
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-05-02 08:34:45 +02:00
Cyrill Leutwiler
85bd888f48
update benchmark results
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-05-01 22:41:28 +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
9b341853b4
update to polkavm with lazy execution
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-30 15:23:44 +02:00
xermicus
018d9f39fc
measure erc20 code size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-26 15:51:14 +02:00
xermicus
3d44685168
measure flipper code size
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-26 10:51:41 +02:00
xermicus
44ae9e77d5
clippies
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-26 10:39:56 +02:00
xermicus
a85d1ef333
prevent confusing AlwaysInline and NoInline on O0
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-04-26 10:36:28 +02:00
Cyrill Leutwiler
45d53f2ee4
test for codesizes
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-04-25 17:39:49 +02:00
Cyrill Leutwiler
34c233207e
add clippy to Makefile
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-04-25 15:10:02 +02:00
Cyrill Leutwiler
ec46b211ab
extensive benchmark results
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-04-24 23:19:41 +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
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