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 "ingestion.hpp"
6#include "deploy.hpp"
7#include "execute.hpp"
8#include "format_hash.hpp"
9
10
11namespace dcn::chain
12{
13 std::vector<std::uint8_t> constructSelector(std::string signature);
14
15 evmc::bytes32 constructEventTopic(std::string signature);
16
17 std::optional<std::vector<evmc::bytes32>> decodeTopicWords(const std::vector<std::string> & topics_hex);
18
19
20 std::uint64_t readUint256(const std::vector<std::uint8_t> & bytes, std::size_t offset);
21
22 std::uint32_t readUint32Padded(const std::vector<uint8_t>& bytes, std::size_t offset);
23
24
25 std::uint32_t readUint32(const std::vector<std::uint8_t> & bytes, std::size_t offset);
26
27 std::uint64_t readOffset(const std::vector<std::uint8_t> & bytes, std::size_t offset);
28
29 std::optional<std::size_t> readWordAsSizeT(const std::uint8_t* data, std::size_t data_size, std::size_t offset);
30
31 std::optional<std::uint32_t> readUint32Word(const std::uint8_t* data, std::size_t data_size, std::size_t offset);
32
33
34 std::optional<std::string> decodeAbiString(const std::uint8_t* data, std::size_t data_size, std::size_t string_offset);
35
36 std::optional<std::vector<std::string>> decodeAbiStringArray(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
37
38 std::optional<std::vector<std::uint32_t>> decodeAbiUint32Array(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
39
40 std::optional<std::vector<std::int32_t>> decodeAbiInt32Array(const std::uint8_t* data, std::size_t data_size, std::size_t array_offset);
41}
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:79
std::vector< std::uint8_t > constructSelector(std::string signature)
Definition chain.cpp:5
std::optional< std::uint32_t > readUint32Word(const std::uint8_t *data, std::size_t data_size, std::size_t offset)
Definition chain.cpp:105
std::uint32_t readUint32(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:62
std::uint64_t readUint256(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:42
evmc::bytes32 constructEventTopic(std::string signature)
Definition chain.cpp:13
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:242
std::optional< std::vector< evmc::bytes32 > > decodeTopicWords(const std::vector< std::string > &topics_hex)
Definition chain.cpp:20
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:134
std::optional< std::string > decodeAbiString(const std::uint8_t *data, std::size_t data_size, std::size_t string_offset)
Definition chain.cpp:116
std::uint32_t readUint32Padded(const std::vector< uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:52
std::uint64_t readOffset(const std::vector< std::uint8_t > &bytes, std::size_t offset)
Definition chain.cpp:71
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:185