wborgeaud
b116929f11
Delete touched recipient in EOA -> EOA ( #1037 )
2023-05-15 20:38:06 +02:00
Nicholas Ward
6ebee38e72
fix
2023-05-15 11:02:21 -07:00
wborgeaud
d05db4973d
Don't touch contract address in DELEGATECALL or CALLCODE ( #1036 )
...
* Don't touch address in DELEGATECALL or CALLCODE
* Minor
2023-05-15 18:41:21 +02:00
wborgeaud
bfd6834dc2
Journal of state changes + state reversion ( #1028 )
...
* Add segments and global metadata
* Add journal asm files
* Start revert
* Revert access lists
* Revert balance transfer
* Revert code change
* Revert nonce change
* Revert storage change
* Checkpoints
* Add some journal entries
* Add some journal entries
* Add some journal entries
* Fix revert
* Checkpoint in sys_call
* Minor
* PR feedback
* More checkpoints
* Fix checkpoint check
* Minor
* Checkpoints in precompiles
* Storage change checkpoint
* Add touched addresses
* Add touched addresses revert
* Add touched addresses journal events
* Delete all empty touch addresses
* Implement selfdestruct
* Update aggregator.rs
2023-05-12 13:04:46 +02:00
wborgeaud
74ba303255
MPT deletion ( #1025 )
...
* First try
* Fixes
* Fix sstore
* Comments
* Clippy
* Fix aggregator.rs
* PR feedback
2023-05-11 14:56:10 +02:00
wborgeaud
202985b24f
Fix CALL gas ( #1030 )
...
* Fix call gas + precompiles can be non-existent
* Memory expansion before call gas
* Minor
* Add call_gas.asm
* EIP-2200: If gasleft is less than or equal to gas stipend, fail the current call frame with ‘out of gas’ exception.
2023-05-11 14:45:32 +02:00
wborgeaud
944d4a2460
SSTORE refund ( #1018 )
...
* SSTORE refund
* SSTORE refund
* Minor
2023-05-11 14:18:34 +02:00
Hamish Ivey-Law
c134b59763
Cross-table lookup for arithmetic stark ( #905 )
...
* First draft of linking arithmetic Stark into the CTL mechanism.
* Handle {ADD,SUB,MUL}FP254 operations explicitly in `modular.rs`.
* Adjust argument order; add tests.
* Add CTLs for ADD, MUL, SUB, LT and GT.
* Add CTLs for {ADD,MUL,SUB}MOD, DIV and MOD.
* Add CTLs for {ADD,MUL,SUB}FP254 operations.
* Refactor the CPU/arithmetic CTL mapping; add some documentation.
* Minor comment fixes.
* Combine addcy CTLs at the expense of repeated constraint evaluation.
* Combine addcy CTLs at the expense of repeated constraint evaluation.
* Merge `*FP254` CTL into main CTL; rename some registers.
* Connect extra argument from CPU in binary ops to facilitate combining with ternary ops.
* Merge modular ops CTL into main CTL.
* Refactor DIV and MOD code into its own module.
* Merge DIV and MOD into arithmetic CTL.
* Clippy.
* Fixes related to merge.
* Simplify register naming.
* Generate u16 BN254 modulus limbs at compile time.
* Clippy.
* Add degree bits ranges for Arithmetic table.
2023-05-11 03:29:06 +10:00
Nicholas Ward
779456c2c9
Merge pull request #1029 from mir-protocol/precompile-memory-context-change
...
Use current memory context in hash precompiles
2023-05-10 10:06:00 -07:00
Nicholas Ward
6f4f00c6f8
Merge pull request #1027 from mir-protocol/memory-refactor
...
Memory refactor to make code more re-usable
2023-05-10 10:05:03 -07:00
Hamish Ivey-Law
2c5f6fd62a
Fix compile time problems and generic hash implementation ( #1024 )
...
* Fix egregious magic number.
* Remove generic consts from core permutations.
* Remove redundant `where` clauses.
* Remove HashConfig and friends.
* Refactor Permutation code.
* Remove redundant `where` clauses and `use`s.
* Introduce AlgebraicPermutation to wrap `[Target; WIDTH]`s.
* Remove `generic_const_expr` feature from plonky2!
* Remove `generic_const_expr` feature from plonky2!
* Compile time fixed! Start removing `generic_const_expr` from evm.
* Remove redundant `where` clauses from Starky.
* Remove `generic_const_expr`s from benchmarks.
* Remove redundant HASH_SIZE `where` clause.
* Clippy.
* Fix unrelated OsRng issue in `bench_recursion`.
* Fix function doc.
2023-05-11 02:59:02 +10:00
Nicholas Ward
76fb31606a
Merge branch 'memory-refactor' into precompile-memory-context-change
2023-05-10 09:55:59 -07:00
Nicholas Ward
0d9e321647
fix (mstore_unpacking returns offset)
2023-05-10 09:55:35 -07:00
Nicholas Ward
97aedd11cf
Merge branch 'memory-refactor' into precompile-memory-context-change
2023-05-10 09:22:04 -07:00
Nicholas Ward
6e7fa6da02
fix
2023-05-10 09:21:52 -07:00
Nicholas Ward
675d6440d3
Merge branch 'memory-refactor' into precompile-memory-context-change
2023-05-10 09:13:29 -07:00
Nicholas Ward
57bcb45104
use mstore_unpacking and mload_packing
2023-05-10 09:12:30 -07:00
Nicholas Ward
6669f73abe
use mstore_unpacking and mload_packing
2023-05-10 09:09:21 -07:00
Nicholas Ward
af12368a7b
addressed comments & cleanup
2023-05-10 08:48:05 -07:00
Nicholas Ward
98a75774d4
cleanup
2023-05-10 08:39:35 -07:00
Nicholas Ward
5dc043aa4c
Merge pull request #1012 from honeywest/transpose
...
optimize transpose_in_place_square_small code
2023-05-09 13:22:01 -07:00
Nicholas Ward
a4a4fbb39b
fmt
2023-05-09 10:57:59 -07:00
Nicholas Ward
057b650fc2
fix
2023-05-08 16:35:58 -07:00
Nicholas Ward
a076da7541
fix
2023-05-08 16:32:36 -07:00
Nicholas Ward
24159886eb
precompile memory context change
2023-05-08 16:23:14 -07:00
Nicholas Ward
d9694d95a6
fix
2023-05-08 16:22:12 -07:00
Nicholas Ward
446c3b7140
fix
2023-05-08 16:02:43 -07:00
Nicholas Ward
b566dbd735
refactor memory/core.asm to make code more reusable
2023-05-08 15:52:35 -07:00
Daniel Lubarov
46c7903b5d
Merge pull request #1023 from topos-network/clippy
...
Fix clippy
2023-05-08 10:00:45 -07:00
Robin Salen
92c2378c6a
Fix clippy
2023-05-08 12:00:52 +02:00
wborgeaud
f11921c9ad
Fix doubly_encode_rlp_scalar in the 0 case. ( #1022 )
2023-05-04 17:51:27 +02:00
Hamish Ivey-Law
653a6b15de
Remove generic_const_exprs dependency from field crate. ( #1020 )
2023-05-04 07:28:50 +10:00
Nicholas Ward
4380395e8b
Merge pull request #1017 from mir-protocol/expmod-fix
...
expmod edge case fix
2023-05-02 10:46:39 -07:00
Nicholas Ward
91067e58ba
expmod edge case fix
2023-05-02 10:45:43 -07:00
Daniel Lubarov
b159c9e791
Merge pull request #1013 from topos-network/overflow-check
...
Address overflow-related TODOs in ASM code.
2023-05-02 10:22:53 -07:00
Nicholas Ward
f0df03f65a
Merge pull request #1009 from mir-protocol/expmod_precompile
...
expmod precompile calling code
2023-05-02 08:14:19 -07:00
Nicholas Ward
099e7946e7
fixes
2023-05-02 08:13:49 -07:00
Robin Salen
17a7c57d03
Change add_or_fault macro
2023-05-02 08:22:00 +02:00
Linda Guiga
1f39c555a9
Address overflow-related TODOs in ASM code, using a macro add_or_fault. This is related to a4ea0965d7
2023-05-02 08:22:00 +02:00
Daniel Lubarov
40515dc66a
Merge pull request #1014 from toposware/bootstrap_constraint
...
Constrain memory channels at end of bootstrapping
2023-05-01 20:27:41 -07:00
Nicholas Ward
f3de2afc3b
remove test file
2023-05-01 15:34:23 -07:00
Nicholas Ward
cae5a2cf21
fix
2023-05-01 15:25:45 -07:00
Nicholas Ward
050c2e657e
fix: calculate gas properly
2023-05-01 13:03:48 -07:00
Nicholas Ward
ab8ebdfb3a
Merge pull request #1016 from mir-protocol/remove-proof-challenges-serialization
...
remove ProofChallenges serialization
2023-05-01 11:07:26 -07:00
Nicholas Ward
8d738729e8
Merge pull request #1015 from mir-protocol/clippy-fix
...
Fix for updated clippy
2023-05-01 11:07:06 -07:00
Nicholas Ward
ade5b433ae
fix
2023-05-01 10:58:56 -07:00
Nicholas Ward
30e58ad22e
remove ProofChallenges serialization
2023-05-01 10:33:53 -07:00
Nicholas Ward
8358b85d9f
remove unneeded mut
2023-05-01 08:36:16 -07:00
Nicholas Ward
08e6c3521c
addressed comments
2023-05-01 08:09:13 -07:00
Nicholas Ward
037c2f5ee8
addressed comments
2023-05-01 08:04:14 -07:00