mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-01-04 06:13:10 +00:00
fix: refactor 1
This commit is contained in:
parent
46361868ed
commit
8e4956891c
41
Cargo.lock
generated
41
Cargo.lock
generated
@ -8,6 +8,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm",
|
"aes-gcm",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"common",
|
||||||
"elliptic-curve",
|
"elliptic-curve",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"hex",
|
"hex",
|
||||||
@ -17,7 +18,6 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2 0.10.8",
|
"sha2 0.10.8",
|
||||||
"storage",
|
|
||||||
"utxo",
|
"utxo",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1078,12 +1078,17 @@ name = "common"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"elliptic-curve",
|
||||||
|
"hex",
|
||||||
|
"log",
|
||||||
"monotree",
|
"monotree",
|
||||||
"reqwest 0.11.27",
|
"reqwest 0.11.27",
|
||||||
"risc0-zkvm",
|
"risc0-zkvm",
|
||||||
"rpc_primitives",
|
"rs_merkle",
|
||||||
|
"secp256k1-zkp",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
"sha2 0.10.8",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1150,6 +1155,7 @@ name = "core_primitives"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"common",
|
||||||
"elliptic-curve",
|
"elliptic-curve",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"log",
|
"log",
|
||||||
@ -3110,7 +3116,6 @@ dependencies = [
|
|||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"reqwest 0.11.27",
|
"reqwest 0.11.27",
|
||||||
"risc0-zkvm",
|
"risc0-zkvm",
|
||||||
"rpc_primitives",
|
|
||||||
"sc_core",
|
"sc_core",
|
||||||
"secp256k1-zkp",
|
"secp256k1-zkp",
|
||||||
"serde",
|
"serde",
|
||||||
@ -3141,7 +3146,6 @@ dependencies = [
|
|||||||
"log",
|
"log",
|
||||||
"networking",
|
"networking",
|
||||||
"node_core",
|
"node_core",
|
||||||
"rpc_primitives",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"storage",
|
"storage",
|
||||||
@ -3160,13 +3164,13 @@ dependencies = [
|
|||||||
"actix-web",
|
"actix-web",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
|
"common",
|
||||||
"consensus",
|
"consensus",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"log",
|
"log",
|
||||||
"networking",
|
"networking",
|
||||||
"node_core",
|
"node_core",
|
||||||
"node_rpc",
|
"node_rpc",
|
||||||
"rpc_primitives",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"storage",
|
"storage",
|
||||||
@ -4368,19 +4372,6 @@ dependencies = [
|
|||||||
"librocksdb-sys",
|
"librocksdb-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rpc_primitives"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"env_logger",
|
|
||||||
"log",
|
|
||||||
"sequencer_core",
|
|
||||||
"serde",
|
|
||||||
"serde_json",
|
|
||||||
"storage",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rrs-lib"
|
name = "rrs-lib"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
@ -4680,6 +4671,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"accounts",
|
"accounts",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"common",
|
||||||
"elliptic-curve",
|
"elliptic-curve",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"k256",
|
"k256",
|
||||||
@ -4700,6 +4692,7 @@ dependencies = [
|
|||||||
"actix-cors",
|
"actix-cors",
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"common",
|
||||||
"consensus",
|
"consensus",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"futures",
|
"futures",
|
||||||
@ -4707,7 +4700,6 @@ dependencies = [
|
|||||||
"log",
|
"log",
|
||||||
"mempool",
|
"mempool",
|
||||||
"networking",
|
"networking",
|
||||||
"rpc_primitives",
|
|
||||||
"sequencer_core",
|
"sequencer_core",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@ -4723,12 +4715,12 @@ dependencies = [
|
|||||||
"actix-web",
|
"actix-web",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
|
"common",
|
||||||
"consensus",
|
"consensus",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"log",
|
"log",
|
||||||
"mempool",
|
"mempool",
|
||||||
"networking",
|
"networking",
|
||||||
"rpc_primitives",
|
|
||||||
"sequencer_core",
|
"sequencer_core",
|
||||||
"sequencer_rpc",
|
"sequencer_rpc",
|
||||||
"serde",
|
"serde",
|
||||||
@ -4969,18 +4961,14 @@ name = "storage"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"elliptic-curve",
|
"common",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"hex",
|
"hex",
|
||||||
"log",
|
"log",
|
||||||
"lru",
|
"lru",
|
||||||
"monotree",
|
|
||||||
"rocksdb",
|
"rocksdb",
|
||||||
"rs_merkle",
|
|
||||||
"secp256k1-zkp",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2 0.10.8",
|
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -5522,6 +5510,7 @@ name = "utxo"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"common",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"hex",
|
"hex",
|
||||||
"log",
|
"log",
|
||||||
@ -5529,7 +5518,6 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2 0.10.8",
|
"sha2 0.10.8",
|
||||||
"storage",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -6238,7 +6226,6 @@ dependencies = [
|
|||||||
"risc0-zkvm",
|
"risc0-zkvm",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"storage",
|
|
||||||
"test-methods",
|
"test-methods",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
"utxo",
|
"utxo",
|
||||||
|
|||||||
@ -15,7 +15,6 @@ members = [
|
|||||||
"zkvm",
|
"zkvm",
|
||||||
"node_core",
|
"node_core",
|
||||||
"sequencer_core",
|
"sequencer_core",
|
||||||
"rpc_primitives",
|
|
||||||
"common",
|
"common",
|
||||||
"sc_core",
|
"sc_core",
|
||||||
"core_primitives",
|
"core_primitives",
|
||||||
|
|||||||
@ -16,8 +16,8 @@ elliptic-curve.workspace = true
|
|||||||
hex.workspace = true
|
hex.workspace = true
|
||||||
aes-gcm.workspace = true
|
aes-gcm.workspace = true
|
||||||
|
|
||||||
[dependencies.storage]
|
|
||||||
path = "../storage"
|
|
||||||
|
|
||||||
[dependencies.utxo]
|
[dependencies.utxo]
|
||||||
path = "../utxo"
|
path = "../utxo"
|
||||||
|
|
||||||
|
[dependencies.common]
|
||||||
|
path = "../common"
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
use common::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, transaction::Tag};
|
||||||
use k256::AffinePoint;
|
use k256::AffinePoint;
|
||||||
use log::info;
|
use log::info;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, transaction::Tag};
|
|
||||||
use utxo::{
|
use utxo::{
|
||||||
utxo_core::{UTXOPayload, UTXO},
|
utxo_core::{UTXOPayload, UTXO},
|
||||||
utxo_tree::UTXOSparseMerkleTree,
|
utxo_tree::UTXOSparseMerkleTree,
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
use aes_gcm::{aead::Aead, Aes256Gcm, Key, KeyInit};
|
use aes_gcm::{aead::Aead, Aes256Gcm, Key, KeyInit};
|
||||||
|
use common::merkle_tree_public::TreeHashType;
|
||||||
use constants_types::{CipherText, Nonce};
|
use constants_types::{CipherText, Nonce};
|
||||||
use ephemeral_key_holder::EphemeralKeyHolder;
|
use ephemeral_key_holder::EphemeralKeyHolder;
|
||||||
use k256::AffinePoint;
|
use k256::AffinePoint;
|
||||||
use log::info;
|
use log::info;
|
||||||
use secret_holders::{SeedHolder, TopSecretKeyHolder, UTXOSecretKeyHolder};
|
use secret_holders::{SeedHolder, TopSecretKeyHolder, UTXOSecretKeyHolder};
|
||||||
use storage::merkle_tree_public::TreeHashType;
|
|
||||||
|
|
||||||
use crate::account_core::PublicKey;
|
use crate::account_core::PublicKey;
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
|
use common::merkle_tree_public::TreeHashType;
|
||||||
use elliptic_curve::PrimeField;
|
use elliptic_curve::PrimeField;
|
||||||
use k256::{AffinePoint, FieldBytes, Scalar};
|
use k256::{AffinePoint, FieldBytes, Scalar};
|
||||||
use rand::{rngs::OsRng, RngCore};
|
use rand::{rngs::OsRng, RngCore};
|
||||||
use sha2::{digest::FixedOutput, Digest};
|
use sha2::{digest::FixedOutput, Digest};
|
||||||
use storage::merkle_tree_public::TreeHashType;
|
|
||||||
|
|
||||||
use super::constants_types::{NULLIFIER_SECRET_CONST, VIEVING_SECRET_CONST};
|
use super::constants_types::{NULLIFIER_SECRET_CONST, VIEVING_SECRET_CONST};
|
||||||
|
|
||||||
|
|||||||
@ -12,5 +12,12 @@ reqwest.workspace = true
|
|||||||
monotree.workspace = true
|
monotree.workspace = true
|
||||||
risc0-zkvm = { git = "https://github.com/risc0/risc0.git", branch = "release-2.0" }
|
risc0-zkvm = { git = "https://github.com/risc0/risc0.git", branch = "release-2.0" }
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
rs_merkle.workspace = true
|
||||||
path = "../rpc_primitives"
|
sha2.workspace = true
|
||||||
|
log.workspace = true
|
||||||
|
elliptic-curve.workspace = true
|
||||||
|
hex.workspace = true
|
||||||
|
|
||||||
|
[dependencies.secp256k1-zkp]
|
||||||
|
workspace = true
|
||||||
|
features = ["std", "rand-std", "rand", "serde", "global-context"]
|
||||||
|
|||||||
@ -1,6 +1,21 @@
|
|||||||
use rpc_primitives::errors::RpcError;
|
use merkle_tree_public::TreeHashType;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
|
pub mod block;
|
||||||
|
pub mod commitment;
|
||||||
|
pub mod commitments_sparse_merkle_tree;
|
||||||
|
pub mod merkle_tree_public;
|
||||||
|
pub mod nullifier;
|
||||||
|
pub mod nullifier_sparse_merkle_tree;
|
||||||
|
pub mod rpc_primitives;
|
||||||
|
pub mod transaction;
|
||||||
|
pub mod utxo_commitment;
|
||||||
|
|
||||||
|
use rpc_primitives::errors::RpcError;
|
||||||
|
|
||||||
|
///Account id on blockchain
|
||||||
|
pub type AccountId = TreeHashType;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Deserialize)]
|
#[derive(Debug, Clone, Deserialize)]
|
||||||
pub struct SequencerRpcError {
|
pub struct SequencerRpcError {
|
||||||
pub jsonrpc: String,
|
pub jsonrpc: String,
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
use serde::de::DeserializeOwned;
|
use serde::de::DeserializeOwned;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
use crate::errors::RpcParseError;
|
use super::errors::RpcParseError;
|
||||||
|
|
||||||
pub trait RpcRequest: Sized {
|
pub trait RpcRequest: Sized {
|
||||||
fn parse(value: Option<Value>) -> Result<Self, RpcParseError>;
|
fn parse(value: Option<Value>) -> Result<Self, RpcParseError>;
|
||||||
@ -1,11 +1,12 @@
|
|||||||
use crate::errors::RpcParseError;
|
use crate::block::Block;
|
||||||
use crate::parse_request;
|
use crate::parse_request;
|
||||||
use crate::parser::parse_params;
|
use crate::transaction::Transaction;
|
||||||
use crate::parser::RpcRequest;
|
|
||||||
use sequencer_core::transaction_mempool::TransactionMempool;
|
use super::errors::RpcParseError;
|
||||||
|
use super::parser::parse_params;
|
||||||
|
use super::parser::RpcRequest;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use storage::block::Block;
|
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub struct HelloRequest {}
|
pub struct HelloRequest {}
|
||||||
@ -19,7 +20,7 @@ pub struct RegisterAccountRequest {
|
|||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub struct SendTxRequest {
|
pub struct SendTxRequest {
|
||||||
pub transaction: TransactionMempool,
|
pub transaction: Transaction,
|
||||||
///Nullifier Root, UTXO Commitment Root, Pub Tx Root
|
///Nullifier Root, UTXO Commitment Root, Pub Tx Root
|
||||||
pub tx_roots: [[u8; 32]; 3],
|
pub tx_roots: [[u8; 32]; 3],
|
||||||
}
|
}
|
||||||
@ -22,3 +22,6 @@ path = "../storage"
|
|||||||
|
|
||||||
[dependencies.sequencer_core]
|
[dependencies.sequencer_core]
|
||||||
path = "../sequencer_core"
|
path = "../sequencer_core"
|
||||||
|
|
||||||
|
[dependencies.common]
|
||||||
|
path = "../common"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
|
use common::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId};
|
|
||||||
|
|
||||||
///Raw asset data
|
///Raw asset data
|
||||||
pub type Asset = Vec<u8>;
|
pub type Asset = Vec<u8>;
|
||||||
|
|||||||
@ -38,9 +38,6 @@ path = "../utxo"
|
|||||||
[dependencies.zkvm]
|
[dependencies.zkvm]
|
||||||
path = "../zkvm"
|
path = "../zkvm"
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
|
||||||
path = "../rpc_primitives"
|
|
||||||
|
|
||||||
[dependencies.common]
|
[dependencies.common]
|
||||||
path = "../common"
|
path = "../common"
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
use bincode;
|
use bincode;
|
||||||
|
use common::{
|
||||||
|
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
||||||
|
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
|
};
|
||||||
use k256::Scalar;
|
use k256::Scalar;
|
||||||
use monotree::hasher::Blake3;
|
use monotree::hasher::Blake3;
|
||||||
use monotree::{Hasher, Monotree};
|
use monotree::{Hasher, Monotree};
|
||||||
use rand::thread_rng;
|
use rand::thread_rng;
|
||||||
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
use storage::{
|
|
||||||
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
|
||||||
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
|
||||||
};
|
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
use bincode;
|
use bincode;
|
||||||
|
use common::{
|
||||||
|
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
||||||
|
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
|
};
|
||||||
use k256::Scalar;
|
use k256::Scalar;
|
||||||
use monotree::hasher::Blake3;
|
use monotree::hasher::Blake3;
|
||||||
use monotree::{Hasher, Monotree};
|
use monotree::{Hasher, Monotree};
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
use storage::{
|
|
||||||
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
|
||||||
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
|
||||||
};
|
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
fn hash(input: &[u8]) -> Vec<u8> {
|
fn hash(input: &[u8]) -> Vec<u8> {
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
use bincode;
|
use bincode;
|
||||||
|
use common::{
|
||||||
|
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
||||||
|
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
|
};
|
||||||
use k256::Scalar;
|
use k256::Scalar;
|
||||||
use monotree::hasher::Blake3;
|
use monotree::hasher::Blake3;
|
||||||
use monotree::{Hasher, Monotree};
|
use monotree::{Hasher, Monotree};
|
||||||
use rand::thread_rng;
|
use rand::thread_rng;
|
||||||
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
use storage::{
|
|
||||||
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
|
||||||
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
|
||||||
};
|
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
|
|||||||
@ -5,9 +5,9 @@ use std::sync::{
|
|||||||
|
|
||||||
use common::ExecutionFailureKind;
|
use common::ExecutionFailureKind;
|
||||||
|
|
||||||
use ::storage::transaction::{Transaction, TransactionPayload, TxKind};
|
|
||||||
use accounts::account_core::{Account, AccountAddress};
|
use accounts::account_core::{Account, AccountAddress};
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
use common::transaction::{Transaction, TransactionPayload, TxKind};
|
||||||
use config::NodeConfig;
|
use config::NodeConfig;
|
||||||
use executions::private_exec::{generate_commitments, generate_nullifiers};
|
use executions::private_exec::{generate_commitments, generate_nullifiers};
|
||||||
use log::info;
|
use log::info;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
|
use common::transaction::Transaction;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use storage::transaction::Transaction;
|
|
||||||
|
|
||||||
//Requests
|
//Requests
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
use accounts::account_core::Account;
|
use accounts::account_core::Account;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
use common::rpc_primitives::requests::{
|
||||||
|
GetBlockDataRequest, GetBlockDataResponse, GetGenesisIdRequest, GetGenesisIdResponse,
|
||||||
|
RegisterAccountRequest, RegisterAccountResponse,
|
||||||
|
};
|
||||||
|
use common::transaction::Transaction;
|
||||||
use common::{SequencerClientError, SequencerRpcError};
|
use common::{SequencerClientError, SequencerRpcError};
|
||||||
use json::{SendTxRequest, SendTxResponse, SequencerRpcRequest, SequencerRpcResponse};
|
use json::{SendTxRequest, SendTxResponse, SequencerRpcRequest, SequencerRpcResponse};
|
||||||
use k256::elliptic_curve::group::GroupEncoding;
|
use k256::elliptic_curve::group::GroupEncoding;
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use rpc_primitives::requests::{
|
|
||||||
GetBlockDataRequest, GetBlockDataResponse, GetGenesisIdRequest, GetGenesisIdResponse,
|
|
||||||
RegisterAccountRequest, RegisterAccountResponse,
|
|
||||||
};
|
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use storage::transaction::Transaction;
|
|
||||||
|
|
||||||
use crate::config::NodeConfig;
|
use crate::config::NodeConfig;
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
|
use common::block::Block;
|
||||||
use storage::sc_db_utils::DataBlob;
|
use storage::sc_db_utils::DataBlob;
|
||||||
use storage::{block::Block, RocksDBIO};
|
use storage::RocksDBIO;
|
||||||
|
|
||||||
pub struct NodeBlockStore {
|
pub struct NodeBlockStore {
|
||||||
dbio: RocksDBIO,
|
dbio: RocksDBIO,
|
||||||
@ -51,7 +52,7 @@ impl NodeBlockStore {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use storage::block::{Block, Data};
|
use common::block::Data;
|
||||||
use tempfile::tempdir;
|
use tempfile::tempdir;
|
||||||
|
|
||||||
fn create_genesis_block() -> Block {
|
fn create_genesis_block() -> Block {
|
||||||
|
|||||||
@ -6,15 +6,15 @@ use std::{
|
|||||||
use accounts::account_core::{Account, AccountAddress};
|
use accounts::account_core::{Account, AccountAddress};
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use block_store::NodeBlockStore;
|
use block_store::NodeBlockStore;
|
||||||
use k256::AffinePoint;
|
use common::{
|
||||||
use public_context::PublicSCContext;
|
|
||||||
use storage::{
|
|
||||||
block::Block,
|
block::Block,
|
||||||
merkle_tree_public::merkle_tree::{PublicTransactionMerkleTree, UTXOCommitmentsMerkleTree},
|
merkle_tree_public::merkle_tree::{PublicTransactionMerkleTree, UTXOCommitmentsMerkleTree},
|
||||||
nullifier::UTXONullifier,
|
nullifier::UTXONullifier,
|
||||||
nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
utxo_commitment::UTXOCommitment,
|
utxo_commitment::UTXOCommitment,
|
||||||
};
|
};
|
||||||
|
use k256::AffinePoint;
|
||||||
|
use public_context::PublicSCContext;
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
use crate::ActionData;
|
use crate::ActionData;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
|
|
||||||
use accounts::account_core::{AccountAddress, AccountPublicMask};
|
use accounts::account_core::{AccountAddress, AccountPublicMask};
|
||||||
|
use common::merkle_tree_public::TreeHashType;
|
||||||
use serde::{ser::SerializeStruct, Serialize};
|
use serde::{ser::SerializeStruct, Serialize};
|
||||||
use storage::merkle_tree_public::TreeHashType;
|
|
||||||
|
|
||||||
///Strucutre, representing context, given to a smart contract on a call
|
///Strucutre, representing context, given to a smart contract on a call
|
||||||
pub struct PublicSCContext {
|
pub struct PublicSCContext {
|
||||||
|
|||||||
@ -41,8 +41,5 @@ path = "../zkvm"
|
|||||||
[dependencies.node_core]
|
[dependencies.node_core]
|
||||||
path = "../node_core"
|
path = "../node_core"
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
|
||||||
path = "../rpc_primitives"
|
|
||||||
|
|
||||||
[dependencies.common]
|
[dependencies.common]
|
||||||
path = "../common"
|
path = "../common"
|
||||||
|
|||||||
@ -4,11 +4,11 @@ pub mod types;
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use node_core::{config::NodeConfig, NodeCore};
|
use common::rpc_primitives::{
|
||||||
use rpc_primitives::{
|
|
||||||
errors::{RpcError, RpcErrorKind},
|
errors::{RpcError, RpcErrorKind},
|
||||||
RpcPollingConfig,
|
RpcPollingConfig,
|
||||||
};
|
};
|
||||||
|
use node_core::{config::NodeConfig, NodeCore};
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
|
|||||||
@ -7,10 +7,10 @@ use futures::Future;
|
|||||||
use futures::FutureExt;
|
use futures::FutureExt;
|
||||||
use log::info;
|
use log::info;
|
||||||
|
|
||||||
|
use common::rpc_primitives::message::Message;
|
||||||
|
use common::rpc_primitives::RpcConfig;
|
||||||
use node_core::config::NodeConfig;
|
use node_core::config::NodeConfig;
|
||||||
use node_core::NodeCore;
|
use node_core::NodeCore;
|
||||||
use rpc_primitives::message::Message;
|
|
||||||
use rpc_primitives::RpcConfig;
|
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use super::JsonHandler;
|
use super::JsonHandler;
|
||||||
|
|||||||
@ -4,14 +4,14 @@ use actix_web::Error as HttpError;
|
|||||||
use node_core::generate_commitments_helper;
|
use node_core::generate_commitments_helper;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
use rpc_primitives::{
|
use common::rpc_primitives::{
|
||||||
errors::RpcError,
|
errors::RpcError,
|
||||||
message::{Message, Request},
|
message::{Message, Request},
|
||||||
parser::RpcRequest,
|
parser::RpcRequest,
|
||||||
};
|
};
|
||||||
use storage::transaction::ActionData;
|
use common::transaction::ActionData;
|
||||||
|
|
||||||
use rpc_primitives::requests::{
|
use common::rpc_primitives::requests::{
|
||||||
GetBlockDataRequest, GetBlockDataResponse, GetLastBlockRequest, GetLastBlockResponse,
|
GetBlockDataRequest, GetBlockDataResponse, GetLastBlockRequest, GetLastBlockResponse,
|
||||||
RegisterAccountRequest, RegisterAccountResponse,
|
RegisterAccountRequest, RegisterAccountResponse,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
use common::{ExecutionFailureKind, SequencerClientError};
|
use common::{ExecutionFailureKind, SequencerClientError};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
|
|
||||||
use rpc_primitives::errors::{RpcError, RpcParseError};
|
use common::rpc_primitives::errors::{RpcError, RpcParseError};
|
||||||
|
|
||||||
pub struct RpcErr(pub RpcError);
|
pub struct RpcErr(pub RpcError);
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
use rpc_primitives::errors::RpcParseError;
|
use common::parse_request;
|
||||||
use rpc_primitives::parse_request;
|
use common::rpc_primitives::errors::RpcParseError;
|
||||||
use rpc_primitives::parser::parse_params;
|
use common::rpc_primitives::parser::parse_params;
|
||||||
use rpc_primitives::parser::RpcRequest;
|
use common::rpc_primitives::parser::RpcRequest;
|
||||||
|
use common::transaction::TxKind;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use storage::transaction::TxKind;
|
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub struct ExecuteSubscenarioRequest {
|
pub struct ExecuteSubscenarioRequest {
|
||||||
|
|||||||
@ -45,5 +45,5 @@ path = "../node_rpc"
|
|||||||
[dependencies.node_core]
|
[dependencies.node_core]
|
||||||
path = "../node_core"
|
path = "../node_core"
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
[dependencies.common]
|
||||||
path = "../rpc_primitives"
|
path = "../common"
|
||||||
|
|||||||
@ -2,12 +2,12 @@ use std::{path::PathBuf, sync::Arc};
|
|||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
use common::rpc_primitives::RpcConfig;
|
||||||
use consensus::ConsensusManager;
|
use consensus::ConsensusManager;
|
||||||
use log::info;
|
use log::info;
|
||||||
use networking::peer_manager::PeerManager;
|
use networking::peer_manager::PeerManager;
|
||||||
use node_core::NodeCore;
|
use node_core::NodeCore;
|
||||||
use node_rpc::new_http_server;
|
use node_rpc::new_http_server;
|
||||||
use rpc_primitives::RpcConfig;
|
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
pub mod config;
|
pub mod config;
|
||||||
|
|||||||
@ -1,17 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "rpc_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
|
|
||||||
|
|
||||||
[dependencies.storage]
|
|
||||||
path = "../storage"
|
|
||||||
|
|
||||||
[dependencies.sequencer_core]
|
|
||||||
path = "../sequencer_core"
|
|
||||||
@ -1,14 +1,14 @@
|
|||||||
use bincode;
|
use bincode;
|
||||||
|
use common::{
|
||||||
|
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
||||||
|
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
|
};
|
||||||
use k256::Scalar;
|
use k256::Scalar;
|
||||||
use monotree::hasher::Blake3;
|
use monotree::hasher::Blake3;
|
||||||
use monotree::{Hasher, Monotree};
|
use monotree::{Hasher, Monotree};
|
||||||
use rand::{thread_rng, RngCore};
|
use rand::{thread_rng, RngCore};
|
||||||
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
use secp256k1_zkp::{CommitmentSecrets, Generator, PedersenCommitment, Tag, Tweak, SECP256K1};
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
use storage::{
|
|
||||||
commitment::Commitment, commitments_sparse_merkle_tree::CommitmentsSparseMerkleTree,
|
|
||||||
nullifier::UTXONullifier, nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
|
||||||
};
|
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
fn hash(input: &[u8]) -> Vec<u8> {
|
fn hash(input: &[u8]) -> Vec<u8> {
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
use accounts::account_core::Account;
|
use accounts::account_core::Account;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
use common::transaction::{TransactionPayload, TxKind};
|
||||||
use rand::thread_rng;
|
use rand::thread_rng;
|
||||||
use risc0_zkvm::Receipt;
|
use risc0_zkvm::Receipt;
|
||||||
use secp256k1_zkp::{CommitmentSecrets, PedersenCommitment, Tweak};
|
use secp256k1_zkp::{CommitmentSecrets, PedersenCommitment, Tweak};
|
||||||
use storage::transaction::{TransactionPayload, TxKind};
|
|
||||||
use utxo::utxo_core::UTXO;
|
use utxo::utxo_core::UTXO;
|
||||||
|
|
||||||
use crate::proofs_circuits::{commit, generate_nullifiers, tag_random};
|
use crate::proofs_circuits::{commit, generate_nullifiers, tag_random};
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use storage::nullifier::UTXONullifier;
|
use common::nullifier::UTXONullifier;
|
||||||
use utxo::utxo_core::{UTXOPayload, UTXO};
|
use utxo::utxo_core::{UTXOPayload, UTXO};
|
||||||
|
|
||||||
pub fn utxo_change_owner(
|
pub fn utxo_change_owner(
|
||||||
|
|||||||
@ -22,6 +22,9 @@ path = "../mempool"
|
|||||||
[dependencies.accounts]
|
[dependencies.accounts]
|
||||||
path = "../accounts"
|
path = "../accounts"
|
||||||
|
|
||||||
|
[dependencies.common]
|
||||||
|
path = "../common"
|
||||||
|
|
||||||
[dependencies.secp256k1-zkp]
|
[dependencies.secp256k1-zkp]
|
||||||
workspace = true
|
workspace = true
|
||||||
features = ["std", "rand-std", "rand", "serde", "global-context"]
|
features = ["std", "rand-std", "rand", "serde", "global-context"]
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use config::SequencerConfig;
|
use common::{
|
||||||
use mempool::MemPool;
|
|
||||||
use sequecer_store::{accounts_store::AccountPublicData, SequecerChainStore};
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use storage::{
|
|
||||||
block::{Block, HashableBlockData},
|
block::{Block, HashableBlockData},
|
||||||
merkle_tree_public::TreeHashType,
|
merkle_tree_public::TreeHashType,
|
||||||
nullifier::UTXONullifier,
|
nullifier::UTXONullifier,
|
||||||
transaction::{Transaction, TxKind},
|
transaction::{Transaction, TxKind},
|
||||||
utxo_commitment::UTXOCommitment,
|
utxo_commitment::UTXOCommitment,
|
||||||
};
|
};
|
||||||
|
use config::SequencerConfig;
|
||||||
|
use mempool::MemPool;
|
||||||
|
use sequencer_store::{accounts_store::AccountPublicData, SequecerChainStore};
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
use transaction_mempool::TransactionMempool;
|
use transaction_mempool::TransactionMempool;
|
||||||
|
|
||||||
pub mod config;
|
pub mod config;
|
||||||
pub mod sequecer_store;
|
pub mod sequencer_store;
|
||||||
pub mod transaction_mempool;
|
pub mod transaction_mempool;
|
||||||
|
|
||||||
pub struct SequencerCore {
|
pub struct SequencerCore {
|
||||||
@ -262,9 +262,9 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use std::{fmt::format, path::PathBuf};
|
use std::{fmt::format, path::PathBuf};
|
||||||
|
|
||||||
|
use common::transaction::{Transaction, TxKind};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use secp256k1_zkp::Tweak;
|
use secp256k1_zkp::Tweak;
|
||||||
use storage::transaction::{Transaction, TxKind};
|
|
||||||
use transaction_mempool::TransactionMempool;
|
use transaction_mempool::TransactionMempool;
|
||||||
|
|
||||||
fn setup_sequencer_config() -> SequencerConfig {
|
fn setup_sequencer_config() -> SequencerConfig {
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use storage::{block::Block, RocksDBIO};
|
use common::block::Block;
|
||||||
|
use storage::RocksDBIO;
|
||||||
|
|
||||||
pub struct SequecerBlockStore {
|
pub struct SequecerBlockStore {
|
||||||
dbio: RocksDBIO,
|
dbio: RocksDBIO,
|
||||||
@ -2,12 +2,12 @@ use std::path::Path;
|
|||||||
|
|
||||||
use accounts_store::SequencerAccountsStore;
|
use accounts_store::SequencerAccountsStore;
|
||||||
use block_store::SequecerBlockStore;
|
use block_store::SequecerBlockStore;
|
||||||
use rand::{rngs::OsRng, RngCore};
|
use common::{
|
||||||
use storage::{
|
|
||||||
block::{Block, HashableBlockData},
|
block::{Block, HashableBlockData},
|
||||||
merkle_tree_public::merkle_tree::{PublicTransactionMerkleTree, UTXOCommitmentsMerkleTree},
|
merkle_tree_public::merkle_tree::{PublicTransactionMerkleTree, UTXOCommitmentsMerkleTree},
|
||||||
nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
nullifier_sparse_merkle_tree::NullifierSparseMerkleTree,
|
||||||
};
|
};
|
||||||
|
use rand::{rngs::OsRng, RngCore};
|
||||||
|
|
||||||
pub mod accounts_store;
|
pub mod accounts_store;
|
||||||
pub mod block_store;
|
pub mod block_store;
|
||||||
@ -1,12 +1,18 @@
|
|||||||
|
use common::{merkle_tree_public::TreeHashType, transaction::Transaction};
|
||||||
use mempool::mempoolitem::MemPoolItem;
|
use mempool::mempoolitem::MemPoolItem;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use storage::{merkle_tree_public::TreeHashType, transaction::Transaction};
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct TransactionMempool {
|
pub struct TransactionMempool {
|
||||||
pub tx: Transaction,
|
pub tx: Transaction,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<Transaction> for TransactionMempool {
|
||||||
|
fn from(value: Transaction) -> Self {
|
||||||
|
Self { tx: value }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Serialize for TransactionMempool {
|
impl Serialize for TransactionMempool {
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where
|
where
|
||||||
|
|||||||
@ -32,5 +32,5 @@ path = "../sequencer_core"
|
|||||||
[dependencies.storage]
|
[dependencies.storage]
|
||||||
path = "../storage"
|
path = "../storage"
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
[dependencies.common]
|
||||||
path = "../rpc_primitives"
|
path = "../common"
|
||||||
|
|||||||
@ -4,7 +4,7 @@ pub mod types;
|
|||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use rpc_primitives::{
|
use common::rpc_primitives::{
|
||||||
errors::{RpcError, RpcErrorKind},
|
errors::{RpcError, RpcErrorKind},
|
||||||
RpcPollingConfig,
|
RpcPollingConfig,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,8 +7,8 @@ use futures::Future;
|
|||||||
use futures::FutureExt;
|
use futures::FutureExt;
|
||||||
use log::info;
|
use log::info;
|
||||||
|
|
||||||
use rpc_primitives::message::Message;
|
use common::rpc_primitives::message::Message;
|
||||||
use rpc_primitives::RpcConfig;
|
use common::rpc_primitives::RpcConfig;
|
||||||
use sequencer_core::SequencerCore;
|
use sequencer_core::SequencerCore;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
use actix_web::Error as HttpError;
|
use actix_web::Error as HttpError;
|
||||||
use sequencer_core::sequecer_store::accounts_store::AccountPublicData;
|
use sequencer_core::sequencer_store::accounts_store::AccountPublicData;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
use rpc_primitives::{
|
use common::rpc_primitives::{
|
||||||
errors::RpcError,
|
errors::RpcError,
|
||||||
message::{Message, Request},
|
message::{Message, Request},
|
||||||
parser::RpcRequest,
|
parser::RpcRequest,
|
||||||
};
|
};
|
||||||
|
|
||||||
use rpc_primitives::requests::{
|
use common::rpc_primitives::requests::{
|
||||||
GetBlockDataRequest, GetBlockDataResponse, GetGenesisIdRequest, GetGenesisIdResponse,
|
GetBlockDataRequest, GetBlockDataResponse, GetGenesisIdRequest, GetGenesisIdResponse,
|
||||||
GetLastBlockRequest, GetLastBlockResponse, HelloRequest, HelloResponse, RegisterAccountRequest,
|
GetLastBlockRequest, GetLastBlockResponse, HelloRequest, HelloResponse, RegisterAccountRequest,
|
||||||
RegisterAccountResponse, SendTxRequest, SendTxResponse,
|
RegisterAccountResponse, SendTxRequest, SendTxResponse,
|
||||||
@ -70,7 +70,10 @@ impl JsonHandler {
|
|||||||
{
|
{
|
||||||
let mut state = self.sequencer_state.lock().await;
|
let mut state = self.sequencer_state.lock().await;
|
||||||
|
|
||||||
state.push_tx_into_mempool_pre_check(send_tx_req.transaction, send_tx_req.tx_roots)?;
|
state.push_tx_into_mempool_pre_check(
|
||||||
|
send_tx_req.transaction.into(),
|
||||||
|
send_tx_req.tx_roots,
|
||||||
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let helperstruct = SendTxResponse {
|
let helperstruct = SendTxResponse {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
use log::debug;
|
use log::debug;
|
||||||
|
|
||||||
use rpc_primitives::errors::{RpcError, RpcParseError};
|
use common::rpc_primitives::errors::{RpcError, RpcParseError};
|
||||||
use sequencer_core::TransactionMalformationErrorKind;
|
use sequencer_core::TransactionMalformationErrorKind;
|
||||||
|
|
||||||
pub struct RpcErr(pub RpcError);
|
pub struct RpcErr(pub RpcError);
|
||||||
|
|||||||
@ -34,5 +34,5 @@ path = "../sequencer_rpc"
|
|||||||
[dependencies.sequencer_core]
|
[dependencies.sequencer_core]
|
||||||
path = "../sequencer_core"
|
path = "../sequencer_core"
|
||||||
|
|
||||||
[dependencies.rpc_primitives]
|
[dependencies.common]
|
||||||
path = "../rpc_primitives"
|
path = "../common"
|
||||||
|
|||||||
@ -2,8 +2,8 @@ use std::{path::PathBuf, sync::Arc};
|
|||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
use common::rpc_primitives::RpcConfig;
|
||||||
use log::info;
|
use log::info;
|
||||||
use rpc_primitives::RpcConfig;
|
|
||||||
use sequencer_core::SequencerCore;
|
use sequencer_core::SequencerCore;
|
||||||
use sequencer_rpc::new_http_server;
|
use sequencer_rpc::new_http_server;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|||||||
@ -11,14 +11,9 @@ log.workspace = true
|
|||||||
serde.workspace = true
|
serde.workspace = true
|
||||||
lru.workspace = true
|
lru.workspace = true
|
||||||
thiserror.workspace = true
|
thiserror.workspace = true
|
||||||
elliptic-curve.workspace = true
|
|
||||||
hex.workspace = true
|
hex.workspace = true
|
||||||
|
|
||||||
rocksdb.workspace = true
|
rocksdb.workspace = true
|
||||||
rs_merkle.workspace = true
|
|
||||||
sha2.workspace = true
|
|
||||||
monotree.workspace = true
|
|
||||||
|
|
||||||
[dependencies.secp256k1-zkp]
|
[dependencies.common]
|
||||||
workspace = true
|
path = "../common"
|
||||||
features = ["std", "rand-std", "rand", "serde", "global-context"]
|
|
||||||
|
|||||||
@ -1,27 +1,15 @@
|
|||||||
use std::{path::Path, sync::Arc};
|
use std::{path::Path, sync::Arc};
|
||||||
|
|
||||||
use block::Block;
|
use common::block::Block;
|
||||||
use error::DbError;
|
use error::DbError;
|
||||||
use log::warn;
|
use log::warn;
|
||||||
use merkle_tree_public::TreeHashType;
|
|
||||||
use rocksdb::{
|
use rocksdb::{
|
||||||
BoundColumnFamily, ColumnFamilyDescriptor, DBWithThreadMode, MultiThreaded, Options,
|
BoundColumnFamily, ColumnFamilyDescriptor, DBWithThreadMode, MultiThreaded, Options,
|
||||||
};
|
};
|
||||||
use sc_db_utils::{produce_blob_from_fit_vec, DataBlob, DataBlobChangeVariant};
|
use sc_db_utils::{produce_blob_from_fit_vec, DataBlob, DataBlobChangeVariant};
|
||||||
|
|
||||||
pub mod block;
|
|
||||||
pub mod commitment;
|
|
||||||
pub mod commitments_sparse_merkle_tree;
|
|
||||||
pub mod error;
|
pub mod error;
|
||||||
pub mod merkle_tree_public;
|
|
||||||
pub mod nullifier;
|
|
||||||
pub mod nullifier_sparse_merkle_tree;
|
|
||||||
pub mod sc_db_utils;
|
pub mod sc_db_utils;
|
||||||
pub mod transaction;
|
|
||||||
pub mod utxo_commitment;
|
|
||||||
|
|
||||||
///Account id on blockchain
|
|
||||||
pub type AccountId = TreeHashType;
|
|
||||||
|
|
||||||
///Maximal size of stored blocks in base
|
///Maximal size of stored blocks in base
|
||||||
///
|
///
|
||||||
|
|||||||
@ -13,5 +13,5 @@ monotree.workspace = true
|
|||||||
sha2.workspace = true
|
sha2.workspace = true
|
||||||
hex.workspace = true
|
hex.workspace = true
|
||||||
|
|
||||||
[dependencies.storage]
|
[dependencies.common]
|
||||||
path = "../storage"
|
path = "../common"
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
use common::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId};
|
||||||
use log::info;
|
use log::info;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use sha2::{digest::FixedOutput, Digest};
|
use sha2::{digest::FixedOutput, Digest};
|
||||||
use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId};
|
|
||||||
|
|
||||||
///Raw asset data
|
///Raw asset data
|
||||||
pub type Asset = Vec<u8>;
|
pub type Asset = Vec<u8>;
|
||||||
@ -87,7 +87,6 @@ impl UTXO {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId};
|
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
||||||
struct TestAsset {
|
struct TestAsset {
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
use common::merkle_tree_public::TreeHashType;
|
||||||
use monotree::database::MemoryDB;
|
use monotree::database::MemoryDB;
|
||||||
use monotree::hasher::Blake3;
|
use monotree::hasher::Blake3;
|
||||||
use monotree::{Hasher, Monotree, Proof};
|
use monotree::{Hasher, Monotree, Proof};
|
||||||
use storage::merkle_tree_public::TreeHashType;
|
|
||||||
|
|
||||||
use crate::utxo_core::UTXO;
|
use crate::utxo_core::UTXO;
|
||||||
|
|
||||||
@ -75,9 +75,10 @@ impl Default for UTXOSparseMerkleTree {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use common::AccountId;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::utxo_core::{UTXOPayload, UTXO};
|
use crate::utxo_core::{UTXOPayload, UTXO};
|
||||||
use storage::{merkle_tree_public::TreeHashType, AccountId};
|
|
||||||
|
|
||||||
fn sample_utxo_payload() -> UTXOPayload {
|
fn sample_utxo_payload() -> UTXOPayload {
|
||||||
UTXOPayload {
|
UTXOPayload {
|
||||||
|
|||||||
@ -17,9 +17,6 @@ test-methods = { path = "test_methods" }
|
|||||||
[dependencies.accounts]
|
[dependencies.accounts]
|
||||||
path = "../accounts"
|
path = "../accounts"
|
||||||
|
|
||||||
[dependencies.storage]
|
|
||||||
path = "../storage"
|
|
||||||
|
|
||||||
[dependencies.utxo]
|
[dependencies.utxo]
|
||||||
path = "../utxo"
|
path = "../utxo"
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user