Skip to content

Commit 7dd5983

Browse files
feat(apollo_starknet_os_program): hard-code gas costs in constants.cairo
1 parent d564695 commit 7dd5983

File tree

1 file changed

+31
-34
lines changed
  • crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os

1 file changed

+31
-34
lines changed

crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/constants.cairo

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ const MUL_MOD_GAS_COST = 604;
7878
const ECDSA_GAS_COST = 10561;
7979
const MEMORY_HOLE_GAS_COST = 10;
8080

81-
const DEFAULT_INITIAL_GAS_COST = 100000000 * STEP_GAS_COST;
81+
const DEFAULT_INITIAL_GAS_COST = 10000000000;
8282
const VALIDATE_MAX_SIERRA_GAS = 100000000;
8383
const EXECUTE_MAX_SIERRA_GAS = 1000000000;
8484
const DEFAULT_INITIAL_GAS_COST_NO_L2 = VALIDATE_MAX_SIERRA_GAS + EXECUTE_MAX_SIERRA_GAS;
@@ -87,45 +87,42 @@ const DEFAULT_INITIAL_GAS_COST_NO_L2 = VALIDATE_MAX_SIERRA_GAS + EXECUTE_MAX_SIE
8787

8888
// The initial budget at an entry point. This needs to be high enough to cover the initial get_gas.
8989
// The entry point may refund whatever remains from the initial budget.
90-
const ENTRY_POINT_INITIAL_BUDGET = 100 * STEP_GAS_COST;
90+
const ENTRY_POINT_INITIAL_BUDGET = 10000;
9191
// The gas cost of each syscall libfunc (this value is hard-coded by the compiler).
9292
// This needs to be high enough to cover OS costs in the case of failure due to out of gas.
93-
const SYSCALL_BASE_GAS_COST = 100 * STEP_GAS_COST;
93+
const SYSCALL_BASE_GAS_COST = 10000;
9494

9595
// Syscall gas costs.
96-
const CALL_CONTRACT_GAS_COST = 18 * RANGE_CHECK_GAS_COST + 903 * STEP_GAS_COST;
97-
const DEPLOY_GAS_COST = 7 * PEDERSEN_GAS_COST + 21 * RANGE_CHECK_GAS_COST + 1173 * STEP_GAS_COST;
98-
const DEPLOY_CALLDATA_FACTOR_GAS_COST = 1 * PEDERSEN_GAS_COST + 8 * STEP_GAS_COST;
99-
const GET_BLOCK_HASH_GAS_COST = 2 * RANGE_CHECK_GAS_COST + 107 * STEP_GAS_COST;
100-
const GET_CLASS_HASH_AT_GAS_COST = 1 * SYSCALL_BASE_GAS_COST;
101-
const GET_EXECUTION_INFO_GAS_COST = 2 * RANGE_CHECK_GAS_COST + 125 * STEP_GAS_COST;
102-
const LIBRARY_CALL_GAS_COST = 18 * RANGE_CHECK_GAS_COST + 879 * STEP_GAS_COST;
103-
const REPLACE_CLASS_GAS_COST = 1 * RANGE_CHECK_GAS_COST + 106 * STEP_GAS_COST;
104-
const STORAGE_READ_GAS_COST = 1 * SYSCALL_BASE_GAS_COST;
105-
const STORAGE_WRITE_GAS_COST = 1 * SYSCALL_BASE_GAS_COST;
106-
const EMIT_EVENT_GAS_COST = 1 * SYSCALL_BASE_GAS_COST;
107-
const SEND_MESSAGE_TO_L1_GAS_COST = 1 * RANGE_CHECK_GAS_COST + 144 * STEP_GAS_COST;
108-
const META_TX_V0_GAS_COST = 9 * PEDERSEN_GAS_COST + 20 * RANGE_CHECK_GAS_COST + 1301 *
109-
STEP_GAS_COST;
110-
const META_TX_V0_CALLDATA_FACTOR_GAS_COST = 1 * PEDERSEN_GAS_COST + 8 * STEP_GAS_COST;
96+
const CALL_CONTRACT_GAS_COST = 91560;
97+
const DEPLOY_GAS_COST = 147120;
98+
const DEPLOY_CALLDATA_FACTOR_GAS_COST = 4850;
99+
const GET_BLOCK_HASH_GAS_COST = 10840;
100+
const GET_CLASS_HASH_AT_GAS_COST = 10000;
101+
const GET_EXECUTION_INFO_GAS_COST = 12640;
102+
const LIBRARY_CALL_GAS_COST = 89160;
103+
const REPLACE_CLASS_GAS_COST = 10670;
104+
const STORAGE_READ_GAS_COST = 10000;
105+
const STORAGE_WRITE_GAS_COST = 10000;
106+
const EMIT_EVENT_GAS_COST = 10000;
107+
const SEND_MESSAGE_TO_L1_GAS_COST = 14470;
108+
const META_TX_V0_GAS_COST = 167950;
109+
const META_TX_V0_CALLDATA_FACTOR_GAS_COST = 4850;
111110

