PokerUnicorn
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Depositing

Deposit management and interactions. More...

Data Structures

struct  pkrsrv_deposit_service_t
 Deposit service object. More...
 
struct  pkrsrv_deposit_monero_address_t
 Monero address object. More...
 
struct  pkrsrv_deposit_monero_tx_t
 Initializes the deposit service. More...
 
struct  pkrsrv_deposit_monero_tx_list_t
 Creates a new Monero transaction object. More...
 
struct  pkrsrv_deposit_monero_tx_new_params_t
 
struct  pkrsrv_deposit_monero_deposit_t
 Monero deposit object. More...
 
struct  pkrsrv_deposit_monero_deposit_new_params_t
 
struct  pkrsrv_deposit_monero_deposit_list_t
 Monero deposit list object. More...
 
struct  pkrsrv_deposit_monero_get_deposits_params_t
 
struct  pkrsrv_deposit_monero_deposit_create_params_t
 

Macros

#define PKRSRV_DEPOSIT_SERVICE_DELAY   10000
 
#define PKRSRV_DEPOSIT_MONERO_MIN_CONFIRMATIONS   1
 

Enumerations

enum  pkrsrv_deposit_monero_deposit_status_t { PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_NONE = 0 , PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_PENDING , PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_CONFIRMED , PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_FAILED }
 

Functions

pkrsrv_string_t * pkrsrv_deposit_monero_wallet_rpc_call (char *method, char *params)
 Makes a Monero wallet RPC call.
 
bool pkrsrv_deposit_monero_wallet_open (char *wallet_name, char *password)
 Initializes the deposit service.
 
bool pkrsrv_deposit_monero_wallet_close ()
 Initializes the deposit service.
 
bool pkrsrv_deposit_monero_wallet_create (char *wallet_name, char *password)
 Initializes the deposit service.
 
pkrsrv_string_t * pkrsrv_deposit_monero_get_main_address ()
 Initializes the deposit service.
 
bool pkrsrv_deposit_monero_get_balance (uint64_t *balance, uint64_t *unlocked_balance)
 Initializes the deposit service.
 
bool pkrsrv_deposit_monero_get_address_balance (char *address, uint64_t *balance, uint64_t *unlocked_balance)
 Initializes the deposit service.
 
uint64_t pkrsrv_deposit_monero_get_height ()
 Initializes the deposit service.
 
pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_address_t::pkrsrv_deposit_monero_address_new (pkrsrv_string_t *address, int account_index, int index, int payment_id)
 Creates a new Monero address object.
 
void pkrsrv_deposit_monero_address_t::pkrsrv_deposit_monero_address_free (pkrsrv_deposit_monero_address_t *address)
 Frees a Monero address object.
 
pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_address_t::pkrsrv_deposit_monero_create_address (int account_index, int index)
 Creates a new Monero address.
 
pkrsrv_deposit_service_t * pkrsrv_deposit_service_t::pkrsrv_deposit_service_new ()
 Creates a new deposit service object.
 
void pkrsrv_deposit_service_t::pkrsrv_deposit_service_free (pkrsrv_deposit_service_t *service)
 Frees a deposit service object.
 
void pkrsrv_deposit_service_t::pkrsrv_deposit_service_start (pkrsrv_deposit_service_t *service)
 Starts the deposit service.
 
void pkrsrv_deposit_service_t::pkrsrv_deposit_service_stop (pkrsrv_deposit_service_t *service)
 Stops the deposit service.
 
void pkrsrv_deposit_service_t::pkrsrv_deposit_service_thread_f (pkrsrv_deposit_service_t *service)
 Deposit service thread function.
 
pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_t::pkrsrv_deposit_monero_tx_new (pkrsrv_deposit_monero_tx_new_params_t params)
 Creates a new Monero transaction object.
 
void pkrsrv_deposit_monero_tx_t::pkrsrv_deposit_monero_tx_free (pkrsrv_deposit_monero_tx_t *tx)
 Frees a Monero transaction object.
 
pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_tx_list_new ()
 Creates a new Monero transaction list object.
 
void pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_tx_list_free (pkrsrv_deposit_monero_tx_list_t *list)
 Frees a Monero transaction list object.
 
void pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_tx_list_add (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_deposit_monero_tx_t *tx)
 Adds a Monero transaction to the list.
 
void pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_tx_list_remove (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_deposit_monero_tx_t *tx)
 Removes a Monero transaction from the list.
 
pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_tx_list_get_by_txid (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_string_t *txid)
 Gets a Monero transaction from the list by its transaction ID.
 
pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_tx_list_t::pkrsrv_deposit_monero_get_txs (int account_index, int address_index, int min_height)
 Initializes the deposit service.
 
pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_t::pkrsrv_deposit_monero_deposit_new (pkrsrv_deposit_monero_deposit_new_params_t params)
 Creates a new Monero deposit object.
 
void pkrsrv_deposit_monero_deposit_t::pkrsrv_deposit_monero_deposit_free (pkrsrv_deposit_monero_deposit_t *deposit)
 Frees a Monero deposit object.
 
pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_t::pkrsrv_deposit_monero_deposit_getby_txid (PGconn *pg_conn, pkrsrv_string_t *p_txid)
 Gets a Monero deposit object by its transaction ID.
 
pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_deposit_list_t::pkrsrv_deposit_monero_deposit_list_new ()
 Creates a new Monero deposit list object.
 
void pkrsrv_deposit_monero_deposit_list_t::pkrsrv_deposit_monero_deposit_list_free (pkrsrv_deposit_monero_deposit_list_t *list)
 Frees a Monero deposit list object.
 
void pkrsrv_deposit_monero_deposit_list_t::pkrsrv_deposit_monero_deposit_list_add (pkrsrv_deposit_monero_deposit_list_t *list, pkrsrv_deposit_monero_deposit_t *deposit)
 Adds a Monero deposit to the list.
 
void pkrsrv_deposit_monero_deposit_list_t::pkrsrv_deposit_monero_deposit_list_remove (pkrsrv_deposit_monero_deposit_list_t *list, pkrsrv_deposit_monero_deposit_t *deposit)
 Removes a Monero deposit from the list.
 
pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_deposit_list_t::pkrsrv_deposit_monero_get_deposits (PGconn *pg_conn, pkrsrv_deposit_monero_get_deposits_params_t params)
 Retrieves deposits from the database.
 
pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_t::pkrsrv_deposit_monero_deposit_create (PGconn *pg_conn, pkrsrv_deposit_monero_deposit_create_params_t params)
 Creates a deposit on the database.
 
bool pkrsrv_deposit_monero_deposit_t::pkrsrv_deposit_monero_deposit_update_status (PGconn *pg_conn, pkrsrv_deposit_monero_deposit_t *deposit, pkrsrv_deposit_monero_deposit_status_t status)
 Updates the status of a deposit.
 

Detailed Description

Deposit management and interactions.


Data Structure Documentation

◆ pkrsrv_deposit_service

struct pkrsrv_deposit_service

Deposit service object.

+ Inheritance diagram for pkrsrv_deposit_service_t:

Public Member Functions

pkrsrv_deposit_service_t * pkrsrv_deposit_service_new ()
 Creates a new deposit service object.
 
void pkrsrv_deposit_service_free (pkrsrv_deposit_service_t *service)
 Frees a deposit service object.
 
void pkrsrv_deposit_service_start (pkrsrv_deposit_service_t *service)
 Starts the deposit service.
 
void pkrsrv_deposit_service_stop (pkrsrv_deposit_service_t *service)
 Stops the deposit service.
 
void pkrsrv_deposit_service_thread_f (pkrsrv_deposit_service_t *service)
 Deposit service thread function.
 
- Public Member Functions inherited from pkrsrv_ref_counted_t
#define PKRSRV_REF_COUNTED_INIT(obj, free_f)    pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f);
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
#define PKRSRV_REF_COUNTED_USE(obj)
 Increments the reference count of a reference-counted object.
 
#define PKRSRV_REF_COUNTED_LEAVE(obj)
 Decrements the reference count of a reference-counted object.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pthread_t thread
 
bool is_running
 
PGconn * pg_conn
 
- Data Fields inherited from pkrsrv_ref_counted_t
int count
 
pkrsrv_ref_free_f_t free_f
 
pthread_mutex_t mutex
 

Additional Inherited Members

- Protected Member Functions inherited from pkrsrv_ref_counted_t
void pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f)
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
void pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted)
 Increments the reference count of a reference-counted object.
 
void pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted)
 Decrements the reference count of a reference-counted object.
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_service_t::ref_counted

◆ thread

pthread_t pkrsrv_deposit_service_t::thread

◆ is_running

bool pkrsrv_deposit_service_t::is_running

◆ pg_conn

PGconn* pkrsrv_deposit_service_t::pg_conn

◆ pkrsrv_deposit_monero_address

struct pkrsrv_deposit_monero_address

Monero address object.

+ Inheritance diagram for pkrsrv_deposit_monero_address_t:

Public Member Functions

pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_address_new (pkrsrv_string_t *address, int account_index, int index, int payment_id)
 Creates a new Monero address object.
 
void pkrsrv_deposit_monero_address_free (pkrsrv_deposit_monero_address_t *address)
 Frees a Monero address object.
 
pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_create_address (int account_index, int index)
 Creates a new Monero address.
 
- Public Member Functions inherited from pkrsrv_ref_counted_t
#define PKRSRV_REF_COUNTED_INIT(obj, free_f)    pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f);
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
#define PKRSRV_REF_COUNTED_USE(obj)
 Increments the reference count of a reference-counted object.
 
#define PKRSRV_REF_COUNTED_LEAVE(obj)
 Decrements the reference count of a reference-counted object.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pkrsrv_string_t * address
 
int account_index
 
int index
 
int payment_id
 
- Data Fields inherited from pkrsrv_ref_counted_t
int count
 
pkrsrv_ref_free_f_t free_f
 
pthread_mutex_t mutex
 

Additional Inherited Members

- Protected Member Functions inherited from pkrsrv_ref_counted_t
void pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f)
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
void pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted)
 Increments the reference count of a reference-counted object.
 
void pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted)
 Decrements the reference count of a reference-counted object.
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_monero_address_t::ref_counted

◆ address

pkrsrv_string_t* pkrsrv_deposit_monero_address_t::address

◆ account_index

int pkrsrv_deposit_monero_address_t::account_index

◆ index

int pkrsrv_deposit_monero_address_t::index

◆ payment_id

int pkrsrv_deposit_monero_address_t::payment_id

◆ pkrsrv_deposit_monero_tx

struct pkrsrv_deposit_monero_tx

Initializes the deposit service.

+ Inheritance diagram for pkrsrv_deposit_monero_tx_t:

Public Member Functions

pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_new (pkrsrv_deposit_monero_tx_new_params_t params)
 Creates a new Monero transaction object.
 
void pkrsrv_deposit_monero_tx_free (pkrsrv_deposit_monero_tx_t *tx)
 Frees a Monero transaction object.
 
- Public Member Functions inherited from pkrsrv_ref_counted_t
#define PKRSRV_REF_COUNTED_INIT(obj, free_f)    pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f);
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
#define PKRSRV_REF_COUNTED_USE(obj)
 Increments the reference count of a reference-counted object.
 
#define PKRSRV_REF_COUNTED_LEAVE(obj)
 Decrements the reference count of a reference-counted object.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pkrsrv_deposit_monero_tx_t * next
 
pkrsrv_deposit_monero_tx_t * prev
 
pkrsrv_string_t * txid
 
pkrsrv_string_t * address
 
uint64_t amount
 
uint64_t fee
 
uint64_t unlock_time
 
uint64_t timestamp
 
uint64_t height
 
bool is_confirmed
 
- Data Fields inherited from pkrsrv_ref_counted_t
int count
 
pkrsrv_ref_free_f_t free_f
 
pthread_mutex_t mutex
 

Additional Inherited Members

- Protected Member Functions inherited from pkrsrv_ref_counted_t
void pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f)
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
void pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted)
 Increments the reference count of a reference-counted object.
 
void pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted)
 Decrements the reference count of a reference-counted object.
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_monero_tx_t::ref_counted

◆ next

pkrsrv_deposit_monero_tx_t* pkrsrv_deposit_monero_tx_t::next

◆ prev

pkrsrv_deposit_monero_tx_t* pkrsrv_deposit_monero_tx_t::prev

◆ txid

pkrsrv_string_t* pkrsrv_deposit_monero_tx_t::txid

◆ address

pkrsrv_string_t* pkrsrv_deposit_monero_tx_t::address

