738 Commits

Author SHA1 Message Date
Dmitry Vagner
ff0695d760 renumber memory 2023-04-20 20:31:26 -07:00
Dmitry Vagner
f1bbf66cda it works 2023-04-20 20:02:15 -07:00
Dmitry Vagner
c01b2bf2c2 minor 2023-04-20 19:56:54 -07:00
Dmitry Vagner
44a623d453 initialize out in asm 2023-04-20 14:07:45 -07:00
Dmitry Vagner
4e0be66432 Merge branch 'main' of github.com:mir-protocol/plonky2 into pairing-test 2023-04-20 13:46:07 -07:00
wborgeaud
1a0a63003d
EIP170 (#1000) 2023-04-20 17:28:33 +02:00
Dmitry Vagner
099c4b9702 msg 2023-04-19 23:34:50 -07:00
Dmitry Vagner
82bca7fa34 error 2023-04-19 23:09:27 -07:00
Dmitry Vagner
b661a70904 twisted check 2023-04-19 23:06:02 -07:00
wborgeaud
6edd589138
Gas and more for CREATE(2) (#995)
* Gas

* Codehash

* Minor
2023-04-20 07:00:15 +02:00
wborgeaud
a8e5613bc5
EOA to precompiles logic (#993)
* Start

* Progress

* Comments

* Minor
2023-04-20 06:56:47 +02:00
Dmitry Vagner
bbe64674d0 tests passing 2023-04-19 14:51:25 -07:00
Dmitry Vagner
d6584dcb7c restructure tate test 2023-04-19 14:09:05 -07:00
Dmitry Vagner
9b54ee43db refactor 2023-04-19 13:12:47 -07:00
Dmitry Vagner
0e08243275 reorg 2023-04-19 10:40:39 -07:00
Hamish Ivey-Law
2e16ab0489
Replace %stack calls with equivalent opcodes. (#994) 2023-04-20 01:34:04 +10:00
Daniel Lubarov
67593f162a Labels for failed MPT read/insert 2023-04-17 17:27:55 -07:00
wborgeaud
b721236eb3
Precompiles interface (#983)
* Start

* Some sha256 test passing

* precompiles folder

* Files reorg

* Progress

* Minor

* Start of sha2 interface

* All call opcodes

* ecrec

* rip160

* Fix copy_returndata_to_mem

* id

* bn_add

* bn_mul

* TODOs for snarkv and blake2

* Comments

* Use charge_gas_const when possible

* Minor

* Minor

* Minor

* PR feedback
2023-04-14 12:20:28 +02:00
Daniel Lubarov
58f4568e7c
Merge pull request #982 from toposware/sys_chainid
Use Block chain id for sys_chainid
2023-04-12 14:43:43 -07:00
Hamy Ratoanina
92d94dc60d
Use Block chain id for sys_chainid 2023-04-12 15:25:06 -04:00
wborgeaud
475b2ba0cb
Fix copy_returndata_to_mem (#976) 2023-04-12 16:41:36 +02:00
wborgeaud
c7e60073f0
Check if context is static for state-changing opcodes (#973)
* Check if context is static for state-changing opcodes

* PR feedback
2023-04-12 08:24:33 +02:00
wborgeaud
142be4e114
Implement rest of *CALL opcodes (#972)
* Implement rest of *CALL opcodes

* Use set_new_ctx_code_size macro
2023-04-12 08:04:39 +02:00
wborgeaud
5b1fd5f2af
CALL gas (#969)
* (Non)ZeroValue_CALL pass

* Memory expansion costs (callcall_00 pass)

* Cleaning

* Minor

* PR feedback
2023-04-11 08:41:45 +02:00
Daniel Lubarov
042c004237
Merge pull request #965 from mir-protocol/fix_run_constructor
Fix `run_constructor`
2023-04-08 08:41:23 -07:00
Daniel Lubarov
31e134f0e3 Delete %set_new_ctx_parent_ctx 2023-04-08 08:40:37 -07:00
wborgeaud
1a9f010484
Fix call logic (#963)
* Working callcall_00 (modulo gas)

* Add TODO for call depth

* Add TODO for insufficient balance panic

* Add TODO for subcontext gas limit

* Minor

* Minor

* Copy returndata to memory

* PR feedback
2023-04-08 10:28:01 +02:00
wborgeaud
ab692252ba
Minor fixes to context creation (#961) 2023-04-08 09:06:02 +02:00
Daniel Lubarov
cfc54f95a0 Fix run_constructor
Fixes the crash due to a huge allocation in `returndatacopyPythonBug_Tue_03_48_41-1432`.
2023-04-07 10:20:40 -07:00
wborgeaud
af3fa1426e
Implement sys_return and sys_revert (#959)
* Fix gas and copy returndata in sys_return

* Also revert

* mstore_parent_context_metadata macros
2023-04-06 07:22:16 +02:00
wborgeaud
5ac12de990
Fix sys_exp (#958) 2023-04-05 19:07:47 +02:00
wborgeaud
923722b1e4
Fix copy opcodes when offset is large (#957)
* Fix wcopy

* Fix extcodecopy and use memset

* Comments
2023-04-05 06:24:26 +02:00
Nicholas Ward
d59fa59af8
Merge pull request #925 from mir-protocol/bignum-modexp
Bignum modexp
2023-04-04 13:37:48 -07:00
Nicholas Ward
90f7ba9a23 addressed final comments 2023-04-04 13:33:20 -07:00
Daniel Lubarov
9690b60b80
Merge pull request #956 from mir-protocol/doubly_encode_storage_values
Doubly RLP-encode storage values
2023-04-04 07:40:11 -07:00
Daniel Lubarov
e70e4fca06 Doubly RLP-encode storage values 2023-04-03 21:51:17 -07:00
wborgeaud
6fa59d204f
Fix MSTORE8 (#955)
* Fix MSTORE8

* Small optimization
2023-04-03 16:39:18 +02:00
wborgeaud
f9217272d1
Fix signed syscalls stack (#954) 2023-04-03 13:40:36 +02:00
wborgeaud
46d5e62a13
Copy txn data to calldata (#935) 2023-04-01 07:34:38 +02:00
wborgeaud
8e04cbfe8d
Self-destruct list (#948) 2023-04-01 07:29:22 +02:00
wborgeaud
a926dcad22
Transaction validity checks (#949) 2023-04-01 07:24:02 +02:00
wborgeaud
2ca00a9ad4
Selfdestruct gas and set (#947)
* Add new segment and global metadata

* Insert into self-destruct set

* Implement sys_selfdestruct

* PR feedback

* Fix stack underflow

* Forgot that NOT 1 ≠ 0. Added %not_bit macro for that.
2023-03-31 11:13:36 +02:00
wborgeaud
56bf08921b
Charge gas for extcodecopy (#942)
* Charge gas for extcodecopy

* Check for size=0
2023-03-30 06:46:26 +02:00
Daniel Lubarov
f71d364237
Merge pull request #945 from mir-protocol/remove_CONSUME_GAS
Remove `CONSUME_GAS`
2023-03-29 13:17:06 -07:00
Hamish Ivey-Law
9480cbed99
Signed operations as syscalls (#933)
* Implement syscalls for BYTE, SIGNEXTEND, SAR, SLT and SGT.

* Implement SDIV and SMOD; minor documentation and tidying.

* Implement EXP.

* Add sys_byte to the syscall jumptable.

* Test suite for signed syscalls.

* Handle `EXIT_KERNEL` "properly".

* Add gas charges; rename label.

* Uppercase all opcodes.

* Add test for BYTE; fix bug in BYTE.

* Calculate and charge gas for calling `EXP`.

* Fix gas calculation for `exponent = 0`.

* Address Jacqui's comments.

* Remove BYTE syscall as it will be implemented natively.

* Oops, forgot to remove this bit.
2023-03-30 05:56:01 +11:00
Daniel Lubarov
2d87c5d627 Remove CONSUME_GAS
Now that gas info is in `kexit_info`.
2023-03-29 11:28:05 -07:00
Daniel Lubarov
834522a653
Merge pull request #939 from mir-protocol/termination_fixes
A few fixes for terminal instructions
2023-03-29 11:26:05 -07:00
Daniel Lubarov
be0cccdf95
Merge pull request #938 from mir-protocol/rework_create_create2
Rework CREATE, CREATE2 syscalls
2023-03-29 11:25:52 -07:00
Daniel Lubarov
39fdad8c86 Feedback 2023-03-29 11:00:41 -07:00
wborgeaud
a0d04ca3d8
Fix Wcopy when size=0 (#944) 2023-03-29 19:58:44 +02:00