// SPDX-License-Identifier: Apache-2.0 #include "eeimodule.h" #include "eeifunc.h" #include namespace SSVM { namespace Host { EEIModule::EEIModule(uint64_t &CostLimit, uint64_t &CostSum) : ImportObject("ethereum"), Env(CostLimit, CostSum) { addHostFunc("call", std::make_unique(Env)); addHostFunc("callCode", std::make_unique(Env)); addHostFunc("callDataCopy", std::make_unique(Env)); addHostFunc("callDelegate", std::make_unique(Env)); addHostFunc("callStatic", std::make_unique(Env)); addHostFunc("codeCopy", std::make_unique(Env)); addHostFunc("create", std::make_unique(Env)); addHostFunc("externalCodeCopy", std::make_unique(Env)); addHostFunc("finish", std::make_unique(Env)); addHostFunc("getAddress", std::make_unique(Env)); addHostFunc("getBlockCoinbase", std::make_unique(Env)); addHostFunc("getBlockDifficulty", std::make_unique(Env)); addHostFunc("getBlockGasLimit", std::make_unique(Env)); addHostFunc("getBlockHash", std::make_unique(Env)); addHostFunc("getBlockNumber", std::make_unique(Env)); addHostFunc("getBlockTimestamp", std::make_unique(Env)); addHostFunc("getCallDataSize", std::make_unique(Env)); addHostFunc("getCallValue", std::make_unique(Env)); addHostFunc("getCaller", std::make_unique(Env)); addHostFunc("getCodeSize", std::make_unique(Env)); addHostFunc("getExternalBalance", std::make_unique(Env)); addHostFunc("getExternalCodeSize", std::make_unique(Env)); addHostFunc("getGasLeft", std::make_unique(Env)); addHostFunc("getReturnDataSize", std::make_unique(Env)); addHostFunc("getTxGasPrice", std::make_unique(Env)); addHostFunc("getTxOrigin", std::make_unique(Env)); addHostFunc("log", std::make_unique(Env)); addHostFunc("returnDataCopy", std::make_unique(Env)); addHostFunc("revert", std::make_unique(Env)); addHostFunc("selfDestruct", std::make_unique(Env)); addHostFunc("storageLoad", std::make_unique(Env)); addHostFunc("storageStore", std::make_unique(Env)); addHostFunc("useGas", std::make_unique(Env)); } } // namespace Host } // namespace SSVM