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::chain Namespace Reference

Classes

struct  DeployError
struct  DeployReceipt
struct  ExecuteError
struct  ExecuteReceipt
class  IChain
struct  ResolvedScalarEntries
struct  ScalarHashEntry
struct  ScalarLabel

Typedefs

using Address = evmc::address

Functions

std::optional< chain::AddressreadAddressWord (const std::uint8_t *data, std::size_t data_size, std::size_t offset=0)
std::optional< chain::AddressreadAddressWord (const std::vector< std::uint8_t > &data, std::size_t offset=0)
chain::Address topicWordToAddress (const evmc::bytes32 &topic_word)
chain::Address ethAddressFromPublicKey (const std::uint8_t *pubkey, std::size_t len)
std::string addressToHex (const chain::Address &address)
std::vector< std::uint8_t > constructSelector (std::string signature)
evmc::bytes32 constructEventTopic (std::string signature)
std::optional< std::vector< evmc::bytes32 > > decodeTopicWords (const std::vector< std::string > &topics_hex)
std::uint64_t readUint256 (const std::vector< std::uint8_t > &bytes, std::size_t offset)
std::uint32_t readUint32Padded (const std::vector< uint8_t > &bytes, std::size_t offset)
std::uint32_t readUint32 (const std::vector< std::uint8_t > &bytes, std::size_t offset)
std::uint64_t readOffset (const std::vector< std::uint8_t > &bytes, std::size_t offset)
std::optional< std::size_t > readWordAsSizeT (const std::uint8_t *data, std::size_t data_size, std::size_t offset)
std::optional< std::uint32_t > readUint32Word (const std::uint8_t *data, std::size_t data_size, std::size_t offset)
std::optional< std::string > decodeAbiString (const std::uint8_t *data, std::size_t data_size, std::size_t string_offset)
std::optional< std::vector< std::string > > decodeAbiStringArray (const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
std::optional< std::vector< std::uint32_t > > decodeAbiUint32Array (const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
std::optional< std::vector< std::int32_t > > decodeAbiInt32Array (const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
bool equalBytes32 (const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
bool lessBytes32 (const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
evmc::bytes32 keccakBytes (const std::uint8_t *data, std::size_t size)
evmc::bytes32 keccakString (std::string_view value)
evmc::bytes32 composeFormatHash (const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
evmc::bytes32 dimPathHash (std::uint32_t dim_id)
evmc::bytes32 concatPathHash (const evmc::bytes32 &left, const evmc::bytes32 &right)
evmc::bytes32 scalarPathLabelHash (const evmc::bytes32 &scalar_hash, const evmc::bytes32 &path_hash)
evmc::bytes32 labelHashToFormatHash (const evmc::bytes32 &label_hash)
evmc::bytes32 computeFormatHash (const std::vector< ScalarHashEntry > &hash_entries)
std::vector< ScalarLabelcanonicalizeScalarLabels (const std::vector< ScalarLabel > &labels)
bool scalarLabelsEqual (const std::vector< ScalarLabel > &lhs, const std::vector< ScalarLabel > &rhs)
std::string bytes32ToHex (const evmc::bytes32 &value)
std::string withHexPrefix (std::string value)
std::string normalizeHex (std::string value)
std::string toHexQuantity (const std::int64_t value)

Typedef Documentation

◆ Address

using dcn::chain::Address = evmc::address

Function Documentation

◆ addressToHex()

std::string dcn::chain::addressToHex ( const chain::Address & address)

◆ bytes32ToHex()

std::string dcn::chain::bytes32ToHex ( const evmc::bytes32 & value)

◆ canonicalizeScalarLabels()

std::vector< ScalarLabel > dcn::chain::canonicalizeScalarLabels ( const std::vector< ScalarLabel > & labels)

◆ composeFormatHash()

evmc::bytes32 dcn::chain::composeFormatHash ( const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs )

◆ computeFormatHash()

evmc::bytes32 dcn::chain::computeFormatHash ( const std::vector< ScalarHashEntry > & hash_entries)

◆ concatPathHash()

evmc::bytes32 dcn::chain::concatPathHash ( const evmc::bytes32 & left,
const evmc::bytes32 & right )

◆ constructEventTopic()

evmc::bytes32 dcn::chain::constructEventTopic ( std::string signature)

◆ constructSelector()

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

◆ decodeAbiInt32Array()

std::optional< std::vector< std::int32_t > > dcn::chain::decodeAbiInt32Array ( const std::uint8_t * data,
std::size_t data_size,
std::size_t array_offset )

◆ decodeAbiString()

std::optional< std::string > dcn::chain::decodeAbiString ( const std::uint8_t * data,
std::size_t data_size,
std::size_t string_offset )

◆ decodeAbiStringArray()

std::optional< std::vector< std::string > > dcn::chain::decodeAbiStringArray ( const std::uint8_t * data,
std::size_t data_size,
std::size_t array_offset )

◆ decodeAbiUint32Array()

std::optional< std::vector< std::uint32_t > > dcn::chain::decodeAbiUint32Array ( const std::uint8_t * data,
std::size_t data_size,
std::size_t array_offset )

◆ decodeTopicWords()

std::optional< std::vector< evmc::bytes32 > > dcn::chain::decodeTopicWords ( const std::vector< std::string > & topics_hex)

◆ dimPathHash()

evmc::bytes32 dcn::chain::dimPathHash ( std::uint32_t dim_id)

◆ equalBytes32()

bool dcn::chain::equalBytes32 ( const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs )

◆ ethAddressFromPublicKey()

chain::Address dcn::chain::ethAddressFromPublicKey ( const std::uint8_t * pubkey,
std::size_t len )

◆ keccakBytes()

evmc::bytes32 dcn::chain::keccakBytes ( const std::uint8_t * data,
std::size_t size )

◆ keccakString()

evmc::bytes32 dcn::chain::keccakString ( std::string_view value)

◆ labelHashToFormatHash()

evmc::bytes32 dcn::chain::labelHashToFormatHash ( const evmc::bytes32 & label_hash)

◆ lessBytes32()

bool dcn::chain::lessBytes32 ( const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs )

◆ normalizeHex()

std::string dcn::chain::normalizeHex ( std::string value)

◆ readAddressWord() [1/2]

std::optional< chain::Address > dcn::chain::readAddressWord ( const std::uint8_t * data,
std::size_t data_size,
std::size_t offset = 0 )

◆ readAddressWord() [2/2]

std::optional< chain::Address > dcn::chain::readAddressWord ( const std::vector< std::uint8_t > & data,
std::size_t offset = 0 )

◆ readOffset()

std::uint64_t dcn::chain::readOffset ( const std::vector< std::uint8_t > & bytes,
std::size_t offset )

◆ readUint256()

std::uint64_t dcn::chain::readUint256 ( const std::vector< std::uint8_t > & bytes,
std::size_t offset )

◆ readUint32()

std::uint32_t dcn::chain::readUint32 ( const std::vector< std::uint8_t > & bytes,
std::size_t offset )

◆ readUint32Padded()

std::uint32_t dcn::chain::readUint32Padded ( const std::vector< uint8_t > & bytes,
std::size_t offset )

◆ readUint32Word()

std::optional< std::uint32_t > dcn::chain::readUint32Word ( const std::uint8_t * data,
std::size_t data_size,
std::size_t offset )

◆ readWordAsSizeT()

std::optional< std::size_t > dcn::chain::readWordAsSizeT ( const std::uint8_t * data,
std::size_t data_size,
std::size_t offset )

◆ scalarLabelsEqual()

bool dcn::chain::scalarLabelsEqual ( const std::vector< ScalarLabel > & lhs,
const std::vector< ScalarLabel > & rhs )

◆ scalarPathLabelHash()

evmc::bytes32 dcn::chain::scalarPathLabelHash ( const evmc::bytes32 & scalar_hash,
const evmc::bytes32 & path_hash )

◆ toHexQuantity()

std::string dcn::chain::toHexQuantity ( const std::int64_t value)

◆ topicWordToAddress()

chain::Address dcn::chain::topicWordToAddress ( const evmc::bytes32 & topic_word)

◆ withHexPrefix()

std::string dcn::chain::withHexPrefix ( std::string value)