Monero
Loading...
Searching...
No Matches
ringdb.cpp File Reference
#include <lmdb.h>
#include <boost/algorithm/string.hpp>
#include <boost/range/adaptor/transformed.hpp>
#include <boost/filesystem.hpp>
#include "common/util.h"
#include "misc_log_ex.h"
#include "misc_language.h"
#include "wallet_errors.h"
#include "ringdb.h"
#include "cryptonote_config.h"
Include dependency graph for ringdb.cpp:

Namespaces

namespace  tools
 Various Tools.

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "wallet.ringdb"
#define V1TAG   ((uint64_t)798237759845202)

Enumerations

enum  { BLACKBALL_BLACKBALL , BLACKBALL_UNBLACKBALL , BLACKBALL_QUERY , BLACKBALL_CLEAR }

Functions

static int compare_hash32 (const MDB_val *a, const MDB_val *b)
static int compare_uint64 (const MDB_val *a, const MDB_val *b)
static std::string compress_ring (const std::vector< uint64_t > &ring, uint64_t tag)
static std::vector< uint64_tdecompress_ring (const std::string &s, uint64_t tag)
std::string get_rings_filename (boost::filesystem::path filename)
static crypto::chacha_iv make_iv (const crypto::key_image &key_image, const crypto::chacha_key &key, uint8_t field)
static std::string encrypt (const std::string &plaintext, const crypto::key_image &key_image, const crypto::chacha_key &key, uint8_t field)
static std::string encrypt (const crypto::key_image &key_image, const crypto::chacha_key &key, uint8_t field)
static std::string decrypt (const std::string &ciphertext, const crypto::key_image &key_image, const crypto::chacha_key &key, uint8_t field)
static void store_relative_ring (MDB_txn *txn, MDB_dbi &dbi, const crypto::key_image &key_image, const std::vector< uint64_t > &relative_ring, const crypto::chacha_key &chacha_key)
static int resize_env (MDB_env *env, const char *db_path, size_t needed)
static size_t get_ring_data_size (size_t n_entries)

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "wallet.ringdb"

◆ V1TAG

#define V1TAG   ((uint64_t)798237759845202)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
BLACKBALL_BLACKBALL 
BLACKBALL_UNBLACKBALL 
BLACKBALL_QUERY 
BLACKBALL_CLEAR 

Function Documentation

◆ compare_hash32()

int compare_hash32 ( const MDB_val * a,
const MDB_val * b )
static

◆ compare_uint64()

int compare_uint64 ( const MDB_val * a,
const MDB_val * b )
static

◆ compress_ring()

std::string compress_ring ( const std::vector< uint64_t > & ring,
uint64_t tag )
static

◆ decompress_ring()

std::vector< uint64_t > decompress_ring ( const std::string & s,
uint64_t tag )
static

◆ decrypt()

std::string decrypt ( const std::string & ciphertext,
const crypto::key_image & key_image,
const crypto::chacha_key & key,
uint8_t field )
static

◆ encrypt() [1/2]

std::string encrypt ( const crypto::key_image & key_image,
const crypto::chacha_key & key,
uint8_t field )
static

◆ encrypt() [2/2]

std::string encrypt ( const std::string & plaintext,
const crypto::key_image & key_image,
const crypto::chacha_key & key,
uint8_t field )
static

◆ get_ring_data_size()

size_t get_ring_data_size ( size_t n_entries)
static

◆ get_rings_filename()

std::string get_rings_filename ( boost::filesystem::path filename)

◆ make_iv()

crypto::chacha_iv make_iv ( const crypto::key_image & key_image,
const crypto::chacha_key & key,
uint8_t field )
static

◆ resize_env()

int resize_env ( MDB_env * env,
const char * db_path,
size_t needed )
static

◆ store_relative_ring()

void store_relative_ring ( MDB_txn * txn,
MDB_dbi & dbi,
const crypto::key_image & key_image,
const std::vector< uint64_t > & relative_ring,
const crypto::chacha_key & chacha_key )
static