457 Commits

Author SHA1 Message Date
Nicholas Ward
5cf8028eea Merge branch 'main' into bignum-basic 2023-03-14 15:53:38 -07:00
Nicholas Ward
d23e4e20b6 deal with and test zero-len case 2023-03-14 15:33:36 -07:00
Nicholas Ward
4b6a51469f fix 2023-03-14 15:21:25 -07:00
Nicholas Ward
d4c7bfd592 addressed comments 2023-03-14 15:15:19 -07:00
Nicholas Ward
c4b511baf4 addressed comments 2023-03-14 14:28:21 -07:00
Nicholas Ward
676a483c06 fix 2023-03-14 12:34:51 -07:00
Nicholas Ward
476a554aea OR -> ADD 2023-03-14 12:29:30 -07:00
Nicholas Ward
87ad5714aa addressed comments 2023-03-14 12:20:38 -07:00
Nicholas Ward
04f44ef4da addressed comments 2023-03-14 12:19:13 -07:00
Nicholas Ward
9e7dc7ca79 addressed comments 2023-03-14 12:18:16 -07:00
Nicholas Ward
6f05a144cb Merge branch 'main' into bignum-basic 2023-03-13 10:17:43 -07:00
Daniel Lubarov
d5003b7cf2 Gas fees go to coinbase 2023-03-12 23:13:19 -07:00
Daniel Lubarov
84fbbbf410 Couple minor fixes 2023-03-10 17:02:15 -08:00
Nicholas Ward
1d7c28ee1d bug fixes 2023-03-07 17:47:09 -08:00
Nicholas Ward
10893fe056 addmul test: use carry 2023-03-07 17:47:09 -08:00
Nicholas Ward
5477c7ddbe fixes 2023-03-07 17:47:09 -08:00
Nicholas Ward
119eae95fd fix 2023-03-07 17:47:09 -08:00
Nicholas Ward
9976a4b040 addmul initial 2023-03-07 17:47:09 -08:00
Nicholas Ward
fa605d7b22 basic bignum 2023-03-07 17:47:09 -08:00
Nicholas Ward
0f55956ade optimized initial hash value generation 2023-03-07 17:17:23 -08:00
Nicholas Ward
5994f4d932 cleanup 2023-03-07 16:49:28 -08:00
Nicholas Ward
9d8d81b4b0 optimize hash generation further further 2023-03-07 16:19:15 -08:00
Nicholas Ward
c37d1e25fc optimize hash generation further 2023-03-07 16:18:59 -08:00
Nicholas Ward
40f90d8312 hash function optimization 2023-03-07 15:45:20 -08:00
Nicholas Ward
5f592e60dc fixes 2023-03-07 15:15:49 -08:00
Nicholas Ward
93abd35ffb optimizations 2023-03-07 15:15:49 -08:00
Daniel Lubarov
a6ac051952 Misc EVM fixes 2023-03-06 22:33:06 -08:00
Daniel Lubarov
f117d76b73 sys_gas 2023-03-05 22:30:28 -08:00
Daniel Lubarov
c558eedd65 Misc EVM fixes 2023-03-05 09:39:49 -08:00
Daniel Lubarov
29f0692efc Fix a few issues found by EVM tests 2023-02-24 23:37:08 -08:00
Dmitry Vagner
da7a8879c4 make hash functions take a location pointer 2023-02-16 16:59:51 -08:00
Dmitry Vagner
a6ffb4b3c3 simplify byte extraction 2023-02-16 16:30:50 -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
731c29c43b abstract 2023-02-15 18:47:33 -08:00
Dmitry Vagner
bce867188c simplify ripe md test 2023-02-15 18:18:26 -08:00
Jacqueline Nabaglo
f3946f75bf
Gas constraints (#880)
* Gas constraints

* Bugfix

* make test pass post rebase
2023-02-14 22:30:19 -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
f2e40541d9 Increment sender nonce + buy gas 2023-01-17 23:57:53 -08:00
Daniel Lubarov
df2ba7a384 Basic smart contract test 2023-01-14 21:18:58 -08:00
Nicholas Ward
6ab6580058 block_size macro 2022-12-13 14:42:45 -08:00
Nicholas Ward
53004867b3 macro 2022-12-13 10:08:36 -08:00
Nicholas Ward
a564d7350c fixes and addressed comments 2022-12-13 10:08:36 -08:00
Nicholas Ward
24d6627a62 addressed comments 2022-12-13 10:08:36 -08:00
Nicholas Ward
fc14475541 documentation 2022-12-13 10:08:36 -08:00
Nicholas Ward
50ffb9072a documentation 2022-12-13 10:08:36 -08:00
Nicholas Ward
778aec627b rename blake -> blake2b 2022-12-13 10:08:36 -08:00
Nicholas Ward
d30a95f7d5 fixes 2022-12-13 10:08:36 -08:00
Nicholas Ward
0d05a4bbbf FIX 2022-12-13 10:08:36 -08:00