Skip to content

Commit

Permalink
Moved constants (#135)
Browse files Browse the repository at this point in the history
  • Loading branch information
OlivierBBB authored Mar 7, 2024
1 parent 40733c6 commit 6929033
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 39 deletions.
56 changes: 50 additions & 6 deletions constants/constants.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@
EVM_INST_INVALID 0xFE
EVM_INST_SELFDESTRUCT 0xFF
INVALID_CODE_PREFIX_VALUE 0xEF

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SIZE / LENGTH ;;
Expand All @@ -171,6 +172,7 @@
LLARGEPO (+ LLARGE 1)
WORD_SIZE_MO 31
WORD_SIZE 32

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MXP FLAG SUM CONSTANTS ;;
Expand All @@ -181,6 +183,44 @@
MISC_MXP_WEIGHT 4
MISC_OOB_WEIGHT 8
MISC_STP_WEIGHT 16

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EXP instructions ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXP_INST_EXPLOG 0xEE0A
EXP_INST_MODEXPLOG 0xEE05

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OOB instructions ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OOB_INST_jump 0x56
OOB_INST_jumpi 0x57
OOB_INST_rdc 0x3E
OOB_INST_cdl 0x35
OOB_INST_xcall 0xCC
OOB_INST_call 0xCA
OOB_INST_create 0xCE
OOB_INST_sstore 0x55
OOB_INST_deployment 0xF3
OOB_INST_ecrecover 0xFF01
OOB_INST_sha2 0xFF02
OOB_INST_ripemd 0xFF03
OOB_INST_identity 0xFF04
OOB_INST_ecadd 0xFF06
OOB_INST_ecmul 0xFF07
OOB_INST_ecpairing 0xFF08
OOB_INST_blake_cds 0xFA09
OOB_INST_blake_params 0xFB09
OOB_INST_modexp_cds 0xFA05
OOB_INST_modexp_xbs 0xFB05
OOB_INST_modexp_lead 0xFC05
OOB_INST_modexp_pricing 0xFD05
OOB_INST_modexp_extract 0xFE05

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EXO SUM ;;
Expand All @@ -200,6 +240,7 @@
EXO_SUM_WEIGHT_ECDATA (^ 2 EXO_SUM_INDEX_ECDATA)
EXO_SUM_WEIGHT_RIPSHA (^ 2 EXO_SUM_INDEX_RIPSHA)
EXO_SUM_WEIGHT_BLAKEMODEXP (^ 2 EXO_SUM_INDEX_BLAKEMODEXP)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BLAKE MODEXP MODULE ;;
Expand All @@ -218,6 +259,7 @@
PHASE_SHA2_RESULT 11
PHASE_RIPEMD_DATA 12
PHASE_RIPEMD_RESULT 13

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MMU MODULE ;;
Expand All @@ -240,6 +282,7 @@
MMU_INST_MODEXP_ZERO 0xfe60
MMU_INST_MODEXP_DATA 0xfe70
MMU_INST_BLAKE 0xfe80

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MMIO MODULE ;;
Expand All @@ -266,6 +309,7 @@
;; RAM
MMIO_INST_RAM_EXCISION 0xfe41
MMIO_INST_RAM_VANISHES 0xfe42

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; RLP* MODULE ;;
Expand Down Expand Up @@ -326,12 +370,12 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HASH CONSTANTS ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EMPTY_KECCAK_HI 0xc5d2460186f7233c927e7db2dcc703c0
EMPTY_KECCAK_LO 0xe500b653ca82273b7bfad8045d85a470
EMPTY_SHA2_HI 0xe3b0c44298fc1c149afbf4c8996fb924
EMPTY_SHA2_LO 0x27ae41e4649b934ca495991b7852b855
EMPTY_RIPEMD_HI 0x0000000000000000000000009c1185a5
EMPTY_RIPEMD_LO 0xc5e9fc54612808977ee8f548b2258d31
EMPTY_KECCAK_HI 0xc5d2460186f7233c927e7db2dcc703c ;; high part of KECCAK(())
EMPTY_KECCAK_LO 0xe500b653ca82273b7bfad8045d85a47 ;; low part of KECCAK(())
EMPTY_SHA2_HI 0xe3b0c44298fc1c149afbf4c8996fb92 ;; high part of SHA2-256(())
EMPTY_SHA2_LO 0x27ae41e4649b934ca495991b7852b85 ;; low part of SHA2-256(())
EMPTY_RIPEMD_HI 0x0000000000000000000000009c1185a ;; high part of RIPEMD-160(())
EMPTY_RIPEMD_LO 0xc5e9fc54612808977ee8f548b2258d3 ;; low part of RIPEMD-160(())

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
Expand Down
10 changes: 4 additions & 6 deletions exp/constants.lisp
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
(module exp)

(defconst
G_EXPBYTES 50
EXP_INST_EXPLOG 0xEE0A
EXP_INST_MODEXPLOG 0xEE05
G_EXPBYTES 50 ;; TODO: replace
MAX_CT_CMPTN_EXP_LOG 15
MAX_CT_MACRO_EXP_LOG 0
MAX_CT_PRPRC_EXP_LOG 0
MAX_CT_CMPTN_MODEXP_LOG 15
MAX_CT_MACRO_MODEXP_LOG 0
MAX_CT_PRPRC_MODEXP_LOG 4
LT 0x10
EQ 0x14
ISZERO 0x15)
LT 0x10 ;; TODO: repace
EQ 0x14 ;; TODO: repace
ISZERO 0x15) ;; TODO: repace


4 changes: 2 additions & 2 deletions mxp/constraints.lisp
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
(module mxp)

(defconst
G_MEM 3 ;; 'G_memory' in Ethereum yellow paper
G_MEM 3 ;; 'G_memory' in Ethereum yellow paper ;; TODO: replace with GAS_CONST_G_XXX
SHORTCYCLE 3
LONGCYCLE 16
TWO_POW_32 4294967296
RETURN 0xf3)
RETURN 0xf3) ;; TODO: replace with EVM_INST_RETURN

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
Expand Down
27 changes: 2 additions & 25 deletions oob/constants.lisp
Original file line number Diff line number Diff line change
@@ -1,29 +1,6 @@
(module oob)

(defconst
OOB_INST_jump 0x56
OOB_INST_jumpi 0x57
OOB_INST_rdc 0x3E
OOB_INST_cdl 0x35
OOB_INST_xcall 0xCC
OOB_INST_call 0xCA
OOB_INST_create 0xCE
OOB_INST_sstore 0x55
OOB_INST_deployment 0xF3
OOB_INST_ecrecover 0xFF01
OOB_INST_sha2 0xFF02
OOB_INST_ripemd 0xFF03
OOB_INST_identity 0xFF04
OOB_INST_ecadd 0xFF06
OOB_INST_ecmul 0xFF07
OOB_INST_ecpairing 0xFF08
OOB_INST_blake_cds 0xFA09
OOB_INST_blake_params 0xFB09
OOB_INST_modexp_cds 0xFA05
OOB_INST_modexp_xbs 0xFB05
OOB_INST_modexp_lead 0xFC05
OOB_INST_modexp_pricing 0xFD05
OOB_INST_modexp_extract 0xFE05
CT_MAX_JUMP 0
CT_MAX_JUMPI 1
CT_MAX_RDC 2
Expand All @@ -47,14 +24,14 @@
CT_MAX_MODEXP_lead 3
CT_MAX_MODEXP_pricing 5
CT_MAX_MODEXP_extract 3
LT 0x10
LT 0x10 ;; TODO: remove and replace by EVM_INST_XXX
ISZERO 0x15
ADD 0x01
DIV 0x04
MOD 0x06
GT 0x11
EQ 0x14
G_CALLSTIPEND 2300
G_CALLSTIPEND 2300 ;; TODO: remove and replace by GAS_CONST_G_XXX
G_QUADDIVISOR 3)


0 comments on commit 6929033

Please sign in to comment.