-
Notifications
You must be signed in to change notification settings - Fork 0
EnoteRecords
SNeedlewoods edited this page Jan 12, 2024
·
2 revisions
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
andenote_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)
(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]; }; ⁵
- LegacyBasicEnoteRecord
- LegacyIntermediateEnoteRecord
- LegacyEnoteRecord
- SpBasicEnoteRecordV1
- SpIntermediateEnoteRecordV1
- SpEnoteRecordV1
¹ 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