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
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
wborgeaud
9f1a5f975c
Charge gas for keccak ( #943 )
2023-03-29 19:58:29 +02:00
BGluth
b667c07497
Merge pull request #940 from mir-protocol/eth_trie_utils_bump
...
Bumped `eth_trie_utils` to `0.5.0`
2023-03-28 15:06:11 -06:00
BGluth
3c7bc8835c
Removed a type alias
...
- Was conflicting with the trait `PartialTrie` and also making the types
harder to follow.
2023-03-28 14:38:58 -06:00
Dima V
7b93b81a07
Merge pull request #931 from mir-protocol/fp381-opcodes
2023-03-27 18:53:59 -07:00
Dmitry Vagner
cf5a4edc8b
prover input minor improvements
2023-03-27 18:20:22 -07:00
BGluth
60ad9e03ba
Bumped eth_trie_utils to 0.5.0
2023-03-27 17:30:11 -06:00
Dmitry Vagner
c3a5fd8631
merge
2023-03-24 11:32:01 -07:00
Daniel Lubarov
911dfedd07
Rework CREATE, CREATE2 syscalls
...
The old code was outdated in various ways, e.g. it was trying to share code with contract-creation txns, so I would ignore the diff and just look at the new code.
Still a bunch of TODOs left here, like actually saving code that's returned.
2023-03-24 10:43:46 -07:00
Daniel Lubarov
b4eb837346
A few fixes for terminal instructions
2023-03-23 17:28:55 -07:00
wborgeaud
ce22d94518
Access lists ( #937 )
...
* Working linear search
* Working linear search for storage keys
* Macros
* Gas for wextaccount
* Add origin and to to the access list
* Handle precompiles
* Fixes
* Other opcodes
* Access list SLOAD
* Minor
* Add TODO for SSTORE
* Comments
* Clippy
* Minor
* PR feedback: cold_access
* PR feedback: simplify insert_accessed_addresses_no_return macro
* Fix sys_selfdestruct
* Store length in global metadata and store arrays in kernel memory
* Truncate address in all *CALL syscalls
2023-03-23 20:22:25 +01:00
Daniel Lubarov
f9fa38d3cd
Fix new account insert key
2023-03-22 21:53:33 -07:00
Dmitry Vagner
7ff2122e46
Merge branch 'main' of github.com:mir-protocol/plonky2 into fp381-opcodes
2023-03-22 18:22:37 -07:00
Dima V
1ce47cebc5
Merge pull request #906 from mir-protocol/fp318
...
Generalize rust code for field extension arithmetic to be base-field agnostic
2023-03-22 17:40:58 -07:00
Dmitry Vagner
0650d2636c
remove .scale
2023-03-22 17:26:14 -07:00
Dmitry Vagner
3f4d970f15
Merge branch 'main' of github.com:mir-protocol/plonky2 into fp318
2023-03-22 16:58:54 -07:00
Dmitry Vagner
c8d2769c28
fmt
2023-03-22 11:58:51 -07:00
Dmitry Vagner
74afec70ed
remove imports
2023-03-22 11:56:58 -07:00
wborgeaud
f4e65feb65
Fix bugs in wcopy and update_mem_words ( #934 )
...
* Fix bugs in wcopy and update_mem_words
* Update comment
2023-03-22 19:14:55 +01:00
wborgeaud
15bafce5dd
Implement CREATE2 address generation ( #936 )
...
* Implement create2 address gen
* Clippy
* Minor
* Wrong order
* Fix test
* Fix comment
2023-03-22 19:14:17 +01:00
Dmitry Vagner
874805cc65
Merge branch 'fp318' of github.com:mir-protocol/plonky2 into fp381-opcodes
2023-03-22 10:58:19 -07:00
Dmitry Vagner
645ef664a2
comment
2023-03-22 10:58:09 -07:00
Dmitry Vagner
63ec13e24b
Merge branch 'main' of github.com:mir-protocol/plonky2 into fp318
2023-03-22 10:57:30 -07:00
Dmitry Vagner
3425391a09
more comments
2023-03-22 10:57:26 -07:00
wborgeaud
d0b2b81e11
More MemoryError ( #932 )
2023-03-22 18:43:41 +01:00
Dmitry Vagner
1f3e3de77c
clean and generalize
2023-03-22 10:16:02 -07:00
Dmitry Vagner
1627a9a0d3
tests pass
2023-03-22 09:55:35 -07:00
wborgeaud
06936c7649
Implement various syscalls ( #930 )
...
* Bunch of syscalls
* Minor
* Minor
* Minor
* Add todo for overflow
2023-03-22 06:42:14 +01:00
Dmitry Vagner
84a0bcf893
cleanup
2023-03-21 21:28:15 -07:00
Dmitry Vagner
373062b2a3
on stack
2023-03-21 21:22:08 -07:00
Dmitry Vagner
0e8f6a2f68
test skeleton
2023-03-21 21:17:46 -07:00
Dmitry Vagner
392c29f412
compiles
2023-03-21 21:16:19 -07:00
Dmitry Vagner
9ea0ebd78f
skeleton
2023-03-21 21:10:01 -07:00
Dmitry Vagner
1437affcfd
fmt
2023-03-21 19:26:06 -07:00
Dmitry Vagner
b847d16e13
redundancy
2023-03-21 19:25:28 -07:00
Dmitry Vagner
13d2ed90d7
merge
2023-03-21 19:23:54 -07:00
Dmitry Vagner
54b8ce74ab
Merge branch 'main' of github.com:mir-protocol/plonky2 into fp318
2023-03-21 19:22:13 -07:00
Dmitry Vagner
143225f449
finish
2023-03-21 19:19:02 -07:00
Dmitry Vagner
fc72ce46c5
fp6 works
2023-03-21 13:55:51 -07:00
Dmitry Vagner
4d83c58d1f
frob works
2023-03-21 13:51:11 -07:00
wborgeaud
2df1439d35
Return error instead of panic in memory operation ( #928 )
2023-03-21 20:15:46 +01:00
wborgeaud
a79271a8ec
Minor account code fixes ( #929 )
...
* Fixes
* Fix
* Newline
2023-03-21 20:15:30 +01:00
Dmitry Vagner
caaf3b4a34
merge fields
2023-03-21 11:42:46 -07:00
Dmitry Vagner
cf1e6a76f3
Merge branch 'main' of github.com:mir-protocol/plonky2 into fp318
2023-03-21 11:25:23 -07:00
Daniel Lubarov
ff81a565ef
Merge pull request #927 from mir-protocol/creation_fixes
...
Contract creation fixes
2023-03-21 00:06:19 -07:00
Daniel Lubarov
e1ae539271
Fix test
2023-03-20 23:57:44 -07:00