1#ifndef IOTEX_CONTRACT_H
2#define IOTEX_CONTRACT_H
17 bool ContainsParameter(
const IotexString& name);
21 std::map<const IotexString, iotex::abi::ParameterValue> _dictionary;
39 Contract(std::vector<iotex::abi::FunctionAbi>& functions);
52 static int32_t generateBytesForUint(
const uint8_t* pVal,
size_t size, uint8_t* out);
53 static int32_t generateBytesForInt(
const int8_t* pVal,
size_t size, uint8_t* out);
54 static int32_t generateBytesForAddress(
const uint8_t* pVal, uint8_t* out);
55 static int32_t generateBytesForBool(
bool val, uint8_t* out);
56 static int32_t generateBytesForStaticBytes(uint8_t* pVal,
size_t size, uint8_t* out);
57 static int32_t generateBytesForBytes(uint8_t* pVal,
size_t size, uint8_t* out);
58 static int32_t generateBytesForString(
char* pVal,
size_t size, uint8_t* out);
60 std::vector<uint8_t>& data);
62 std::vector<uint8_t>& data);
64 std::vector<uint8_t>& data);
66 std::vector<uint8_t>& out);
74 std::vector<iotex::abi::FunctionAbi> _functions;
77 iotex::abi::EthereumTypeName type,
78 std::vector<uint8_t>& data);
80 iotex::abi::EthereumTypeName type, uint8_t buf[32]);
Definition: contract.h:25
ResultCode generateCallData(const IotexString &functionName, ParameterValuesDictionary ¶ms, IotexString &out)
Generates the Ethereum encoded data for the contract call.
Definition: contract.cpp:42
Contract(IotexString &abiJson)
Construct a new contract object passing the ABI JSON string.
Definition: contract.cpp:32
Definition: contract.h:14
A class that represents the ABI for a contract function.
Definition: abi.h:120
Class that represents the value of a contract function input or output parameter.
Definition: abi.h:172