CuEVM
Functions
CuEVM::gas_cost Namespace Reference

Functions

__host__ __device__ int32_t has_gas (ArithEnv &arith, const bn_t &gas_limit, const bn_t &gas_used)
 
__host__ __device__ void max_gas_call (ArithEnv &arith, bn_t &gas_capped, const bn_t &gas_limit, const bn_t &gas_used)
 
__host__ __device__ void evm_words_gas_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length, const uint32_t gas_per_word)
 
__host__ __device__ void evm_bytes_gas_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length, const uint32_t gas_per_byte)
 
__host__ __device__ int32_t exp_bytes_gas_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &exponent)
 
__host__ __device__ void initcode_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &initcode_length)
 
__host__ __device__ void code_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &code_length)
 
__host__ __device__ void keccak_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length)
 
__host__ __device__ void memory_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length)
 
__host__ __device__ void log_record_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length)
 
__host__ __device__ void log_topics_cost (ArithEnv &arith, bn_t &gas_used, const uint32_t &no_topics)
 
__host__ __device__ void sha256_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length)
 
__host__ __device__ void ripemd160_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &length)
 
__host__ __device__ void blake2_cost (ArithEnv &arith, bn_t &gas_used, const uint32_t rounds)
 
__host__ __device__ int32_t modexp_cost (ArithEnv &arith, bn_t &gas_used, const bn_t &exponent_size, const bn_t &exponent_bit_length_bn, const bn_t &multiplication_complexity)
 
__host__ __device__ void ecpairing_cost (ArithEnv &arith, bn_t &gas_used, uint32_t data_size)
 
__host__ __device__ int32_t access_account_cost (ArithEnv &arith, bn_t &gas_used, CuEVM::TouchState &touch_state, const evm_word_t *address)
 
__host__ __device__ int32_t sload_cost (ArithEnv &arith, bn_t &gas_used, const CuEVM::TouchState &touch_state, const evm_word_t *address, const bn_t &key)
 
__host__ __device__ int32_t sstore_cost (ArithEnv &arith, bn_t &gas_used, bn_t &gas_refund, const CuEVM::TouchState &touch_state, const evm_word_t *address, const bn_t &key, const bn_t &new_value)
 
__host__ __device__ int32_t transaction_intrinsic_gas (ArithEnv &arith, const CuEVM::evm_transaction_t &transaction, bn_t &gas_intrinsic)
 
__host__ __device__ int32_t memory_grow_cost (ArithEnv &arith, const CuEVM::evm_memory_t &memory, const bn_t &index, const bn_t &length, bn_t &memory_expansion_cost, bn_t &gas_used)
 

Function Documentation

◆ access_account_cost()

__host__ __device__ int32_t CuEVM::gas_cost::access_account_cost ( ArithEnv &  arith,
bn_t &  gas_used,
CuEVM::TouchState &  touch_state,
const evm_word_t *  address 
)
Here is the caller graph for this function:

◆ blake2_cost()

__host__ __device__ void CuEVM::gas_cost::blake2_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const uint32_t  rounds 
)
Here is the caller graph for this function:

◆ code_cost()

__host__ __device__ void CuEVM::gas_cost::code_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  code_length 
)
Here is the call graph for this function:

◆ ecpairing_cost()

__host__ __device__ void CuEVM::gas_cost::ecpairing_cost ( ArithEnv &  arith,
bn_t &  gas_used,
uint32_t  data_size 
)
Here is the caller graph for this function:

◆ evm_bytes_gas_cost()

__host__ __device__ void CuEVM::gas_cost::evm_bytes_gas_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length,
const uint32_t  gas_per_byte 
)
Here is the caller graph for this function:

◆ evm_words_gas_cost()

__host__ __device__ void CuEVM::gas_cost::evm_words_gas_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length,
const uint32_t  gas_per_word 
)
Here is the caller graph for this function:

◆ exp_bytes_gas_cost()

__host__ __device__ int32_t CuEVM::gas_cost::exp_bytes_gas_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  exponent 
)
Here is the caller graph for this function:

◆ has_gas()

__host__ __device__ int32_t CuEVM::gas_cost::has_gas ( ArithEnv &  arith,
const bn_t &  gas_limit,
const bn_t &  gas_used 
)

◆ initcode_cost()

__host__ __device__ void CuEVM::gas_cost::initcode_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  initcode_length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ keccak_cost()

__host__ __device__ void CuEVM::gas_cost::keccak_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_record_cost()

__host__ __device__ void CuEVM::gas_cost::log_record_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_topics_cost()

__host__ __device__ void CuEVM::gas_cost::log_topics_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const uint32_t &  no_topics 
)
Here is the caller graph for this function:

◆ max_gas_call()

__host__ __device__ void CuEVM::gas_cost::max_gas_call ( ArithEnv &  arith,
bn_t &  gas_capped,
const bn_t &  gas_limit,
const bn_t &  gas_used 
)
Here is the caller graph for this function:

◆ memory_cost()

__host__ __device__ void CuEVM::gas_cost::memory_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ memory_grow_cost()

__host__ __device__ int32_t CuEVM::gas_cost::memory_grow_cost ( ArithEnv &  arith,
const CuEVM::evm_memory_t &  memory,
const bn_t &  index,
const bn_t &  length,
bn_t &  memory_expansion_cost,
bn_t &  gas_used 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ modexp_cost()

__host__ __device__ int32_t CuEVM::gas_cost::modexp_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  exponent_size,
const bn_t &  exponent_bit_length_bn,
const bn_t &  multiplication_complexity 
)
Here is the caller graph for this function:

◆ ripemd160_cost()

__host__ __device__ void CuEVM::gas_cost::ripemd160_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sha256_cost()

__host__ __device__ void CuEVM::gas_cost::sha256_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const bn_t &  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sload_cost()

__host__ __device__ int32_t CuEVM::gas_cost::sload_cost ( ArithEnv &  arith,
bn_t &  gas_used,
const CuEVM::TouchState &  touch_state,
const evm_word_t *  address,
const bn_t &  key 
)
Here is the caller graph for this function:

◆ sstore_cost()

__host__ __device__ int32_t CuEVM::gas_cost::sstore_cost ( ArithEnv &  arith,
bn_t &  gas_used,
bn_t &  gas_refund,
const CuEVM::TouchState &  touch_state,
const evm_word_t *  address,
const bn_t &  key,
const bn_t &  new_value 
)
Here is the caller graph for this function:

◆ transaction_intrinsic_gas()

__host__ __device__ int32_t CuEVM::gas_cost::transaction_intrinsic_gas ( ArithEnv &  arith,
const CuEVM::evm_transaction_t &  transaction,
bn_t &  gas_intrinsic 
)
Here is the call graph for this function: