Skip to content

Commit

Permalink
Merge pull request #272 from 0xPolygonHermez/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
krlosMata authored Mar 21, 2023
2 parents 42324cd + 5496612 commit 496d39d
Show file tree
Hide file tree
Showing 41 changed files with 957 additions and 207 deletions.
54 changes: 27 additions & 27 deletions counters/countersConstants.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ CONST %COPYSP_CNT_PADDING_PG = 0 + %MLOADX_CNT_PADDING_PG
CONST %COPYSP_CNT_POSEIDON_G = 0 + %MLOADX_CNT_POSEIDON_G
; mulARITH
CONST %MULARITH_STEP = 50
CONST %MULARITH_CNT_BINARY = 0
CONST %MULARITH_CNT_BINARY = 1
CONST %MULARITH_CNT_ARITH = 1
CONST %MULARITH_CNT_KECCAK_F = 0
CONST %MULARITH_CNT_MEM_ALIGN = 0
Expand Down Expand Up @@ -176,7 +176,7 @@ CONST %OPADDMOD_CNT_PADDING_PG = 0
CONST %OPADDMOD_CNT_POSEIDON_G = 0
;opMULMOD
CONST %OPMULMOD_STEP = 120 + %MULARITH_STEP
CONST %OPMULMOD_CNT_BINARY = 3 + %MULARITH_CNT_BINARY
CONST %OPMULMOD_CNT_BINARY = 4 + %MULARITH_CNT_BINARY
CONST %OPMULMOD_CNT_ARITH = 2 + %MULARITH_CNT_ARITH
CONST %OPMULMOD_CNT_KECCAK_F = 0 + %MULARITH_CNT_KECCAK_F
CONST %OPMULMOD_CNT_MEM_ALIGN = 0 + %MULARITH_CNT_MEM_ALIGN
Expand Down Expand Up @@ -215,8 +215,8 @@ CONST %OPCALLDATALOAD_CNT_MEM_ALIGN = 1
CONST %OPCALLDATALOAD_CNT_PADDING_PG = 0 + %SHLARITH_CNT_PADDING_PG + %SHRARITH_CNT_PADDING_PG + %DIVARITH_CNT_PADDING_PG
CONST %OPCALLDATALOAD_CNT_POSEIDON_G = 0 + %SHLARITH_CNT_POSEIDON_G + %SHRARITH_CNT_POSEIDON_G + %DIVARITH_CNT_POSEIDON_G
; opCALLDATACOPY - COMPLEX - hardcoded values at test
CONST %OPCALLDATACOPY_STEP = 100
CONST %OPCALLDATACOPY_CNT_BINARY = 20
CONST %OPCALLDATACOPY_STEP = 500
CONST %OPCALLDATACOPY_CNT_BINARY = 21
CONST %OPCALLDATACOPY_CNT_ARITH = 8
CONST %OPCALLDATACOPY_CNT_KECCAK_F = 0
CONST %OPCALLDATACOPY_CNT_MEM_ALIGN = 2
Expand All @@ -231,88 +231,88 @@ CONST %OPRETURNDATACOPY_CNT_MEM_ALIGN = 2
CONST %OPRETURNDATACOPY_CNT_PADDING_PG = 0
CONST %OPRETURNDATACOPY_CNT_POSEIDON_G = 0
; opCODECOPY - COMPLEX - hardcoded values at test
CONST %OPCODECOPY_STEP = 100
CONST %OPCODECOPY_CNT_BINARY = 98
CONST %OPCODECOPY_STEP = 1700
CONST %OPCODECOPY_CNT_BINARY = 100
CONST %OPCODECOPY_CNT_ARITH = 4
CONST %OPCODECOPY_CNT_KECCAK_F = 0
CONST %OPCODECOPY_CNT_MEM_ALIGN = 43
CONST %OPCODECOPY_CNT_PADDING_PG = 0
CONST %OPCODECOPY_CNT_POSEIDON_G = 0
; opEXTCODECOPY - COMPLEX - hardcoded values at test
CONST %OPEXTCODECOPY_STEP = 100
CONST %OPEXTCODECOPY_CNT_BINARY = 103
CONST %OPEXTCODECOPY_STEP = 2000
CONST %OPEXTCODECOPY_CNT_BINARY = 105
CONST %OPEXTCODECOPY_CNT_ARITH = 4
CONST %OPEXTCODECOPY_CNT_KECCAK_F = 0
CONST %OPEXTCODECOPY_CNT_MEM_ALIGN = 43
CONST %OPEXTCODECOPY_CNT_PADDING_PG = 0
CONST %OPEXTCODECOPY_CNT_POSEIDON_G = 8
; opCREATE - COMPLEX - hardcoded values at test
CONST %OPCREATE_STEP = 100
CONST %OPCREATE_CNT_BINARY = 22
CONST %OPCREATE_STEP = 400
CONST %OPCREATE_CNT_BINARY = 23
CONST %OPCREATE_CNT_ARITH = 4
CONST %OPCREATE_CNT_KECCAK_F = 0
CONST %OPCREATE_CNT_MEM_ALIGN = 2
CONST %OPCREATE_CNT_PADDING_PG = 0
CONST %OPCREATE_CNT_POSEIDON_G = 23
; opCREATE2 - COMPLEX - hardcoded values at test
CONST %OPCREATE2_STEP = 200
CONST %OPCREATE2_CNT_BINARY = 28
CONST %OPCREATE2_STEP = 500
CONST %OPCREATE2_CNT_BINARY = 29
CONST %OPCREATE2_CNT_ARITH = 5
CONST %OPCREATE2_CNT_KECCAK_F = 0
CONST %OPCREATE2_CNT_MEM_ALIGN = 2
CONST %OPCREATE2_CNT_PADDING_PG = 0
CONST %OPCREATE2_CNT_POSEIDON_G = 27
; opCALL - COMPLEX - hardcoded values at test
CONST %OPCALL_STEP = 200
CONST %OPCALL_CNT_BINARY = 32
CONST %OPCALL_STEP = 600
CONST %OPCALL_CNT_BINARY = 34
CONST %OPCALL_CNT_ARITH = 6
CONST %OPCALL_CNT_KECCAK_F = 0
CONST %OPCALL_CNT_MEM_ALIGN = 2
CONST %OPCALL_CNT_PADDING_PG = 0
CONST %OPCALL_CNT_POSEIDON_G = 14
; opCALLCODE - COMPLEX - hardcoded values at test
CONST %OPCALLCODE_STEP = 200
CONST %OPCALLCODE_CNT_BINARY = 31
CONST %OPCALLCODE_STEP = 600
CONST %OPCALLCODE_CNT_BINARY = 33
CONST %OPCALLCODE_CNT_ARITH = 6
CONST %OPCALLCODE_CNT_KECCAK_F = 0
CONST %OPCALLCODE_CNT_MEM_ALIGN = 2
CONST %OPCALLCODE_CNT_PADDING_PG = 0
CONST %OPCALLCODE_CNT_POSEIDON_G = 10
; opRETURN - COMPLEX - hardcoded values at test
CONST %OPRETURN_STEP = 400
CONST %OPRETURN_CNT_BINARY = 34
CONST %OPRETURN_STEP = 700
CONST %OPRETURN_CNT_BINARY = 35
CONST %OPRETURN_CNT_ARITH = 11
CONST %OPRETURN_CNT_KECCAK_F = 0
CONST %OPRETURN_CNT_MEM_ALIGN = 4
CONST %OPRETURN_CNT_PADDING_PG = 0
CONST %OPRETURN_CNT_POSEIDON_G = 0
; opREVERT - COMPLEX - hardcoded values at test
CONST %OPREVERT_STEP = 400
CONST %OPREVERT_CNT_BINARY = 34
CONST %OPREVERT_STEP = 700
CONST %OPREVERT_CNT_BINARY = 35
CONST %OPREVERT_CNT_ARITH = 11
CONST %OPREVERT_CNT_KECCAK_F = 0
CONST %OPREVERT_CNT_MEM_ALIGN = 4
CONST %OPREVERT_CNT_PADDING_PG = 0
CONST %OPREVERT_CNT_POSEIDON_G = 0
; opDELEGATECALL - COMPLEX - hardcoded values at test
CONST %OPDELEGATECALL_STEP = 400
CONST %OPDELEGATECALL_CNT_BINARY = 28
CONST %OPDELEGATECALL_STEP = 600
CONST %OPDELEGATECALL_CNT_BINARY = 30
CONST %OPDELEGATECALL_CNT_ARITH = 6
CONST %OPDELEGATECALL_CNT_KECCAK_F = 0
CONST %OPDELEGATECALL_CNT_MEM_ALIGN = 2
CONST %OPDELEGATECALL_CNT_PADDING_PG = 0
CONST %OPDELEGATECALL_CNT_POSEIDON_G = 6
; opSTATICCALL - COMPLEX - hardcoded values at test
CONST %OPSTATICCALL_STEP = 300
CONST %OPSTATICCALL_CNT_BINARY = 28
CONST %OPSTATICCALL_STEP = 600
CONST %OPSTATICCALL_CNT_BINARY = 30
CONST %OPSTATICCALL_CNT_ARITH = 6
CONST %OPSTATICCALL_CNT_KECCAK_F = 0
CONST %OPSTATICCALL_CNT_MEM_ALIGN = 2
CONST %OPSTATICCALL_CNT_PADDING_PG = 0
CONST %OPSTATICCALL_CNT_POSEIDON_G = 6
; opSHA3 - COMPLEX - hardcoded values at test
CONST %OPSHA3_STEP = 400
CONST %OPSHA3_CNT_BINARY = 144
CONST %OPSHA3_STEP = 3300
CONST %OPSHA3_CNT_BINARY = 146
CONST %OPSHA3_CNT_ARITH = 9
CONST %OPSHA3_CNT_KECCAK_F = 15
CONST %OPSHA3_CNT_MEM_ALIGN = 63
Expand Down Expand Up @@ -352,7 +352,7 @@ CONST %COMPUTEGASSENDCALL_CNT_PADDING_PG = 0
CONST %COMPUTEGASSENDCALL_CNT_POSEIDON_G = 0
; saveMem
CONST %SAVEMEM_STEP = 100 + %MULARITH_STEP + %DIVARITH_STEP
CONST %SAVEMEM_CNT_BINARY = 4 + %MULARITH_CNT_BINARY + %DIVARITH_CNT_BINARY
CONST %SAVEMEM_CNT_BINARY = 5 + %MULARITH_CNT_BINARY + %DIVARITH_CNT_BINARY
CONST %SAVEMEM_CNT_ARITH = 0 + %MULARITH_CNT_ARITH + %DIVARITH_CNT_ARITH
CONST %SAVEMEM_CNT_KECCAK_F = 0 + %MULARITH_CNT_KECCAK_F + %DIVARITH_CNT_KECCAK_F
CONST %SAVEMEM_CNT_MEM_ALIGN = 0 + %MULARITH_CNT_MEM_ALIGN + %DIVARITH_CNT_MEM_ALIGN
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/expAD.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ operation:
:CALL(expAD)

%EXPAD_STEP + 300 - STEP:JMPN(failedCounters)
20 - CNT_BINARY :JMPNZ(failedCounters)
23 - CNT_BINARY :JMPNZ(failedCounters)
;%EXPAD_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
5 - CNT_ARITH :JMPNZ(failedCounters)
;%EXPAD_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/mulARITH.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ start:
1000000 => GAS

operation:
115792089237316195423570985008687907853269984665640564039457584007913129639936 :MSTORE(arithA)
115792089237316195423570985008687907853269984665640564039457584007913129639935n :MSTORE(arithA)
2 :MSTORE(arithB)
:CALL(mulARITH)

Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCALL.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opCALL)
checkCounters:
600 - STEP:JMPN(failedCounters)
%OPCALL_STEP - STEP:JMPN(failedCounters)
%OPCALL_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCALL_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCALL_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCALLCODE.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opCALLCODE)
checkCounters:
600 - STEP:JMPN(failedCounters)
%OPCALLCODE_STEP - STEP:JMPN(failedCounters)
%OPCALLCODE_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCALLCODE_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCALLCODE_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCALLDATACOPY.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ operation:
432543 :MSTORE(SP++)
:JMP(opCALLDATACOPY)
checkCounters:
500 - STEP:JMPN(failedCounters)
%OPCALLDATACOPY_STEP - STEP:JMPN(failedCounters)
%OPCALLDATACOPY_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCALLDATACOPY_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCALLDATACOPY_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCODECOPY.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ operation:
432543 :MSTORE(SP++)
:JMP(opCODECOPY)
checkCounters:
1700 - STEP:JMPN(failedCounters)
%OPCODECOPY_STEP - STEP:JMPN(failedCounters)
%OPCODECOPY_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCODECOPY_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCODECOPY_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCREATE.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opCREATE)
checkCounters:
400 - STEP:JMPN(failedCounters)
%OPCREATE_STEP - STEP:JMPN(failedCounters)
%OPCREATE_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCREATE_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCREATE_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opCREATE2.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opCREATE2)
checkCounters:
500 - STEP:JMPN(failedCounters)
%OPCREATE2_STEP - STEP:JMPN(failedCounters)
%OPCREATE2_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPCREATE2_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPCREATE2_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opDELEGATECALL.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opDELEGATECALL)
checkCounters:
600 - STEP:JMPN(failedCounters)
%OPDELEGATECALL_STEP - STEP:JMPN(failedCounters)
%OPDELEGATECALL_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPDELEGATECALL_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPDELEGATECALL_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opEXP.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ operation:
:JMP(opEXP)
checkCounters:
400 - STEP:JMPN(failedCounters)
26 - CNT_BINARY :JMPNZ(failedCounters)
29 - CNT_BINARY :JMPNZ(failedCounters)
;%OPEXP_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
6 - CNT_ARITH :JMPNZ(failedCounters)
;%OPEXP_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opEXTCODECOPY.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ operation:
43 :MSTORE(SP++)
:JMP(opEXTCODECOPY)
checkCounters:
2000 - STEP:JMPN(failedCounters)
%OPEXTCODECOPY_STEP - STEP:JMPN(failedCounters)
%OPEXTCODECOPY_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPEXTCODECOPY_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPEXTCODECOPY_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opRETURN.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opRETURN)
checkCounters:
800 - STEP:JMPN(failedCounters)
%OPRETURN_STEP - STEP:JMPN(failedCounters)
%OPRETURN_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPRETURN_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPRETURN_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opREVERT.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opREVERT)
checkCounters:
800 - STEP:JMPN(failedCounters)
%OPREVERT_STEP - STEP:JMPN(failedCounters)
%OPREVERT_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPREVERT_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPREVERT_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opSHA3.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ operation:
100 :MSTORE(SP++)
:JMP(opSHA3)
checkCounters:
3300 - STEP:JMPN(failedCounters)
%OPSHA3_STEP - STEP:JMPN(failedCounters)
%OPSHA3_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPSHA3_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPSHA3_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/opSTATICCALL.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ operation:
1000 :MSTORE(SP++)
:JMP(opSTATICCALL)
checkCounters:
500 - STEP:JMPN(failedCounters)
%OPSTATICCALL_STEP - STEP:JMPN(failedCounters)
%OPSTATICCALL_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%OPSTATICCALL_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%OPSTATICCALL_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
Expand Down
2 changes: 1 addition & 1 deletion counters/tests/saveMem.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ operation:
:CALL(saveMem)

%SAVEMEM_STEP - STEP:JMPN(failedCounters)
;%SAVEMEM_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%SAVEMEM_CNT_BINARY - CNT_BINARY :JMPNZ(failedCounters)
%SAVEMEM_CNT_ARITH - CNT_ARITH :JMPNZ(failedCounters)
%SAVEMEM_CNT_KECCAK_F - CNT_KECCAK_F :JMPNZ(failedCounters)
%SAVEMEM_CNT_MEM_ALIGN - CNT_MEM_ALIGN :JMPNZ(failedCounters)
Expand Down
3 changes: 2 additions & 1 deletion main/constants.zkasm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ CONST %LOCAL_EXIT_ROOT_STORAGE_POS = 1
CONST %LAST_TX_STORAGE_POS = 0
CONST %STATE_ROOT_STORAGE_POS = 1
CONST %MAX_MEM_EXPANSION_BYTES = 0x3fffe0
CONST %FORK_ID = 2
CONST %FORK_ID = 3

; RLP
CONST %MIN_VALUE_SHORT = 128
Expand Down Expand Up @@ -89,6 +89,7 @@ CONST %MAX_CNT_MEM_ALIGN = %MAX_CNT_MEM_ALIGN_LIMIT - (%MAX_CNT_MEM_ALIGN_LIMIT
CONST %MAX_CNT_KECCAK_F = %MAX_CNT_KECCAK_F_LIMIT - (%MAX_CNT_KECCAK_F_LIMIT / %SAFE_RANGE)
CONST %MAX_CNT_PADDING_PG = %MAX_CNT_PADDING_PG_LIMIT - (%MAX_CNT_PADDING_PG_LIMIT / %SAFE_RANGE)
CONST %MAX_CNT_POSEIDON_G = %MAX_CNT_POSEIDON_G_LIMIT - (%MAX_CNT_POSEIDON_G_LIMIT / %SAFE_RANGE)
CONST %MAX_CNT_POSEIDON_SLOAD_SSTORE = 257

CONST %MIN_CNT_KECCAK_BATCH = 1 ; minimum necessary keccaks to compute global hash

Expand Down
Loading

0 comments on commit 496d39d

Please sign in to comment.