From c7a014bb102d78657c09a72909d4ecb713a5890d Mon Sep 17 00:00:00 2001 From: coffeepots Date: Fri, 14 Sep 2018 17:59:21 +0100 Subject: [PATCH] Add gas cost for create --- nimbus/vm/interpreter/gas_costs.nim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nimbus/vm/interpreter/gas_costs.nim b/nimbus/vm/interpreter/gas_costs.nim index 65e50580c..36164beda 100644 --- a/nimbus/vm/interpreter/gas_costs.nim +++ b/nimbus/vm/interpreter/gas_costs.nim @@ -168,6 +168,9 @@ template gasCosts(FeeSchedule: GasFeeSchedule, prefix, ResultGasCostsName: untyp if not value.isZero: result += static(FeeSchedule[GasExpByte]) * (1 + log256(value)) + func `prefix gasCreate`(currentMemSize, memOffset, memLength: Natural): GasInt {.nimcall.} = + result = static(FeeSchedule[GasCodeDeposit]) * memLength + func `prefix gasSha3`(currentMemSize, memOffset, memLength: Natural): GasInt {.nimcall.} = result = `prefix gasMemoryExpansion`(currentMemSize, memOffset, memLength) @@ -494,7 +497,7 @@ template gasCosts(FeeSchedule: GasFeeSchedule, prefix, ResultGasCostsName: untyp Log4: memExpansion `prefix gasLog4`, # f0s: System operations - Create: fixed GasCreate, # TODO, dynamic cost + Create: memExpansion `prefix gasCreate`, # TODO: Change to dynamic? Call: complex `prefix gasCall`, CallCode: complex `prefix gasCall`, Return: memExpansion `prefix gasHalt`,