◆ amount

uint64_t pkrsrv_deposit_monero_tx_t::amount

◆ fee

uint64_t pkrsrv_deposit_monero_tx_t::fee

◆ unlock_time

uint64_t pkrsrv_deposit_monero_tx_t::unlock_time

◆ timestamp

uint64_t pkrsrv_deposit_monero_tx_t::timestamp

◆ height

uint64_t pkrsrv_deposit_monero_tx_t::height

◆ is_confirmed

bool pkrsrv_deposit_monero_tx_t::is_confirmed

◆ pkrsrv_deposit_monero_tx_list

struct pkrsrv_deposit_monero_tx_list

Creates a new Monero transaction object.

Public Member Functions

pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_tx_list_new ()
 Creates a new Monero transaction list object.
 
void pkrsrv_deposit_monero_tx_list_free (pkrsrv_deposit_monero_tx_list_t *list)
 Frees a Monero transaction list object.
 
void pkrsrv_deposit_monero_tx_list_add (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_deposit_monero_tx_t *tx)
 Adds a Monero transaction to the list.
 
void pkrsrv_deposit_monero_tx_list_remove (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_deposit_monero_tx_t *tx)
 Removes a Monero transaction from the list.
 
pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_list_get_by_txid (pkrsrv_deposit_monero_tx_list_t *list, pkrsrv_string_t *txid)
 Gets a Monero transaction from the list by its transaction ID.
 
pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_get_txs (int account_index, int address_index, int min_height)
 Initializes the deposit service.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pkrsrv_deposit_monero_tx_t * next
 
pkrsrv_deposit_monero_tx_t * prev
 
pkrsrv_deposit_monero_tx_t * terminal
 
int length
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_monero_tx_list_t::ref_counted

◆ next

pkrsrv_deposit_monero_tx_t* pkrsrv_deposit_monero_tx_list_t::next

◆ prev

pkrsrv_deposit_monero_tx_t* pkrsrv_deposit_monero_tx_list_t::prev

◆ terminal

pkrsrv_deposit_monero_tx_t* pkrsrv_deposit_monero_tx_list_t::terminal

◆ length

int pkrsrv_deposit_monero_tx_list_t::length

◆ pkrsrv_deposit_monero_tx_new_params

struct pkrsrv_deposit_monero_tx_new_params
Data Fields
pkrsrv_string_t * txid
pkrsrv_string_t * address
uint64_t amount
uint64_t fee
uint64_t unlock_time
uint64_t timestamp
uint64_t height
bool is_confirmed

◆ pkrsrv_deposit_monero_deposit

struct pkrsrv_deposit_monero_deposit

Monero deposit object.

+ Inheritance diagram for pkrsrv_deposit_monero_deposit_t:

Public Member Functions

pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_new (pkrsrv_deposit_monero_deposit_new_params_t params)
 Creates a new Monero deposit object.
 
void pkrsrv_deposit_monero_deposit_free (pkrsrv_deposit_monero_deposit_t *deposit)
 Frees a Monero deposit object.
 
pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_getby_txid (PGconn *pg_conn, pkrsrv_string_t *p_txid)
 Gets a Monero deposit object by its transaction ID.
 
pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_create (PGconn *pg_conn, pkrsrv_deposit_monero_deposit_create_params_t params)
 Creates a deposit on the database.
 
bool pkrsrv_deposit_monero_deposit_update_status (PGconn *pg_conn, pkrsrv_deposit_monero_deposit_t *deposit, pkrsrv_deposit_monero_deposit_status_t status)
 Updates the status of a deposit.
 
- Public Member Functions inherited from pkrsrv_ref_counted_t
#define PKRSRV_REF_COUNTED_INIT(obj, free_f)    pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f);
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
#define PKRSRV_REF_COUNTED_USE(obj)
 Increments the reference count of a reference-counted object.
 
#define PKRSRV_REF_COUNTED_LEAVE(obj)
 Decrements the reference count of a reference-counted object.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pkrsrv_deposit_monero_deposit_t * next
 
pkrsrv_deposit_monero_deposit_t * prev
 
uint64_t id
 
pkrsrv_account_t * account
 
pkrsrv_string_t * txid
 
uint64_t timestamp
 
uint64_t amount
 
