Skip to content
SNeedlewoods edited this page Jan 11, 2024 · 1 revision

Enotes

General

Enotes (electronic banknotes) are the "constructs that carry XMR within transactions" (more on the name here). The common denominator for all the different enote-types is, they have an onetime_address and either an amount (coinbase) or amount_commitment (regular).
In the context of this documentation the term:

  • Enote refers to all possible types
    (Legacy/Sp("Regular"/Coinbase))Enote(V1/V2/V3/V4/V5)
    (Note: word "Regular" is omitted)
  • Legacy refers to pre-seraphis-fork (cryptonote/ringct)
  • Sp refers to post-seraphis-fork
  • "Regular" refers to a normal transaction
  • Coinbase refers to a miner transaction
  • V1-V5 is the enote's version number

Content

Legacy ¹
V1 rct::key² onetime_address
rct::xmr_amount² amount
V2 rct::key onetime_address
rct::key amount_commitment
rct::key encoded_amount_blinding_factor
rct::key encoded_amount
V3 rct::key onetime_address
rct::key amount_commitment
jamtis::encoded_amount_t³ encoded_amount
V4 rct::key onetime_address
rct::xmr_amount amount
crypto::view_tag view_tag
V5 rct::key onetime_address
rct::key amount_commitment
jamtis::encoded_amount_t encoded_amount
crypto::view_tag view_tag
Sp SpCoinbase
V1 SpEnoteCore core
jamtis::encrypted_address_tag_t³ addr_tag_enc
jamtis::view_tag_t³ view_tag
SpCoinbaseEnoteCore core
jamtis::encrypted_address_tag_t addr_tag_enc
jamtis::encoded_amount_t encoded_amount
jamtis::view_tag_t view_tag

All Enote Types

  1. LegacyEnoteV1
  2. LegacyEnoteV2
  3. LegacyEnoteV3
  4. LegacyEnoteV4
  5. LegacyEnoteV5
  6. SpEnoteV1
  7. SpCoinbaseEnoteV1

Source files

¹ src/seraphis_core/legacy_enote_types.h [view]
² src/ringct/rctTypes.h [view]
³ src/seraphis_core/jamtis_support_types.h [view]
src/crypto/crypto.h [view]
src/seraphis_main/tx_component_types.h [view]
src/seraphis_core/sp_core_types.h [view]


back to Documentation

Clone this wiki locally