h256root()const{assert(node(m_root).size());h256ret=(m_root==c_shaNull?h256():m_root);/*std::cout << "Returning root as " << ret << " (really " << m_root << ")" << std::endl;*/returnret;}// patch the root in the case of the empty trie. TODO: handle this properly.
h256root()const{assert(node(m_root).size());/*std::cout << "Returning root as " << ret << " (really " << m_root << ")" << std::endl;*/returnm_root;}// patch the root in the case of the empty trie. TODO: handle this properly.
@ -32,7 +32,9 @@ extern u256 const c_stepGas; ///< Once per operation, except for SSTORE, SLOAD
externu256constc_balanceGas;///< Once per BALANCE operation.
externu256constc_sha3Gas;///< Once per SHA3 operation.
externu256constc_sloadGas;///< Once per SLOAD operation.
externu256constc_sstoreGas;///< Once per non-zero storage element in a CREATE call/transaction. Also, once/twice per SSTORE operation depending on whether the zeroness changes (twice iff it changes from zero; nothing at all if to zero) or doesn't (once).
externu256constc_sstoreSetGas;///< Once per SSTORE operation if the zeroness changes from zero.
externu256constc_sstoreResetGas;///< Once per SSTORE operation if the zeroness doesn't change.
externu256constc_sstoreRefundGas;///< Refunded gas, once per SSTORE operation if the zeroness changes to zero.
externu256constc_createGas;///< Once per CREATE operation & contract-creation transaction.
externu256constc_callGas;///< Once per CALL operation & message call transaction.
externu256constc_memoryGas;///< Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL.