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.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "address.hpp"
4#include "chain_interface.hpp"
5#include "deploy.hpp"
6#include "execute.hpp"
7#include "format_hash.hpp"
8#include "hex.hpp"
9
10namespace dcn::chain
11{
12 std::vector<std::uint8_t> constructSelector(std::string signature);
13
14 evmc::bytes32 constructEventTopic(std::string signature);
15
16 std::optional<std::vector<evmc::bytes32>> decodeTopicWords(const std::vector<std::string> & topics_hex);
17
18
19 std::uint64_t readUint256(const std::vector<std::uint8_t> & bytes, std::size_t offset);
20
21 std::uint32_t readUint32Padded(const std::vector<uint8_t>& bytes, std::size_t offset);
22
23
24 std::uint32_t readUint32(const std::vector<std::uint8_t> & bytes, std::size_t offset);
25
26 std::uint64_t readOffset(const std::vector<std::uint8_t> & bytes, std::size_t offset);
27
28 std::optional<std::size_t> readWordAsSizeT(const std::uint8_t* data, std::size_t data_size, std::size_t offset);
29
30 std::optional<std::uint32_t> readUint32Word(const std::uint8_t* data, std::size_t data_size, std::size_t offset);
31
32
33 std::optional<std::string> decodeAbiString(const std::uint8_t* data, std::size_t data_size, std::size_t string_offset);
34
35 std::optional<std::vector<std::string>> decodeAbiStringArray(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
36
37 std::optional<std::vector<std::uint32_t>> decodeAbiUint32Array(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
38
39 std::optional<std::vector<std::int32_t>> decodeAbiInt32Array(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
40}
Definition address.hpp:17
std::optional< std::size_t > readWordAsSizeT(const std::uint8_t *data, std::size_t data_size, std::size_t offset)
Definition chain.cpp:81
std::vector< std::uint8_t > constructSelector(std::string signature)
Definition chain.cpp:7
std::optional< std::uint32_t > readUint32Word(const std::uint8_t *data, std::size_t data_size, std::size_t offset)
Definition chain.cpp:107
std::uint32_t readUint32(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:64
std::uint64_t readUint256(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:44
evmc::bytes32 constructEventTopic(std::string signature)
Definition chain.cpp:15
std::optional< std::vector< std::uint32_t > > decodeAbiUint32Array(const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
Definition chain.cpp:244
std::optional< std::vector< evmc::bytes32 > > decodeTopicWords(const std::vector< std::string > &topics_hex)
Definition chain.cpp:22
std::optional< std::vector< std::string > > decodeAbiStringArray(const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
Definition chain.cpp:136
std::optional< std::string > decodeAbiString(const std::uint8_t *data, std::size_t data_size, std::size_t string_offset)
Definition chain.cpp:118
std::uint32_t readUint32Padded(const std::vector< uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:54
std::uint64_t readOffset(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:73
std::optional< std::vector< std::int32_t > > decodeAbiInt32Array(const std::uint8_t *data, std::size_t data_size, std::size_t array_offset)
Definition chain.cpp:187