219 Commits

Author SHA1 Message Date
Nicholas Ward
265d39a5a7 cleanup 2023-03-14 15:52:52 -07:00
Nicholas Ward
85411ac475 fixes 2023-03-14 15:52:52 -07:00
Nicholas Ward
213ba8ff50 optimized initial hash value generation 2023-03-14 15:52:24 -07:00
Nicholas Ward
2020202e50 optimize hash generation further further 2023-03-14 15:51:58 -07:00
Nicholas Ward
ef377c0b4f cleanup 2023-03-14 15:51:58 -07:00
Nicholas Ward
4e8af821ae fixes 2023-03-14 15:51:58 -07:00
Daniel Lubarov
a6ac051952 Misc EVM fixes 2023-03-06 22:33:06 -08:00
Dmitry Vagner
ea9846debf format 2023-02-16 17:01:43 -08:00
Dmitry Vagner
da7a8879c4 make hash functions take a location pointer 2023-02-16 16:59:51 -08:00
Dmitry Vagner
4e4cfb06b3 function API / remove redundancy 2023-02-16 15:01:22 -08:00
Dmitry Vagner
53ab0ada11 remove blake storage 2023-02-15 19:11:22 -08:00
Dmitry Vagner
77a7af76c2 remove sha2 storage 2023-02-15 19:00:52 -08:00
Dmitry Vagner
abc762f7b4 cleaner arithmetic 2023-02-15 18:50:26 -08:00
Dmitry Vagner
731c29c43b abstract 2023-02-15 18:47:33 -08:00
Dmitry Vagner
c6cf1dc56a remove custom 2023-02-15 18:26:05 -08:00
Dmitry Vagner
bce867188c simplify ripe md test 2023-02-15 18:18:26 -08:00
wborgeaud
ac40bd5f5d
Optimize ecMul precompile (scalar multiplication on BN254) (#852)
* windowed mul

* Working

* Window of 4 bits

* Fix

* Comments

* Unroll loop

* Unroll loop

* remove global

* Minor

* Minor

* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* Minor

* Doesn't work

* Minor

* Minor

* wnaf msm

* Working hardcoded values: 28657 opcodes

* Working wnaf

* Small wnaf optim

* Precompute works

* Working together

* Bump to 129 bits

* Working glv decomposition

* Working MSM with GLV

* Almost working

* Working

* ECC test folder

* Working with real sig data

* Fix tests + Clippy

* Minor

* Cleaning

* Comments

* Cleaning

* Smaller glv test file

* Print opcode count at the end of interpreter run

* More constants

* Add z3 proof that the GLV scalars are 129-bit or less

* Minor change to z3 proof

* Move files and renaming fns

* Testing

* Fix BN GLV

* BN precompute table

* Working precompute

* Working bn tests

* Working

* Minor

* Minor

* Use MULFP254

* Minor

* Merge conflicts

* Remove unused asm file

* ECC fns renaming (#874)

* PR feedback
2023-02-13 20:11:32 +01:00
wborgeaud
ca002aeafa
Optimize ecrecover ASM (#840)
* windowed mul

* Working

* Window of 4 bits

* Fix

* Comments

* Unroll loop

* Unroll loop

* remove global

* Minor

* Minor

* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* Minor

* Doesn't work

* Minor

* Minor

* wnaf msm

* Working hardcoded values: 28657 opcodes

* Working wnaf

* Small wnaf optim

* Precompute works

* Working together

* Bump to 129 bits

* Working glv decomposition

* Working MSM with GLV

* Almost working

* Working

* ECC test folder

* Working with real sig data

* Fix tests + Clippy

* Minor

* Cleaning

* Comments

* Cleaning

* Smaller glv test file

* Print opcode count at the end of interpreter run

* More constants

* Add z3 proof that the GLV scalars are 129-bit or less

* Minor change to z3 proof

* Minor

* Hamish's suggestion

* Working

* Cleaning

* Clippy

* PR feedback

* Minor PR feedback
2023-01-31 19:23:54 +01:00
Daniel Lubarov
137bc78565 Prep for publishing to crates.io 2023-01-30 13:18:06 -08:00
wborgeaud
9d6b3b2d16 Ignore failing test 2022-12-14 17:34:22 +01:00
Nicholas Ward
24d6627a62 addressed comments 2022-12-13 10:08:36 -08:00
Nicholas Ward
778aec627b rename blake -> blake2b 2022-12-13 10:08:36 -08:00
Nicholas Ward
7663848bbf cleaned up hash tests 2022-12-13 10:08:36 -08:00
Nicholas Ward
90726a5866 fmt 2022-12-13 10:08:36 -08:00
Nicholas Ward
c0dbeb42d9 cleanup 2022-12-13 10:08:36 -08:00
Nicholas Ward
0d05a4bbbf FIX 2022-12-13 10:08:36 -08:00
Nicholas Ward
49504dde7d fixes 2022-12-13 10:08:36 -08:00
Nicholas Ward
20169a5476 debugging 2022-12-13 10:08:36 -08:00
Nicholas Ward
245e5faa6d fixes galore 2022-12-13 10:08:36 -08:00
Nicholas Ward
d3a7201348 fixes 2022-12-13 10:08:36 -08:00
Nicholas Ward
9774b74b90 Blake progress 2022-12-13 10:08:36 -08:00
Nicholas Ward
ebd606621f progress 2022-12-13 10:08:36 -08:00
Nicholas Ward
df932544bd fixes and testing 2022-12-13 10:08:36 -08:00
Nicholas Ward
1367f9bcca fmt 2022-12-13 10:08:36 -08:00
Nicholas Ward
dd29ec1f46 fixes and test infrastructure 2022-12-13 10:08:30 -08:00
Daniel Lubarov
b96c22a4f4 Interpreter fixes 2022-12-02 19:18:37 -08:00
Daniel Lubarov
9bf47ef8ac Fixes 2022-12-01 12:46:14 -08:00
Daniel Lubarov
d23cecfcd8 Kernel code to do jumpdest analysis 2022-11-21 13:06:03 -08:00
wborgeaud
47e6093e37 Use static KERNEL in tests 2022-11-04 13:55:13 +01:00
BGluth
0293a65a55 Fixed bad PR merge 2022-11-02 09:45:52 -06:00
BGluth
35e8f282e4
Merge pull request #792 from mir-protocol/eth_trie_utils_0_3_0
Bumped `eth_trie_utils` to `0.4.0`
2022-11-02 09:34:26 -06:00
wborgeaud
68107502df Merge branch 'main' into account_code_opcodes
# Conflicts:
#	evm/src/cpu/kernel/aggregator.rs
#	evm/src/cpu/kernel/tests/mod.rs
2022-11-02 13:46:14 +01:00
wborgeaud
313402de02
Merge pull request #797 from mir-protocol/balance
Implement `(SELF)BALANCE`
2022-11-02 13:44:29 +01:00
wborgeaud
70b5dda399 Merge branch 'main' into account_code_opcodes 2022-11-02 10:43:35 +01:00
BGluth
8736435ea9 Updated eth_trie_utils to 0.4.0 2022-10-31 15:15:20 -06:00
BGluth
2e7da17554 Bumped eth_trie_utils to 0.3.1 2022-10-31 15:03:34 -06:00
Dmitry Vagner
4380a037d2 comment dead code 2022-10-28 02:23:42 -07:00
wborgeaud
6ed6574272 Balance 2022-10-28 11:15:43 +02:00
Dmitry Vagner
ad067d1e52 comment about 107 2022-10-28 02:08:56 -07:00
Dmitry Vagner
7d78916a6f merge 2022-10-28 02:03:52 -07:00