Skip to main content

nym_compact_ecash/
constants.rs

1// Copyright 2024 - Nym Technologies SA <contact@nymtech.net>
2// SPDX-License-Identifier: Apache-2.0
3
4use nym_bls12_381_fork::Scalar;
5use nym_network_defaults::ecash::TICKETBOOK_VALIDITY_DAYS;
6use nym_network_defaults::TICKETBOOK_SIZE;
7
8pub const PUBLIC_ATTRIBUTES_LEN: usize = 2; //expiration date and ticket type
9pub const PRIVATE_ATTRIBUTES_LEN: usize = 2; //user and wallet secret
10pub const ATTRIBUTES_LEN: usize = PUBLIC_ATTRIBUTES_LEN + PRIVATE_ATTRIBUTES_LEN; // number of attributes encoded in a single zk-nym credential
11
12pub const CRED_VALIDITY_PERIOD_DAYS: u32 = TICKETBOOK_VALIDITY_DAYS;
13
14pub(crate) const SECONDS_PER_DAY: u32 = 86400;
15
16/// Total number of tickets in each issued ticket book.
17pub const NB_TICKETS: u64 = TICKETBOOK_SIZE;
18
19pub const TYPE_EXP: Scalar = Scalar::from_raw([
20    u64::from_le_bytes(*b"ZKNYMEXP"),
21    u64::from_le_bytes(*b"IRATIOND"),
22    u64::from_le_bytes(*b"ATE4llCB"),
23    u64::from_le_bytes(*b"MEypAxr3"),
24]);
25pub const TYPE_IDX: Scalar = Scalar::from_raw([
26    u64::from_le_bytes(*b"ZKNYMSIN"),
27    u64::from_le_bytes(*b"DICESh^7"),
28    u64::from_le_bytes(*b"gTYbhnap"),
29    u64::from_le_bytes(*b"*12n5GG6"),
30]);