Decentralised Art Server
High-performance C++ backend that exposes HTML interface and a secure REST API for managing Performative Transactions entities
 
Loading...
Searching...
No Matches
chain_interface.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <expected>
5#include <string>
6#include <vector>
7
8#include "deploy.hpp"
9#include "address.hpp"
10
11namespace dcn::chain
12{
13 class IChain
14 {
15 public:
16 virtual ~IChain() = default;
17
18 virtual std::expected<Address, DeployError> signerAddress() const = 0;
19
20 virtual std::expected<std::string, DeployError> sendCreateTransaction(
21 const std::vector<std::uint8_t> & init_code,
22 std::optional<std::uint64_t> gas_limit = std::nullopt,
23 std::uint64_t value_wei = 0) const = 0;
24
25 virtual std::expected<DeployReceipt, DeployError> deployContract(
26 const std::vector<std::uint8_t> & init_code,
27 std::optional<std::uint64_t> gas_limit = std::nullopt,
28 std::uint64_t value_wei = 0) const = 0;
29 };
30}
Definition chain_interface.hpp:14
virtual ~IChain()=default
virtual std::expected< Address, DeployError > signerAddress() const =0
virtual std::expected< DeployReceipt, DeployError > deployContract(const std::vector< std::uint8_t > &init_code, std::optional< std::uint64_t > gas_limit=std::nullopt, std::uint64_t value_wei=0) const =0
virtual std::expected< std::string, DeployError > sendCreateTransaction(const std::vector< std::uint8_t > &init_code, std::optional< std::uint64_t > gas_limit=std::nullopt, std::uint64_t value_wei=0) const =0
Definition address.hpp:17