pkrsrv_string_t * to_address
 
pkrsrv_deposit_monero_deposit_status_t status
 
- Data Fields inherited from pkrsrv_ref_counted_t
int count
 
pkrsrv_ref_free_f_t free_f
 
pthread_mutex_t mutex
 

Additional Inherited Members

- Protected Member Functions inherited from pkrsrv_ref_counted_t
void pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f)
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
void pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted)
 Increments the reference count of a reference-counted object.
 
void pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted)
 Decrements the reference count of a reference-counted object.
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_monero_deposit_t::ref_counted

◆ next

pkrsrv_deposit_monero_deposit_t* pkrsrv_deposit_monero_deposit_t::next

◆ prev

pkrsrv_deposit_monero_deposit_t* pkrsrv_deposit_monero_deposit_t::prev

◆ id

uint64_t pkrsrv_deposit_monero_deposit_t::id

◆ account

pkrsrv_account_t* pkrsrv_deposit_monero_deposit_t::account

◆ txid

pkrsrv_string_t* pkrsrv_deposit_monero_deposit_t::txid

◆ timestamp

uint64_t pkrsrv_deposit_monero_deposit_t::timestamp

◆ amount

uint64_t pkrsrv_deposit_monero_deposit_t::amount

◆ to_address

pkrsrv_string_t* pkrsrv_deposit_monero_deposit_t::to_address

◆ status

pkrsrv_deposit_monero_deposit_status_t pkrsrv_deposit_monero_deposit_t::status

◆ pkrsrv_deposit_monero_deposit_new_params_t

struct pkrsrv_deposit_monero_deposit_new_params_t
Data Fields
uint64_t id
pkrsrv_account_t * account
pkrsrv_string_t * txid
uint64_t timestamp
uint64_t amount
pkrsrv_string_t * to_address
pkrsrv_deposit_monero_deposit_status_t status

◆ pkrsrv_deposit_monero_deposit_list

struct pkrsrv_deposit_monero_deposit_list

Monero deposit list object.

+ Inheritance diagram for pkrsrv_deposit_monero_deposit_list_t:

Public Member Functions

pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_deposit_list_new ()
 Creates a new Monero deposit list object.
 
void pkrsrv_deposit_monero_deposit_list_free (pkrsrv_deposit_monero_deposit_list_t *list)
 Frees a Monero deposit list object.
 
void pkrsrv_deposit_monero_deposit_list_add (pkrsrv_deposit_monero_deposit_list_t *list, pkrsrv_deposit_monero_deposit_t *deposit)
 Adds a Monero deposit to the list.
 
void pkrsrv_deposit_monero_deposit_list_remove (pkrsrv_deposit_monero_deposit_list_t *list, pkrsrv_deposit_monero_deposit_t *deposit)
 Removes a Monero deposit from the list.
 
pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_get_deposits (PGconn *pg_conn, pkrsrv_deposit_monero_get_deposits_params_t params)
 Retrieves deposits from the database.
 
- Public Member Functions inherited from pkrsrv_ref_counted_t
#define PKRSRV_REF_COUNTED_INIT(obj, free_f)    pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f);
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
#define PKRSRV_REF_COUNTED_USE(obj)
 Increments the reference count of a reference-counted object.
 
#define PKRSRV_REF_COUNTED_LEAVE(obj)
 Decrements the reference count of a reference-counted object.
 

Data Fields

pkrsrv_ref_counted_t ref_counted
 
pkrsrv_deposit_monero_deposit_t * next
 
pkrsrv_deposit_monero_deposit_t * prev
 
pkrsrv_deposit_monero_deposit_t * terminal
 
int length
 
- Data Fields inherited from pkrsrv_ref_counted_t
int count
 
pkrsrv_ref_free_f_t free_f
 
pthread_mutex_t mutex
 

Additional Inherited Members

- Protected Member Functions inherited from pkrsrv_ref_counted_t
void pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f)
 Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation.
 
void pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted)
 Increments the reference count of a reference-counted object.
 
void pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted)
 Decrements the reference count of a reference-counted object.
 

Field Documentation

◆ ref_counted

pkrsrv_ref_counted_t pkrsrv_deposit_monero_deposit_list_t::ref_counted

◆ next

