b3d02e3ba7
* ns-api: remove sqlite support ns-api: add env var to skip migrations for local dev ns-api: tidy up imports ns-api: fix deserialisation fo node descriptions update dockerfile update README fix up README and example env ns-api: bump major version to 4 ns-api: add more geoip data and new performance field in dvpn responses * ability to import partial ticketbooks * wip: adding common ecash state to NS API * buffering ticketbooks * wip * distribute tickets when getting testrun assignment * passing ticketbook data to gateway probe * wrapped around storage tx * ticketbook query fixes * clippy * modified testrun assignment to always return tickets * Update version * Update push-node-status-agent.yaml * Update Cargo.toml * add entrypoint for ns agents * sqlx prepare and cargo fmt * clippy fixes * Update ci-check-ns-api-version.yml --------- Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com> Co-authored-by: benedetta davico <46782255+benedettadavico@users.noreply.github.com> Co-authored-by: benedettadavico <benedetta.davico@gmail.com>
81 lines
2.0 KiB
Rust
81 lines
2.0 KiB
Rust
// Copyright 2022-2024 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
use nym_credentials::{IssuanceTicketBook, IssuedTicketBook};
|
|
use nym_ecash_time::Date;
|
|
use zeroize::{Zeroize, ZeroizeOnDrop};
|
|
|
|
pub struct RetrievedTicketbook {
|
|
pub ticketbook_id: i64,
|
|
pub total_tickets: u32,
|
|
pub ticketbook: IssuedTicketBook,
|
|
}
|
|
|
|
pub struct RetrievedPendingTicketbook {
|
|
pub pending_id: i64,
|
|
pub pending_ticketbook: IssuanceTicketBook,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
pub struct BasicTicketbookInformation {
|
|
pub id: i64,
|
|
pub expiration_date: Date,
|
|
pub ticketbook_type: String,
|
|
pub epoch_id: u32,
|
|
pub total_tickets: u32,
|
|
pub used_tickets: u32,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
#[derive(Zeroize, ZeroizeOnDrop, Clone)]
|
|
pub struct StoredIssuedTicketbook {
|
|
pub id: i64,
|
|
|
|
pub serialization_revision: u8,
|
|
|
|
pub ticketbook_type: String,
|
|
|
|
pub ticketbook_data: Vec<u8>,
|
|
|
|
#[zeroize(skip)]
|
|
pub expiration_date: Date,
|
|
|
|
pub epoch_id: u32,
|
|
|
|
pub total_tickets: u32,
|
|
pub used_tickets: u32,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
#[derive(Zeroize, ZeroizeOnDrop, Clone)]
|
|
pub struct StoredPendingTicketbook {
|
|
pub deposit_id: i64,
|
|
|
|
pub serialization_revision: u8,
|
|
|
|
pub pending_ticketbook_data: Vec<u8>,
|
|
|
|
#[zeroize(skip)]
|
|
pub expiration_date: Date,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
pub struct RawExpirationDateSignatures {
|
|
pub serialised_signatures: Vec<u8>,
|
|
pub serialization_revision: u8,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
pub struct RawCoinIndexSignatures {
|
|
pub epoch_id: u32,
|
|
pub serialised_signatures: Vec<u8>,
|
|
pub serialization_revision: u8,
|
|
}
|
|
|
|
#[cfg_attr(not(target_arch = "wasm32"), derive(sqlx::FromRow))]
|
|
pub struct RawVerificationKey {
|
|
pub epoch_id: u32,
|
|
pub serialised_key: Vec<u8>,
|
|
pub serialization_revision: u8,
|
|
}
|