Electroneum
Public Member Functions | Private Member Functions | Private Attributes | List of all members
tools::ringdb Class Reference

#include <ringdb.h>

Public Member Functions

 ringdb (std::string filename, const std::string &genesis)
 
void close ()
 
 ~ringdb ()
 
bool add_rings (const crypto::chacha_key &chacha_key, const cryptonote::transaction_prefix &tx)
 
bool remove_rings (const crypto::chacha_key &chacha_key, const std::vector< crypto::key_image > &key_images)
 
bool remove_rings (const crypto::chacha_key &chacha_key, const cryptonote::transaction_prefix &tx)
 
bool get_ring (const crypto::chacha_key &chacha_key, const crypto::key_image &key_image, std::vector< uint64_t > &outs)
 
bool set_ring (const crypto::chacha_key &chacha_key, const crypto::key_image &key_image, const std::vector< uint64_t > &outs, bool relative)
 
bool blackball (const std::pair< uint64_t, uint64_t > &output)
 
bool blackball (const std::vector< std::pair< uint64_t, uint64_t >> &outputs)
 
bool unblackball (const std::pair< uint64_t, uint64_t > &output)
 
bool blackballed (const std::pair< uint64_t, uint64_t > &output)
 
bool clear_blackballs ()
 

Private Member Functions

bool blackball_worker (const std::vector< std::pair< uint64_t, uint64_t >> &outputs, int op)
 

Private Attributes

std::string filename
 
MDB_env * env
 
MDB_dbi dbi_rings
 
MDB_dbi dbi_blackballs
 

Constructor & Destructor Documentation

◆ ringdb()

tools::ringdb::ringdb ( std::string  filename,
const std::string &  genesis 
)

◆ ~ringdb()

tools::ringdb::~ringdb ( )

Member Function Documentation

◆ add_rings()

bool tools::ringdb::add_rings ( const crypto::chacha_key &  chacha_key,
const cryptonote::transaction_prefix tx 
)

◆ blackball() [1/2]

bool tools::ringdb::blackball ( const std::pair< uint64_t, uint64_t > &  output)

◆ blackball() [2/2]

bool tools::ringdb::blackball ( const std::vector< std::pair< uint64_t, uint64_t >> &  outputs)

◆ blackball_worker()

bool tools::ringdb::blackball_worker ( const std::vector< std::pair< uint64_t, uint64_t >> &  outputs,
int  op 
)
private

◆ blackballed()

bool tools::ringdb::blackballed ( const std::pair< uint64_t, uint64_t > &  output)

◆ clear_blackballs()

bool tools::ringdb::clear_blackballs ( )

◆ close()

void tools::ringdb::close ( )

◆ get_ring()

bool tools::ringdb::get_ring ( const crypto::chacha_key &  chacha_key,
const crypto::key_image key_image,
std::vector< uint64_t > &  outs 
)

◆ remove_rings() [1/2]

bool tools::ringdb::remove_rings ( const crypto::chacha_key &  chacha_key,
const cryptonote::transaction_prefix tx 
)

◆ remove_rings() [2/2]

bool tools::ringdb::remove_rings ( const crypto::chacha_key &  chacha_key,
const std::vector< crypto::key_image > &  key_images 
)

◆ set_ring()

bool tools::ringdb::set_ring ( const crypto::chacha_key &  chacha_key,
const crypto::key_image key_image,
const std::vector< uint64_t > &  outs,
bool  relative 
)

◆ unblackball()

bool tools::ringdb::unblackball ( const std::pair< uint64_t, uint64_t > &  output)

Member Data Documentation

◆ dbi_blackballs

MDB_dbi tools::ringdb::dbi_blackballs
private

◆ dbi_rings

MDB_dbi tools::ringdb::dbi_rings
private

◆ env

MDB_env* tools::ringdb::env
private

◆ filename

std::string tools::ringdb::filename
private

The documentation for this class was generated from the following files: