diff --git a/core_primitives/Cargo.toml b/core_primitives/Cargo.toml deleted file mode 100644 index 510dfd7..0000000 --- a/core_primitives/Cargo.toml +++ /dev/null @@ -1,27 +0,0 @@ -[package] -name = "core_primitives" -version = "0.1.0" -edition = "2021" - -[dependencies] -anyhow.workspace = true -serde_json.workspace = true -env_logger.workspace = true -log.workspace = true -serde.workspace = true -sha2.workspace = true -elliptic-curve.workspace = true -monotree.workspace = true - -[dependencies.secp256k1-zkp] -workspace = true -features = ["std", "rand-std", "rand", "serde", "global-context"] - -[dependencies.storage] -path = "../storage" - -[dependencies.sequencer_core] -path = "../sequencer_core" - -[dependencies.common] -path = "../common" diff --git a/core_primitives/src/commitment.rs b/core_primitives/src/commitment.rs deleted file mode 100644 index 49647ad..0000000 --- a/core_primitives/src/commitment.rs +++ /dev/null @@ -1,16 +0,0 @@ -use crate::merkle_tree_public::CommitmentHashType; -use monotree::database::MemoryDB; -use monotree::hasher::Blake3; -use monotree::Monotree; -use serde::{Deserialize, Serialize}; - -#[derive(Debug, Serialize, Deserialize, Clone, Default, PartialEq, Eq)] -pub struct Commitment { - pub commitment_hash: CommitmentHashType, -} - -pub struct CommitmentsSparseMerkleTree { - pub curr_root: Option, - pub tree: Monotree, - pub hasher: Blake3, -} diff --git a/core_primitives/src/lib.rs b/core_primitives/src/lib.rs deleted file mode 100644 index 08f4269..0000000 --- a/core_primitives/src/lib.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod commitment; -pub mod merkle_tree_public; -pub mod nullifier; -pub mod transaction; -pub mod utxo; diff --git a/core_primitives/src/merkle_tree_public.rs b/core_primitives/src/merkle_tree_public.rs deleted file mode 100644 index b13d4ba..0000000 --- a/core_primitives/src/merkle_tree_public.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub type TreeHashType = [u8; 32]; -pub type CommitmentHashType = Vec; diff --git a/core_primitives/src/nullifier.rs b/core_primitives/src/nullifier.rs deleted file mode 100644 index d539749..0000000 --- a/core_primitives/src/nullifier.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::merkle_tree_public::TreeHashType; -use monotree::database::MemoryDB; -use monotree::hasher::Blake3; -use monotree::Monotree; -use serde::{Deserialize, Serialize}; - -//ToDo: Update Nullifier model, when it is clear -#[derive(Debug, Serialize, Deserialize, Clone, Default, PartialEq, Eq)] -///General nullifier object -pub struct UTXONullifier { - pub utxo_hash: TreeHashType, -} - -pub struct NullifierSparseMerkleTree { - pub curr_root: Option, - pub tree: Monotree, - pub hasher: Blake3, -} diff --git a/core_primitives/src/transaction.rs b/core_primitives/src/transaction.rs deleted file mode 100644 index 5dbf226..0000000 --- a/core_primitives/src/transaction.rs +++ /dev/null @@ -1,70 +0,0 @@ -use serde::{Deserialize, Serialize}; - -use crate::merkle_tree_public::TreeHashType; - -use elliptic_curve::{ - consts::{B0, B1}, - generic_array::GenericArray, -}; -use secp256k1_zkp::PedersenCommitment; -use sha2::digest::typenum::{UInt, UTerm}; - -pub type CipherText = Vec; -pub type Nonce = GenericArray, B1>, B0>, B0>>; - -#[derive(Debug, Serialize, Deserialize, Clone, Copy)] -pub enum TxKind { - Public, - Private, - Shielded, - Deshielded, -} - -#[derive(Debug, Serialize, Deserialize, Clone)] -///General transaction object -pub struct Transaction { - pub hash: TreeHashType, - pub tx_kind: TxKind, - ///Tx input data (public part) - pub execution_input: Vec, - ///Tx output data (public_part) - pub execution_output: Vec, - ///Tx input utxo commitments - pub utxo_commitments_spent_hashes: Vec, - ///Tx output utxo commitments - pub utxo_commitments_created_hashes: Vec, - ///Tx output nullifiers - pub nullifier_created_hashes: Vec, - ///Execution proof (private part) - pub execution_proof_private: String, - ///Encoded blobs of data - pub encoded_data: Vec<(CipherText, Vec)>, - ///Transaction senders ephemeral pub key - pub ephemeral_pub_key: Vec, - ///Public (Pedersen) commitment - pub commitment: PedersenCommitment, -} - -#[derive(Debug, Serialize, Deserialize, Clone)] -///General transaction object -pub struct TransactionPayload { - pub tx_kind: TxKind, - ///Tx input data (public part) - pub execution_input: Vec, - ///Tx output data (public_part) - pub execution_output: Vec, - ///Tx input utxo commitments - pub utxo_commitments_spent_hashes: Vec, - ///Tx output utxo commitments - pub utxo_commitments_created_hashes: Vec, - ///Tx output nullifiers - pub nullifier_created_hashes: Vec, - ///Execution proof (private part) - pub execution_proof_private: String, - ///Encoded blobs of data - pub encoded_data: Vec<(CipherText, Vec)>, - ///Transaction senders ephemeral pub key - pub ephemeral_pub_key: Vec, - ///Public (Pedersen) commitment - pub commitment: PedersenCommitment, -} diff --git a/core_primitives/src/utxo.rs b/core_primitives/src/utxo.rs deleted file mode 100644 index e931df6..0000000 --- a/core_primitives/src/utxo.rs +++ /dev/null @@ -1,26 +0,0 @@ -use common::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId}; -use serde::{Deserialize, Serialize}; - -///Raw asset data -pub type Asset = Vec; - -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] -///Container for raw utxo payload -pub struct UTXO { - pub hash: TreeHashType, - pub owner: AccountId, - pub nullifier: Option, - pub asset: Asset, - // TODO: change to u256 - pub amount: u128, - pub privacy_flag: bool, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct UTXOPayload { - pub owner: AccountId, - pub asset: Asset, - // TODO: change to u256 - pub amount: u128, - pub privacy_flag: bool, -}