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
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
Ermal Kaleci
aae25107a2
support full storage key space ( #100 )
...
- The storage pointer values will no longer be truncated to the register size, allowing for the use of arbitrary storage keys
- Failed storage value reads will now guarantee to return the zero value
2024-10-28 10:18:11 +01:00
Ermal Kaleci
ee83d28a51
Implement extcodehash ( #77 )
2024-10-21 10:13:50 +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
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
Ermal Kaleci
adda5a0f12
improve runtime api return value names ( #81 )
2024-10-14 08:56:26 +02:00
Ermal Kaleci
d9842b5427
Fix implementation for balance_of ( #79 )
...
The balance_of syscall is now available in pallet-revive.
- Fix balance_of implementation to use correct runtime api
- Add build_address_argument_store helper to be used for address arguments
2024-10-12 12:35:10 +02:00
Cyrill Leutwiler
6335c34a2b
remove obsolete runtime builtins
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-10-11 15:58:28 +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
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
066acc4663
set chain_id in test runtime
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-09-28 19:17:41 +02:00
Cyrill Leutwiler
287272b789
sync runtime with the pallet ( #54 )
2024-09-24 09:14:36 +02:00
Cyrill Leutwiler
72d958392b
revise alloca at function entry later
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-09-16 12:42:50 +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
0f2b55f6ff
fixed output size for transferred value
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-13 08:41:23 +02:00
Cyrill Leutwiler
6635a0b337
fixed size event topics
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2024-09-10 09:09:52 +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
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
Cyrill Leutwiler
d2f76b645f
switch to pallet_revive runtime ( #40 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-09-03 17:18:22 +02:00
xermicus
5d742d150d
tidy up workspace
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-08-24 16:09:07 +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
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
6834751522
support riscv64 target
...
Signed-off-by: xermicus <cyrill@parity.io >
2024-07-09 17:57:58 +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
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
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
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
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