Commit Graph

69 Commits

Author SHA1 Message Date
Cyrill Leutwiler 995b115c5f bump polkadot-sdk and polkavm (#94)
Signed-off-by: xermicus <cyrill@parity.io>
2024-10-22 19:50:58 +02: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
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
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 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
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 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
Cyrill Leutwiler d77ee1e0d4 runner: endow test accounts on genesis
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-06 13:50:01 +02:00
Cyrill Leutwiler d47539159b enable call context address tests
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-04 12:55:44 +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
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 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 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
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 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 83bf9d6041 events
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-14 09:46:18 +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 6af889c1ff implement division and remainder operations
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 23:21:16 +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
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 c0dd845b39 s/field/word
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-07 13:37:17 +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
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 9b341853b4 update to polkavm with lazy execution
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-30 15:23:44 +02:00