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
dcn::evm Namespace Reference

Classes

struct  DeployError
 
class  EVM
 
class  EVMStorage
 
struct  ExecuteError
 

Typedefs

using Address = evmc::address
 

Functions

asio::awaitable< std::expected< std::vector< std::uint8_t >, ExecuteError > > fetchOwner (EVM &evm, const Address &address)
 
std::vector< std::uint8_t > constructSelector (std::string signature)
 
template<class T >
std::vector< std::uint8_t > encodeAsArg (const T &val)
 
template<>
std::vector< std::uint8_t > encodeAsArg< Address > (const Address &address)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::uint32_t > (const std::uint32_t &value)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::vector< std::uint32_t > > (const std::vector< std::uint32_t > &vec)
 
template<>
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)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::string > (const std::string &str)
 
template<class T >
decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 
template<>
std::vector< std::vector< std::uint32_t > > decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 
template<>
Address decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 
template<>
std::vector< Samples > decodeReturnedValue (const std::vector< uint8_t > &bytes)
 
template<typename H >
AbslHashValue (H h, const evmc::address &addr)
 
template<>
std::vector< std::uint8_t > encodeAsArg< Address > (const Address &address)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::uint32_t > (const std::uint32_t &value)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::vector< std::uint32_t > > (const std::vector< std::uint32_t > &vec)
 
template<>
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)
 
template<>
std::vector< std::uint8_t > encodeAsArg< std::string > (const std::string &str)
 
DeployError _decodeDeployError (const evmc::Result &r)
 
ExecuteError _decodeExecuteError (const evmc::Result &r)
 
template<>
std::vector< std::vector< uint32_t > > decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 
template<>
Address decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 
template<>
std::vector< Samples > decodeReturnedValue (const std::vector< std::uint8_t > &bytes)
 

Variables

const std::uint64_t DEFAULT_GAS_LIMIT = 100'000'000
 

Typedef Documentation

◆ Address

using dcn::evm::Address = typedef evmc::address

Function Documentation

◆ _decodeDeployError()

DeployError dcn::evm::_decodeDeployError ( const evmc::Result &  r)

◆ _decodeExecuteError()

ExecuteError dcn::evm::_decodeExecuteError ( const evmc::Result &  r)

◆ AbslHashValue()

template<typename H >
H dcn::evm::AbslHashValue ( h,
const evmc::address &  addr 
)
inline

◆ constructSelector()

std::vector< std::uint8_t > dcn::evm::constructSelector ( std::string  signature)

◆ decodeReturnedValue() [1/7]

template<class T >
T dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [2/7]

template<>
std::vector< std::vector< std::uint32_t > > dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [3/7]

template<>
Address dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [4/7]

template<>
std::vector< std::vector< uint32_t > > dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [5/7]

template<>
Address dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [6/7]

template<>
std::vector< Samples > dcn::evm::decodeReturnedValue ( const std::vector< std::uint8_t > &  bytes)

◆ decodeReturnedValue() [7/7]

template<>
std::vector< Samples > dcn::evm::decodeReturnedValue ( const std::vector< uint8_t > &  bytes)

◆ encodeAsArg()

template<class T >
std::vector< std::uint8_t > dcn::evm::encodeAsArg ( const T &  val)

◆ encodeAsArg< Address >() [1/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< Address > ( const Address address)

◆ encodeAsArg< Address >() [2/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< Address > ( const Address address)

◆ encodeAsArg< std::string >() [1/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::string > ( const std::string &  str)

◆ encodeAsArg< std::string >() [2/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::string > ( const std::string &  str)

◆ encodeAsArg< std::uint32_t >() [1/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::uint32_t > ( const std::uint32_t &  value)

◆ encodeAsArg< std::uint32_t >() [2/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::uint32_t > ( const std::uint32_t &  value)

◆ encodeAsArg< std::vector< std::tuple< std::uint32_t, std::uint32_t > > >() [1/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::vector< std::tuple< std::uint32_t, std::uint32_t > > > ( const std::vector< std::tuple< std::uint32_t, std::uint32_t > > &  vec)

◆ encodeAsArg< std::vector< std::tuple< std::uint32_t, std::uint32_t > > >() [2/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::vector< std::tuple< std::uint32_t, std::uint32_t > > > ( const std::vector< std::tuple< std::uint32_t, std::uint32_t > > &  vec)

◆ encodeAsArg< std::vector< std::uint32_t > >() [1/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::vector< std::uint32_t > > ( const std::vector< std::uint32_t > &  vec)

◆ encodeAsArg< std::vector< std::uint32_t > >() [2/2]

template<>
std::vector< std::uint8_t > dcn::evm::encodeAsArg< std::vector< std::uint32_t > > ( const std::vector< std::uint32_t > &  vec)

◆ fetchOwner()

asio::awaitable< std::expected< std::vector< std::uint8_t >, ExecuteError > > dcn::evm::fetchOwner ( EVM evm,
const Address address 
)

Variable Documentation

◆ DEFAULT_GAS_LIMIT

const std::uint64_t dcn::evm::DEFAULT_GAS_LIMIT = 100'000'000