pkrsrv_deposit_monero_deposit_t* pkrsrv_deposit_monero_deposit_list_t::next

◆ prev

pkrsrv_deposit_monero_deposit_t* pkrsrv_deposit_monero_deposit_list_t::prev

◆ terminal

pkrsrv_deposit_monero_deposit_t* pkrsrv_deposit_monero_deposit_list_t::terminal

◆ length

int pkrsrv_deposit_monero_deposit_list_t::length

◆ pkrsrv_deposit_monero_get_deposits_param

struct pkrsrv_deposit_monero_get_deposits_param
Data Fields
pkrsrv_account_t * account
pkrsrv_deposit_monero_deposit_status_t status
int min_height
int max_height
int offset
int limit

◆ pkrsrv_deposit_monero_deposit_create_params

struct pkrsrv_deposit_monero_deposit_create_params
Data Fields
pkrsrv_account_t * account
pkrsrv_string_t * txid
uint64_t timestamp
uint64_t amount
pkrsrv_string_t * to_address
pkrsrv_deposit_monero_deposit_status_t status

Macro Definition Documentation

◆ PKRSRV_DEPOSIT_SERVICE_DELAY

#define PKRSRV_DEPOSIT_SERVICE_DELAY   10000

◆ PKRSRV_DEPOSIT_MONERO_MIN_CONFIRMATIONS

#define PKRSRV_DEPOSIT_MONERO_MIN_CONFIRMATIONS   1

Enumeration Type Documentation

◆ pkrsrv_deposit_monero_deposit_status_t

Enumerator
PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_NONE 
PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_PENDING 
PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_CONFIRMED 
PKRSRV_DEPOSIT_MONERO_DEPOSIT_STATUS_FAILED 

Function Documentation

◆ pkrsrv_deposit_monero_wallet_rpc_call()

pkrsrv_string_t * pkrsrv_deposit_monero_wallet_rpc_call ( char * method,
char * params )

Makes a Monero wallet RPC call.

Parameters
methodMethod to call (C-str)
paramsParameters to pass (C-str)
Returns
Response pkrsrv_string

◆ pkrsrv_deposit_monero_wallet_open()

bool pkrsrv_deposit_monero_wallet_open ( char * wallet_name,
char * password )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_wallet_close()

bool pkrsrv_deposit_monero_wallet_close ( )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_wallet_create()

bool pkrsrv_deposit_monero_wallet_create ( char * wallet_name,
char * password )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_get_main_address()

pkrsrv_string_t * pkrsrv_deposit_monero_get_main_address ( )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_get_balance()

bool pkrsrv_deposit_monero_get_balance ( uint64_t * balance,
uint64_t * unlocked_balance )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_get_address_balance()

bool pkrsrv_deposit_monero_get_address_balance ( char * address,
uint64_t * balance,
uint64_t * unlocked_balance )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_get_height()

uint64_t pkrsrv_deposit_monero_get_height ( )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_address_new()

pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_address_new ( pkrsrv_string_t * address,
int account_index,
int index,
int payment_id )

Creates a new Monero address object.

◆ pkrsrv_deposit_monero_address_free()

void pkrsrv_deposit_monero_address_free ( pkrsrv_deposit_monero_address_t * address)

Frees a Monero address object.

◆ pkrsrv_deposit_monero_create_address()

pkrsrv_deposit_monero_address_t * pkrsrv_deposit_monero_create_address ( int account_index,
int index )

Creates a new Monero address.

◆ pkrsrv_deposit_service_new()

pkrsrv_deposit_service_t * pkrsrv_deposit_service_new ( )

Creates a new deposit service object.

◆ pkrsrv_deposit_service_free()

void pkrsrv_deposit_service_free ( pkrsrv_deposit_service_t * service)

Frees a deposit service object.

◆ pkrsrv_deposit_service_start()

void pkrsrv_deposit_service_start ( pkrsrv_deposit_service_t * service)

Starts the deposit service.

◆ pkrsrv_deposit_service_stop()

void pkrsrv_deposit_service_stop ( pkrsrv_deposit_service_t * service)

Stops the deposit service.

◆ pkrsrv_deposit_service_thread_f()

void pkrsrv_deposit_service_thread_f ( pkrsrv_deposit_service_t * service)

Deposit service thread function.

◆ pkrsrv_deposit_monero_tx_new()

pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_new ( pkrsrv_deposit_monero_tx_new_params_t params)

Creates a new Monero transaction object.

◆ pkrsrv_deposit_monero_tx_free()

void pkrsrv_deposit_monero_tx_free ( pkrsrv_deposit_monero_tx_t * tx)

Frees a Monero transaction object.

◆ pkrsrv_deposit_monero_tx_list_new()

pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_tx_list_new ( )

Creates a new Monero transaction list object.

◆ pkrsrv_deposit_monero_tx_list_free()

void pkrsrv_deposit_monero_tx_list_free ( pkrsrv_deposit_monero_tx_list_t * list)

Frees a Monero transaction list object.

◆ pkrsrv_deposit_monero_tx_list_add()

void pkrsrv_deposit_monero_tx_list_add ( pkrsrv_deposit_monero_tx_list_t * list,
pkrsrv_deposit_monero_tx_t * tx )

Adds a Monero transaction to the list.

◆ pkrsrv_deposit_monero_tx_list_remove()

void pkrsrv_deposit_monero_tx_list_remove ( pkrsrv_deposit_monero_tx_list_t * list,
pkrsrv_deposit_monero_tx_t * tx )

Removes a Monero transaction from the list.

◆ pkrsrv_deposit_monero_tx_list_get_by_txid()

pkrsrv_deposit_monero_tx_t * pkrsrv_deposit_monero_tx_list_get_by_txid ( pkrsrv_deposit_monero_tx_list_t * list,
pkrsrv_string_t * txid )

Gets a Monero transaction from the list by its transaction ID.

◆ pkrsrv_deposit_monero_get_txs()

pkrsrv_deposit_monero_tx_list_t * pkrsrv_deposit_monero_get_txs ( int account_index,
int address_index,
int min_height )

Initializes the deposit service.

◆ pkrsrv_deposit_monero_deposit_new()

pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_new ( pkrsrv_deposit_monero_deposit_new_params_t params)

Creates a new Monero deposit object.

◆ pkrsrv_deposit_monero_deposit_free()

void pkrsrv_deposit_monero_deposit_free ( pkrsrv_deposit_monero_deposit_t * deposit)

Frees a Monero deposit object.

◆ pkrsrv_deposit_monero_deposit_getby_txid()

pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_getby_txid ( PGconn * pg_conn,
pkrsrv_string_t * p_txid )

Gets a Monero deposit object by its transaction ID.

◆ pkrsrv_deposit_monero_deposit_list_new()

pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_deposit_list_new ( )

Creates a new Monero deposit list object.

◆ pkrsrv_deposit_monero_deposit_list_free()

void pkrsrv_deposit_monero_deposit_list_free ( pkrsrv_deposit_monero_deposit_list_t * list)

Frees a Monero deposit list object.

◆ pkrsrv_deposit_monero_deposit_list_add()

void pkrsrv_deposit_monero_deposit_list_add ( pkrsrv_deposit_monero_deposit_list_t * list,
pkrsrv_deposit_monero_deposit_t * deposit )

Adds a Monero deposit to the list.

◆ pkrsrv_deposit_monero_deposit_list_remove()

void pkrsrv_deposit_monero_deposit_list_remove ( pkrsrv_deposit_monero_deposit_list_t * list,
pkrsrv_deposit_monero_deposit_t * deposit )

Removes a Monero deposit from the list.

◆ pkrsrv_deposit_monero_get_deposits()

pkrsrv_deposit_monero_deposit_list_t * pkrsrv_deposit_monero_get_deposits ( PGconn * pg_conn,
pkrsrv_deposit_monero_get_deposits_params_t params )

Retrieves deposits from the database.

◆ pkrsrv_deposit_monero_deposit_create()

pkrsrv_deposit_monero_deposit_t * pkrsrv_deposit_monero_deposit_create ( PGconn * pg_conn,
pkrsrv_deposit_monero_deposit_create_params_t params )

Creates a deposit on the database.

◆ pkrsrv_deposit_monero_deposit_update_status()

bool pkrsrv_deposit_monero_deposit_update_status ( PGconn * pg_conn,
pkrsrv_deposit_monero_deposit_t * deposit,
pkrsrv_deposit_monero_deposit_status_t status )

Updates the status of a deposit.