112111
// Note the the following costs include `SYSCALL_BASE_GAS_COST` implicitly.
113-
const SECP256K1_ADD_GAS_COST = 29 * RANGE_CHECK_GAS_COST + 412 * STEP_GAS_COST;
114-
const SECP256K1_GET_POINT_FROM_X_GAS_COST = 30 * RANGE_CHECK_GAS_COST + 397 * STEP_GAS_COST;
115-
const SECP256K1_GET_XY_GAS_COST = 11 * RANGE_CHECK_GAS_COST + 209 * STEP_GAS_COST;
116-
const SECP256K1_MUL_GAS_COST = 7045 * RANGE_CHECK_GAS_COST + 76507 * STEP_GAS_COST;
117-
const SECP256K1_NEW_GAS_COST = 35 * RANGE_CHECK_GAS_COST + 463 * STEP_GAS_COST;
118-
const SECP256R1_ADD_GAS_COST = 57 * RANGE_CHECK_GAS_COST + 595 * STEP_GAS_COST;
119-
const SECP256R1_GET_POINT_FROM_X_GAS_COST = 44 * RANGE_CHECK_GAS_COST + 516 * STEP_GAS_COST;
120-
const SECP256R1_GET_XY_GAS_COST = 11 * RANGE_CHECK_GAS_COST + 211 * STEP_GAS_COST;
121-
const SECP256R1_MUL_GAS_COST = 13961 * RANGE_CHECK_GAS_COST + 125346 * STEP_GAS_COST;
122-
const SECP256R1_NEW_GAS_COST = 49 * RANGE_CHECK_GAS_COST + 582 * STEP_GAS_COST;
123-
124-
const KECCAK_GAS_COST = 1 * SYSCALL_BASE_GAS_COST;
125-
const KECCAK_ROUND_COST_GAS_COST = 6 * BITWISE_BUILTIN_GAS_COST + 1 * KECCAK_BUILTIN_GAS_COST + 56 *
126-
RANGE_CHECK_GAS_COST + 281 * STEP_GAS_COST;
127-
const SHA256_PROCESS_BLOCK_GAS_COST = 1115 * BITWISE_BUILTIN_GAS_COST + 65 * RANGE_CHECK_GAS_COST +
128-
1867 * STEP_GAS_COST;
112+
const SECP256K1_ADD_GAS_COST = 43230;
113+
const SECP256K1_GET_POINT_FROM_X_GAS_COST = 41800;
114+
const SECP256K1_GET_XY_GAS_COST = 21670;
115+
const SECP256K1_MUL_GAS_COST = 8143850;
116+
const SECP256K1_NEW_GAS_COST = 48750;
117+
const SECP256R1_ADD_GAS_COST = 63490;
118+
const SECP256R1_GET_POINT_FROM_X_GAS_COST = 54680;
119+
const SECP256R1_GET_XY_GAS_COST = 21870;
120+
const SECP256R1_MUL_GAS_COST = 13511870;
121+
const SECP256R1_NEW_GAS_COST = 61630;
122+
123+
const KECCAK_GAS_COST = 10000;
124+
const KECCAK_ROUND_COST_GAS_COST = 171707;
125+
const SHA256_PROCESS_BLOCK_GAS_COST = 841295;
129126

130127
// Cairo 1.0 error codes.
131128
const ERROR_BLOCK_NUMBER_OUT_OF_RANGE = 'Block number out of range';

0 commit comments

Comments
 (0)