Skip to content

EnoteRecords

SNeedlewoods edited this page Jan 12, 2024 · 2 revisions

EnoteRecords

General

EnoteRecords ¹ are records of Enotes owned by some wallet.
In the context of this documentation the term:

  • EnoteRecord refers to all possible types
    (Legacy/Sp)(Basic/Intermediate/"Full")EnoteRecord(V1)
    (Note: word "Full" is omitted; V1 suffix only for Sp)
  • Legacy refers to pre-seraphis-fork (cryptonote/ringct)
  • Sp refers to post-seraphis-fork
  • Basic means the EnoteVariant is identified as owned (Legacy: view-key scanned) or possibly owned (Sp: passed view-tag check)
  • Intermediate means the EnoteRecord contains some more information (amount, amount_blinding_factor and enote_view_extension/input_context (Legacy/Sp))
    (Sp: jamtis non-selfsend enote type only)
  • "Full" means the EnoteRecord contains all information (Legacy: view-key scanned + key-image computed; Sp: fully view-scanned with a jamtis view-balance key)

Content

(non-standard types only)

Legacy Sp
Basic struct LegacyEnoteVariant ²
struct rct::key ³
struct cryptonote::subaddress_index
struct SpEnoteVariant
struct crypto::x25519_pubkey
struct rct::key ³
struct jamtis::address_tag_t
Intermediate struct LegacyEnoteVariant ²
struct rct::key ³
crypto::secret_key*
typedef uint64_t rct::xmr_amount ³
struct cryptonote::subaddress_index
struct SpEnoteVariant
struct crypto::x25519_pubkey
struct rct::key ³
typedef uint64_t rct::xmr_amount ³
crypto::secret_key*
struct jamtis::address_tag_t
"Full" struct LegacyEnoteVariant ²
struct rct::key ³
crypto::secret_key*
typedef uint64_t rct::xmr_amount ³
struct crypto::key_image
struct cryptonote::subaddress_index
struct SpEnoteVariant
struct crypto::x25519_pubkey
struct rct::key ³
typedef uint64_t rct::xmr_amount ³
crypto::secret_key*
struct crypto::key_image
struct jamtis::address_tag_t
enum jamtis::JamtisEnoteType

*

using crypto::secret_key = epee::mlocked<tools::scrubbed¹⁰<ec_scalar>>;
struct ec_scalar { char data[32]; };


All EnoteRecord Types

  1. LegacyBasicEnoteRecord
  2. LegacyIntermediateEnoteRecord
  3. LegacyEnoteRecord
  4. SpBasicEnoteRecordV1
  5. SpIntermediateEnoteRecordV1
  6. SpEnoteRecordV1

Source files

¹ src/seraphis_main/enote_record_types.h [view]
² src/seraphis_core/legacy_enote_types.h [view]
³ src/ringct/rctTypes.h [view]
src/cryptonote_basic/subaddress_index.h [view]
src/crypto/crypto.h [view]
src/seraphis_main/tx_component_types.h [view]
src/crypto/x25519.h [view]
src/seraphis_core/jamtis_support_types.h [view]
contrib/epee/include/mlocker.h [view]
¹⁰ contrib/epee/include/memwipe.h [view]


back to Documentation

Clone this wiki locally