49 EVM(asio::io_context & io_context, evmc_revision rev, std::filesystem::path solc_path, std::filesystem::path pt_path);
61 asio::awaitable<bool>
compile(std::filesystem::path code_path,
62 std::filesystem::path out_dir,
63 std::filesystem::path base_path = {},
64 std::filesystem::path includes = {})
const noexcept;
66 asio::awaitable<std::expected<chain::Address, chain::DeployError>>
deploy(
67 std::istream & code_stream,
69 std::vector<std::uint8_t> constructor_args,
70 std::uint64_t gas_limit,
71 std::uint64_t value)
noexcept;
73 asio::awaitable<std::expected<chain::Address, chain::DeployError>>
deploy(
74 std::filesystem::path code_path,
76 std::vector<uint8_t> constructor_args,
77 std::uint64_t gas_limit,
78 std::uint64_t value)
noexcept;
83 std::vector<std::uint8_t> input_bytes,
84 std::uint64_t gas_limit,
85 std::uint64_t value)
noexcept;
87 asio::awaitable<std::vector<EmittedLogRecord>>
getLogsSince(std::uint64_t after_seq, std::size_t limit)
noexcept;
94 const std::filesystem::path &
getPTPath() const;
97 asio::awaitable<
bool>
loadPT();
100 asio::strand<asio::io_context::executor_type> _strand;
105 std::filesystem::path _solc_path;
106 std::filesystem::path _pt_path;
110 chain::Address _genesis_address;
111 chain::Address _console_log_address;
113 chain::Address _registry_address;
114 chain::Address _runner_address;
132 std::vector<std::uint8_t>
encodeAsArg<std::vector<std::tuple<std::uint32_t, std::uint32_t>>>(const std::vector<std::tuple<std::uint32_t, std::uint32_t>>& vec);
135 std::vector<std::uint8_t>
encodeAsArg<std::vector<std::tuple<std::uint32_t, std::uint32_t, std::uint32_t>>>(const std::vector<std::tuple<std::uint32_t, std::uint32_t, std::uint32_t>>& vec);