mirror of
https://codeberg.org/wownero/wownero-lws
synced 2026-01-10 23:55:16 -08:00
Add (working draft) subaddress support (#83)
This commit is contained in:
committed by
Lee *!* Clagett
parent
e09d3d57e9
commit
b4426b4a74
@@ -52,6 +52,8 @@ namespace db
|
||||
MONERO_CURSOR(spends);
|
||||
MONERO_CURSOR(images);
|
||||
MONERO_CURSOR(requests);
|
||||
MONERO_CURSOR(subaddress_ranges);
|
||||
MONERO_CURSOR(subaddress_indexes);
|
||||
|
||||
MONERO_CURSOR(blocks);
|
||||
MONERO_CURSOR(accounts_by_address);
|
||||
@@ -133,6 +135,13 @@ namespace db
|
||||
expect<request_info>
|
||||
get_request(request type, account_address const& address, cursor::requests cur = nullptr) noexcept;
|
||||
|
||||
//! \return All subaddresses activated for account `id`.
|
||||
expect<std::vector<subaddress_dict>> get_subaddresses(account_id id, cursor::subaddress_ranges cur = nullptr) noexcept;
|
||||
|
||||
//! \return A specific subaddress index
|
||||
expect<address_index>
|
||||
find_subaddress(account_id id, crypto::public_key const& spend_public, cursor::subaddress_indexes& cur) noexcept;
|
||||
|
||||
//! \return All webhook values associated with user `key` and `payment_id`.
|
||||
expect<std::vector<webhook_value>>
|
||||
find_webhook(webhook_key const& key, crypto::hash8 const& payment_id, cursor::webhooks cur = nullptr);
|
||||
@@ -243,6 +252,24 @@ namespace db
|
||||
expect<std::pair<std::size_t, std::vector<webhook_tx_confirmation>>>
|
||||
update(block_id height, epee::span<const crypto::hash> chain, epee::span<const lws::account> accts);
|
||||
|
||||
/*!
|
||||
Adds subaddresses to an account. Upon success, an account will
|
||||
immediately begin tracking them in the scanner.
|
||||
|
||||
\param id of the account to associate new indexes
|
||||
\param addresss of the account (needed to generate subaddress publc key)
|
||||
\param view_key of the account (needed to generate subaddress public key)
|
||||
\param subaddrs Range of subaddress indexes that need to be added to the
|
||||
database. Indexes _may_ overlap with existing indexes.
|
||||
\param max_subaddresses The maximum number of subaddresses allowed per
|
||||
account.
|
||||
|
||||
\return The new ranges of subaddress indexes added to the database
|
||||
(whereas `subaddrs` may overlap with existing indexes).
|
||||
*/
|
||||
expect<std::vector<subaddress_dict>>
|
||||
upsert_subaddresses(account_id id, const account_address& address, const crypto::secret_key& view_key, std::vector<subaddress_dict> subaddrs, std::uint32_t max_subaddresses);
|
||||
|
||||
/*!
|
||||
Add webhook to be tracked in the database. The webhook will "call"
|
||||
the specified URL with JSON/msgpack information when the event occurs.
|
||||
|
||||
Reference in New Issue
Block a user