From 87f45b8215519e2c221e8fdf4de8f49192a27a34 Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Tue, 16 Dec 2025 17:44:10 +0300 Subject: [PATCH] feat: move all crates into workspace --- Cargo.toml | 84 +++++++++--------- common/Cargo.toml | 8 +- examples/program_deployment/Cargo.toml | 13 +-- .../program_deployment/methods/Cargo.toml | 4 +- .../methods/guest/Cargo.toml | 15 ++-- .../methods/guest/src/bin/simple_tail_call.rs | 1 - integration_tests/Cargo.toml | 38 +++----- integration_tests/src/data_changer.bin | Bin 0 -> 377792 bytes key_protocol/Cargo.toml | 13 ++- nssa/Cargo.toml | 23 ++--- nssa/core/Cargo.toml | 20 ++--- nssa/core/src/account.rs | 7 +- program_methods/Cargo.toml | 4 +- program_methods/guest/Cargo.lock | 4 +- program_methods/guest/Cargo.toml | 9 +- .../src/bin/privacy_preserving_circuit.rs | 2 +- program_methods/guest/src/bin/token.rs | 63 +++++++------ sequencer_core/Cargo.toml | 19 ++-- sequencer_rpc/Cargo.toml | 22 ++--- sequencer_runner/Cargo.toml | 20 ++--- storage/Cargo.toml | 6 +- test_program_methods/Cargo.toml | 4 +- test_program_methods/guest/Cargo.lock | 4 +- test_program_methods/guest/Cargo.toml | 11 ++- test_program_methods/guest/src/bin/burner.rs | 6 +- .../guest/src/bin/chain_caller.rs | 6 +- .../guest/src/bin/data_changer.rs | 12 ++- test_program_methods/guest/src/bin/minter.rs | 8 +- .../guest/src/bin/nonce_changer.rs | 10 ++- .../guest/src/bin/program_owner_changer.rs | 8 +- wallet/Cargo.toml | 19 ++-- 31 files changed, 213 insertions(+), 250 deletions(-) create mode 100644 integration_tests/src/data_changer.bin diff --git a/Cargo.toml b/Cargo.toml index 9b773b8..f1d9a26 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,15 +12,43 @@ members = [ "common", "nssa", "nssa/core", + "program_methods", + "program_methods/guest", + "test_program_methods", + "test_program_methods/guest", "integration_tests/proc_macro_test_attribute", "examples/program_deployment", + "examples/program_deployment/methods", + "examples/program_deployment/methods/guest", ] [workspace.dependencies] +nssa = { path = "nssa" } +nssa_core = { path = "nssa/core" } +common = { path = "common" } +mempool = { path = "mempool" } +storage = { path = "storage" } +key_protocol = { path = "key_protocol" } +sequencer_core = { path = "sequencer_core" } +sequencer_rpc = { path = "sequencer_rpc" } +sequencer_runner = { path = "sequencer_runner" } +wallet = { path = "wallet" } +program_methods = { path = "program_methods" } +test_program_methods = { path = "test_program_methods" } + +tokio = { version = "1.28.2", features = [ + "net", + "rt-multi-thread", + "sync", + "fs", +] } +risc0-zkvm = { version = "3.0.3", features = ['std'] } +risc0-build = "3.0.3" anyhow = "1.0.98" num_cpus = "1.13.1" openssl = { version = "0.10", features = ["vendored"] } openssl-probe = { version = "0.1.2" } +serde = { version = "1.0.60", default-features = false, features = ["derive"] } serde_json = "1.0.81" actix = "0.13.0" actix-cors = "0.6.1" @@ -33,9 +61,9 @@ lru = "0.7.8" thiserror = "2.0.12" sha2 = "0.10.8" hex = "0.4.3" +bytemuck = "1.24.0" aes-gcm = "0.10.3" toml = "0.7.4" -secp256k1-zkp = "0.11.0" bincode = "1.3.3" tempfile = "3.14.0" light-poseidon = "0.3.0" @@ -54,43 +82,17 @@ rocksdb = { version = "0.24.0", default-features = false, features = [ "snappy", "bindgen-runtime", ] } - -[workspace.dependencies.rand] -features = ["std", "std_rng", "getrandom"] -version = "0.8.5" - -[workspace.dependencies.k256] -features = ["ecdsa-core", "arithmetic", "expose-field", "serde", "pem"] -version = "0.13.3" - -[workspace.dependencies.elliptic-curve] -features = ["arithmetic"] -version = "0.13.8" - -[workspace.dependencies.serde] -features = ["derive"] -version = "1.0.60" - -[workspace.dependencies.actix-web] -default-features = false -features = ["macros"] -version = "=4.1.0" - -[workspace.dependencies.clap] -features = ["derive", "env"] -version = "4.5.42" - -[workspace.dependencies.tokio-retry] -version = "0.3.0" - -[workspace.dependencies.reqwest] -features = ["json"] -version = "0.11.16" - -[workspace.dependencies.tokio] -features = ["net", "rt-multi-thread", "sync", "fs"] -version = "1.28.2" - -[workspace.dependencies.tracing] -features = ["std"] -version = "0.1.13" +rand = { version = "0.8.5", features = ["std", "std_rng", "getrandom"] } +k256 = { version = "0.13.3", features = [ + "ecdsa-core", + "arithmetic", + "expose-field", + "serde", + "pem", +] } +elliptic-curve = { version = "0.13.8", features = ["arithmetic"] } +actix-web = { version = "=4.1.0", default-features = false, features = [ + "macros", +] } +clap = { version = "4.5.42", features = ["derive", "env"] } +reqwest = { version = "0.11.16", features = ["json"] } diff --git a/common/Cargo.toml b/common/Cargo.toml index 920ad2a..a6e26fa 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -4,18 +4,16 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa.workspace = true +nssa_core.workspace = true + anyhow.workspace = true thiserror.workspace = true serde_json.workspace = true serde.workspace = true reqwest.workspace = true - sha2.workspace = true log.workspace = true hex.workspace = true -nssa-core = { path = "../nssa/core", features = ["host"] } borsh.workspace = true base64.workspace = true - -[dependencies.nssa] -path = "../nssa" diff --git a/examples/program_deployment/Cargo.toml b/examples/program_deployment/Cargo.toml index 21d4fc8..725febf 100644 --- a/examples/program_deployment/Cargo.toml +++ b/examples/program_deployment/Cargo.toml @@ -4,10 +4,11 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa_core.workspace = true +nssa.workspace = true +wallet.workspace = true +key_protocol.workspace = true + tokio = { workspace = true, features = ["macros"] } -wallet = { path = "../../wallet" } -nssa-core = { path = "../../nssa/core" } -nssa = { path = "../../nssa" } -key_protocol = { path = "../../key_protocol/" } -clap = "4.5.53" -serde = "1.0.228" +clap.workspace = true +serde.workspace = true diff --git a/examples/program_deployment/methods/Cargo.toml b/examples/program_deployment/methods/Cargo.toml index 0317d2b..a25aecf 100644 --- a/examples/program_deployment/methods/Cargo.toml +++ b/examples/program_deployment/methods/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "test-program-methods" +name = "example_program_deployment_methods" version = "0.1.0" edition = "2024" [build-dependencies] -risc0-build = { version = "3.0.3" } +risc0-build.workspace = true [package.metadata.risc0] methods = ["guest"] diff --git a/examples/program_deployment/methods/guest/Cargo.toml b/examples/program_deployment/methods/guest/Cargo.toml index 8e2a199..4e5ac88 100644 --- a/examples/program_deployment/methods/guest/Cargo.toml +++ b/examples/program_deployment/methods/guest/Cargo.toml @@ -1,13 +1,12 @@ [package] -name = "programs" +name = "example_program_deployment_programs" version = "0.1.0" edition = "2024" -[workspace] - [dependencies] -risc0-zkvm = { version = "3.0.3", features = ['std'] } -nssa-core = { path = "../../../../nssa/core" } -serde = { version = "1.0.219", default-features = false } -hex = "0.4.3" -bytemuck = "1.24.0" +nssa_core.workspace = true + +serde.workspace = true +hex.workspace = true +bytemuck.workspace = true +risc0-zkvm.workspace = true diff --git a/examples/program_deployment/methods/guest/src/bin/simple_tail_call.rs b/examples/program_deployment/methods/guest/src/bin/simple_tail_call.rs index d2bb58c..9a6fe62 100644 --- a/examples/program_deployment/methods/guest/src/bin/simple_tail_call.rs +++ b/examples/program_deployment/methods/guest/src/bin/simple_tail_call.rs @@ -9,7 +9,6 @@ use nssa_core::program::{ // It reads a single account, emits it unchanged, and then triggers a tail call // to the Hello World program with a fixed greeting. - /// This needs to be set to the ID of the Hello world program. /// To get the ID run **from the root directoy of the repository**: /// `cargo risczero build --manifest-path examples/program_deployment/methods/guest/Cargo.toml` diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml index 58be5a5..529eb65 100644 --- a/integration_tests/Cargo.toml +++ b/integration_tests/Cargo.toml @@ -4,6 +4,16 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa_core = { workspace = true, features = ["host"] } +nssa = { workspace = true, features = ["no_docker"] } +sequencer_core = { workspace = true, features = ["testnet"] } +sequencer_runner.workspace = true +wallet.workspace = true +common.workspace = true +key_protocol.workspace = true +proc_macro_test_attribute = { path = "./proc_macro_test_attribute" } + +clap = { workspace = true, features = ["derive", "env"] } anyhow.workspace = true env_logger.workspace = true log.workspace = true @@ -14,31 +24,3 @@ tokio.workspace = true hex.workspace = true tempfile.workspace = true borsh.workspace = true - -nssa-core = { path = "../nssa/core", features = ["host"] } - -proc_macro_test_attribute = { path = "./proc_macro_test_attribute" } - -[dependencies.clap] -features = ["derive", "env"] -workspace = true - -[dependencies.sequencer_core] -path = "../sequencer_core" -features = ["testnet"] - -[dependencies.sequencer_runner] -path = "../sequencer_runner" - -[dependencies.wallet] -path = "../wallet" - -[dependencies.common] -path = "../common" - -[dependencies.key_protocol] -path = "../key_protocol" - -[dependencies.nssa] -path = "../nssa" -features = ["no_docker"] diff --git a/integration_tests/src/data_changer.bin b/integration_tests/src/data_changer.bin new file mode 100644 index 0000000000000000000000000000000000000000..3d062c300fa1a9e6a5cc85e9888e5abaed93d751 GIT binary patch literal 377792 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 literal 0 HcmV?d00001 diff --git a/key_protocol/Cargo.toml b/key_protocol/Cargo.toml index 103a1de..39c1028 100644 --- a/key_protocol/Cargo.toml +++ b/key_protocol/Cargo.toml @@ -4,22 +4,19 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa.workspace = true +nssa_core.workspace = true +common.workspace = true + anyhow.workspace = true serde.workspace = true k256.workspace = true sha2.workspace = true rand.workspace = true base58.workspace = true -hex = "0.4.3" +hex.workspace = true aes-gcm.workspace = true bip39.workspace = true hmac-sha512.workspace = true thiserror.workspace = true -nssa-core = { path = "../nssa/core", features = ["host"] } itertools.workspace = true - -[dependencies.common] -path = "../common" - -[dependencies.nssa] -path = "../nssa" diff --git a/nssa/Cargo.toml b/nssa/Cargo.toml index 19e70dd..ccb07f4 100644 --- a/nssa/Cargo.toml +++ b/nssa/Cargo.toml @@ -4,16 +4,17 @@ version = "0.1.0" edition = "2024" [dependencies] -thiserror = "2.0.12" -risc0-zkvm = { version = "3.0.3", features = ['std'] } -nssa-core = { path = "core", features = ["host"] } -program-methods = { path = "../program_methods", optional = true } -serde = "1.0.219" -sha2 = "0.10.9" +nssa_core = { workspace = true, features = ["host"] } + +thiserror.workspace = true +risc0-zkvm.workspace = true +program_methods = { workspace = true, optional = true } +serde.workspace = true +sha2.workspace = true +rand.workspace = true +borsh.workspace = true +hex.workspace = true secp256k1 = "0.31.1" -rand = "0.8" -borsh = "1.5.7" -hex = "0.4.3" risc0-binfmt = "3.0.2" [build-dependencies] @@ -21,9 +22,9 @@ risc0-build = "3.0.3" risc0-binfmt = "3.0.2" [dev-dependencies] -test-program-methods = { path = "../test_program_methods" } +test_program_methods.workspace = true hex-literal = "1.0.0" [features] default = [] -no_docker = ["program-methods"] +no_docker = ["program_methods"] diff --git a/nssa/core/Cargo.toml b/nssa/core/Cargo.toml index 80fe7df..f317d34 100644 --- a/nssa/core/Cargo.toml +++ b/nssa/core/Cargo.toml @@ -1,21 +1,21 @@ [package] -name = "nssa-core" +name = "nssa_core" version = "0.1.0" edition = "2024" [dependencies] -risc0-zkvm = { version = "3.0.3", features = ['std'] } -serde = { version = "1.0", default-features = false } -thiserror = { version = "2.0.12" } -bytemuck = { version = "1.13", optional = true } +risc0-zkvm.workspace = true +borsh.workspace = true +serde = { workspace = true } +thiserror.workspace = true chacha20 = { version = "0.9", default-features = false } -k256 = { version = "0.13.3", optional = true } -base58 = { version = "0.2.0", optional = true } -anyhow = { version = "1.0.98", optional = true } -borsh = "1.5.7" +bytemuck = { workspace = true, optional = true } +k256 = { workspace = true, optional = true } +base58 = { workspace = true, optional = true } +anyhow = { workspace = true, optional = true } [dev-dependencies] -serde_json = "1.0.81" +serde_json.workspace = true [features] default = [] diff --git a/nssa/core/src/account.rs b/nssa/core/src/account.rs index c152581..bd18c80 100644 --- a/nssa/core/src/account.rs +++ b/nssa/core/src/account.rs @@ -44,11 +44,10 @@ impl AccountWithMetadata { } } -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Hash, BorshSerialize, BorshDeserialize)] -#[cfg_attr( - any(feature = "host", test), - derive(Debug, Copy, PartialOrd, Ord, Default) +#[derive( + Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, BorshSerialize, BorshDeserialize, )] +#[cfg_attr(any(feature = "host", test), derive(Debug, PartialOrd, Ord, Default))] pub struct AccountId { value: [u8; 32], } diff --git a/program_methods/Cargo.toml b/program_methods/Cargo.toml index 40dab21..5f0688a 100644 --- a/program_methods/Cargo.toml +++ b/program_methods/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "program-methods" +name = "program_methods" version = "0.1.0" edition = "2024" [build-dependencies] -risc0-build = { version = "3.0.3" } +risc0-build.workspace = true [package.metadata.risc0] methods = ["guest"] diff --git a/program_methods/guest/Cargo.lock b/program_methods/guest/Cargo.lock index 2c293ec..a9e314e 100644 --- a/program_methods/guest/Cargo.lock +++ b/program_methods/guest/Cargo.lock @@ -1571,7 +1571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" [[package]] -name = "nssa-core" +name = "nssa_core" version = "0.1.0" dependencies = [ "borsh", @@ -1811,7 +1811,7 @@ dependencies = [ name = "programs" version = "0.1.0" dependencies = [ - "nssa-core", + "nssa_core", "risc0-zkvm", "serde", ] diff --git a/program_methods/guest/Cargo.toml b/program_methods/guest/Cargo.toml index cf60940..37c1a8d 100644 --- a/program_methods/guest/Cargo.toml +++ b/program_methods/guest/Cargo.toml @@ -3,9 +3,8 @@ name = "programs" version = "0.1.0" edition = "2024" -[workspace] - [dependencies] -risc0-zkvm = { version = "3.0.3", features = ['std'] } -nssa-core = { path = "../../nssa/core" } -serde = { version = "1.0.219", default-features = false } +nssa_core.workspace = true + +risc0-zkvm.workspace = true +serde = { workspace = true, default-features = false } diff --git a/program_methods/guest/src/bin/privacy_preserving_circuit.rs b/program_methods/guest/src/bin/privacy_preserving_circuit.rs index 8d1688a..ffe4b13 100644 --- a/program_methods/guest/src/bin/privacy_preserving_circuit.rs +++ b/program_methods/guest/src/bin/privacy_preserving_circuit.rs @@ -107,7 +107,7 @@ fn main() { } else { pre_states.push(pre.clone()); } - state_diff.insert(pre.account_id.clone(), post.account().clone()); + state_diff.insert(pre.account_id, post.account().clone()); } // TODO: Modify when multi-chain calls are supported in the circuit diff --git a/program_methods/guest/src/bin/token.rs b/program_methods/guest/src/bin/token.rs index 739295b..1de0921 100644 --- a/program_methods/guest/src/bin/token.rs +++ b/program_methods/guest/src/bin/token.rs @@ -6,36 +6,35 @@ use nssa_core::{ }; // The token program has three functions: -// 1. New token definition. -// Arguments to this function are: -// * Two **default** accounts: [definition_account, holding_account]. -// The first default account will be initialized with the token definition account values. The second account will -// be initialized to a token holding account for the new token, holding the entire total supply. -// * An instruction data of 23-bytes, indicating the total supply and the token name, with -// the following layout: -// [0x00 || total_supply (little-endian 16 bytes) || name (6 bytes)] -// The name cannot be equal to [0x00, 0x00, 0x00, 0x00, 0x00, 0x00] -// 2. Token transfer -// Arguments to this function are: +// 1. New token definition. Arguments to this function are: +// * Two **default** accounts: [definition_account, holding_account]. The first default account +// will be initialized with the token definition account values. The second account will be +// initialized to a token holding account for the new token, holding the entire total supply. +// * An instruction data of 23-bytes, indicating the total supply and the token name, with the +// following layout: [0x00 || total_supply (little-endian 16 bytes) || name (6 bytes)] The +// name cannot be equal to [0x00, 0x00, 0x00, 0x00, 0x00, 0x00] +// 2. Token transfer Arguments to this function are: // * Two accounts: [sender_account, recipient_account]. -// * An instruction data byte string of length 23, indicating the total supply with the following layout -// [0x01 || amount (little-endian 16 bytes) || 0x00 || 0x00 || 0x00 || 0x00 || 0x00 || 0x00]. -// 3. Initialize account with zero balance -// Arguments to this function are: +// * An instruction data byte string of length 23, indicating the total supply with the +// following layout [0x01 || amount (little-endian 16 bytes) || 0x00 || 0x00 || 0x00 || 0x00 +// || 0x00 || 0x00]. +// 3. Initialize account with zero balance Arguments to this function are: // * Two accounts: [definition_account, account_to_initialize]. -// * An dummy byte string of length 23, with the following layout -// [0x02 || 0x00 || 0x00 || 0x00 || ... || 0x00 || 0x00]. -// 4. Burn tokens from a Token Holding account (thus lowering total supply) -// Arguments to this function are: +// * An dummy byte string of length 23, with the following layout [0x02 || 0x00 || 0x00 || 0x00 +// || ... || 0x00 || 0x00]. +// 4. Burn tokens from a Token Holding account (thus lowering total supply) Arguments to this +// function are: // * Two accounts: [definition_account, holding_account]. // * Authorization required: holding_account -// * An instruction data byte string of length 23, indicating the balance to burn with the folloiwng layout +// * An instruction data byte string of length 23, indicating the balance to burn with the +// folloiwng layout // [0x03 || amount (little-endian 16 bytes) || 0x00 || 0x00 || 0x00 || 0x00 || 0x00 || 0x00]. -// 5. Mint additional supply of tokens tokens to a Token Holding account (thus increasing total supply) -// Arguments to this function are: +// 5. Mint additional supply of tokens tokens to a Token Holding account (thus increasing total +// supply) Arguments to this function are: // * Two accounts: [definition_account, holding_account]. // * Authorization required: definition_account -// * An instruction data byte string of length 23, indicating the balance to mint with the folloiwng layout +// * An instruction data byte string of length 23, indicating the balance to mint with the +// folloiwng layout // [0x04 || amount (little-endian 16 bytes) || 0x00 || 0x00 || 0x00 || 0x00 || 0x00 || 0x00]. const TOKEN_DEFINITION_TYPE: u8 = 0; @@ -89,10 +88,10 @@ impl TokenDefinition { } impl TokenHolding { - fn new(definition_id: &AccountId) -> Self { + fn new(definition_id: AccountId) -> Self { Self { account_type: TOKEN_HOLDING_TYPE, - definition_id: definition_id.clone(), + definition_id, balance: 0, } } @@ -142,7 +141,7 @@ fn transfer(pre_states: &[AccountWithMetadata], balance_to_move: u128) -> Vec Vec panic!("Invalid selection"), } } @@ -1093,8 +1091,7 @@ mod tests { BalanceEnum::MintSuccess => 50_000, BalanceEnum::InitSupplyMint => 150_000, BalanceEnum::HoldingBalanceMint => 51_000, - BalanceEnum::MintOverflow => (2 as u128).pow(128) - 40_000, - _ => panic!("Invalid selection"), + BalanceEnum::MintOverflow => 2u128.pow(128) - 40_000, } } @@ -1290,7 +1287,7 @@ mod tests { assert!( *holding_post.account() == helper_account_constructor(AccountsEnum::InitMint).account ); - assert!(holding_post.requires_claim() == true); + assert!(holding_post.requires_claim()); } #[test] diff --git a/sequencer_core/Cargo.toml b/sequencer_core/Cargo.toml index 32c263c..158d436 100644 --- a/sequencer_core/Cargo.toml +++ b/sequencer_core/Cargo.toml @@ -4,6 +4,12 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa.workspace = true +nssa_core.workspace = true +common.workspace = true +storage.workspace = true +mempool.workspace = true + base58.workspace = true anyhow.workspace = true serde.workspace = true @@ -11,19 +17,6 @@ rand.workspace = true tempfile.workspace = true chrono.workspace = true log.workspace = true -nssa-core = { path = "../nssa/core", features = ["host"] } - -[dependencies.storage] -path = "../storage" - -[dependencies.mempool] -path = "../mempool" - -[dependencies.common] -path = "../common" - -[dependencies.nssa] -path = "../nssa" [features] default = [] diff --git a/sequencer_rpc/Cargo.toml b/sequencer_rpc/Cargo.toml index 395660f..2abd540 100644 --- a/sequencer_rpc/Cargo.toml +++ b/sequencer_rpc/Cargo.toml @@ -4,6 +4,11 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa.workspace = true +common.workspace = true +mempool.workspace = true +sequencer_core.workspace = true + anyhow.workspace = true serde_json.workspace = true log.workspace = true @@ -11,25 +16,10 @@ serde.workspace = true actix-cors.workspace = true futures.workspace = true base58.workspace = true -hex = "0.4.3" +hex.workspace = true tempfile.workspace = true base64.workspace = true itertools.workspace = true - actix-web.workspace = true tokio.workspace = true borsh.workspace = true - -# TODO: Move to workspace - -[dependencies.sequencer_core] -path = "../sequencer_core" - -[dependencies.common] -path = "../common" - -[dependencies.nssa] -path = "../nssa" - -[dependencies.mempool] -path = "../mempool" diff --git a/sequencer_runner/Cargo.toml b/sequencer_runner/Cargo.toml index 2f105ee..7200145 100644 --- a/sequencer_runner/Cargo.toml +++ b/sequencer_runner/Cargo.toml @@ -4,25 +4,15 @@ version = "0.1.0" edition = "2024" [dependencies] +common.workspace = true +sequencer_core = { workspace = true, features = ["testnet"] } +sequencer_rpc.workspace = true + +clap = { workspace = true, features = ["derive", "env"] } anyhow.workspace = true serde_json.workspace = true env_logger.workspace = true log.workspace = true actix.workspace = true - actix-web.workspace = true tokio.workspace = true - -[dependencies.clap] -features = ["derive", "env"] -workspace = true - -[dependencies.sequencer_rpc] -path = "../sequencer_rpc" - -[dependencies.sequencer_core] -path = "../sequencer_core" -features = ["testnet"] - -[dependencies.common] -path = "../common" diff --git a/storage/Cargo.toml b/storage/Cargo.toml index 2fd4628..4678560 100644 --- a/storage/Cargo.toml +++ b/storage/Cargo.toml @@ -4,10 +4,8 @@ version = "0.1.0" edition = "2024" [dependencies] +common.workspace = true + thiserror.workspace = true borsh.workspace = true - rocksdb.workspace = true - -[dependencies.common] -path = "../common" diff --git a/test_program_methods/Cargo.toml b/test_program_methods/Cargo.toml index 0317d2b..345c479 100644 --- a/test_program_methods/Cargo.toml +++ b/test_program_methods/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "test-program-methods" +name = "test_program_methods" version = "0.1.0" edition = "2024" [build-dependencies] -risc0-build = { version = "3.0.3" } +risc0-build.workspace = true [package.metadata.risc0] methods = ["guest"] diff --git a/test_program_methods/guest/Cargo.lock b/test_program_methods/guest/Cargo.lock index b2337cc..7edd368 100644 --- a/test_program_methods/guest/Cargo.lock +++ b/test_program_methods/guest/Cargo.lock @@ -1576,7 +1576,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" [[package]] -name = "nssa-core" +name = "nssa_core" version = "0.1.0" dependencies = [ "borsh", @@ -1825,7 +1825,7 @@ dependencies = [ name = "programs" version = "0.1.0" dependencies = [ - "nssa-core", + "nssa_core", "risc0-zkvm", "serde", ] diff --git a/test_program_methods/guest/Cargo.toml b/test_program_methods/guest/Cargo.toml index cf60940..2c65dc4 100644 --- a/test_program_methods/guest/Cargo.toml +++ b/test_program_methods/guest/Cargo.toml @@ -1,11 +1,10 @@ [package] -name = "programs" +name = "test_programs" version = "0.1.0" edition = "2024" -[workspace] - [dependencies] -risc0-zkvm = { version = "3.0.3", features = ['std'] } -nssa-core = { path = "../../nssa/core" } -serde = { version = "1.0.219", default-features = false } +nssa_core.workspace = true + +risc0-zkvm.workspace = true +serde = { workspace = true, default-features = false } diff --git a/test_program_methods/guest/src/bin/burner.rs b/test_program_methods/guest/src/bin/burner.rs index 5deef7c..3002e39 100644 --- a/test_program_methods/guest/src/bin/burner.rs +++ b/test_program_methods/guest/src/bin/burner.rs @@ -20,5 +20,9 @@ fn main() { let mut account_post = account_pre.clone(); account_post.balance -= balance_to_burn; - write_nssa_outputs(instruction_words, vec![pre], vec![AccountPostState::new(account_post)]); + write_nssa_outputs( + instruction_words, + vec![pre], + vec![AccountPostState::new(account_post)], + ); } diff --git a/test_program_methods/guest/src/bin/chain_caller.rs b/test_program_methods/guest/src/bin/chain_caller.rs index f2d3cb6..0cdac8d 100644 --- a/test_program_methods/guest/src/bin/chain_caller.rs +++ b/test_program_methods/guest/src/bin/chain_caller.rs @@ -13,9 +13,9 @@ fn main() { let ( ProgramInput { pre_states, - instruction: (balance, auth_transfer_id, num_chain_calls, pda_seed), + instruction: (balance, auth_transfer_id, num_chain_calls, pda_seed), }, - instruction_words + instruction_words, ) = read_nssa_inputs::(); let [recipient_pre, sender_pre] = match pre_states.try_into() { @@ -37,7 +37,7 @@ fn main() { let new_chained_call = ChainedCall { program_id: auth_transfer_id, instruction_data: instruction_data.clone(), - pre_states: vec![running_sender_pre.clone(), running_recipient_pre.clone()], // <- Account order permutation here + pre_states: vec![running_sender_pre.clone(), running_recipient_pre.clone()], /* <- Account order permutation here */ pda_seeds: pda_seed.iter().cloned().collect(), }; chained_calls.push(new_chained_call); diff --git a/test_program_methods/guest/src/bin/data_changer.rs b/test_program_methods/guest/src/bin/data_changer.rs index 9154440..cd1cc19 100644 --- a/test_program_methods/guest/src/bin/data_changer.rs +++ b/test_program_methods/guest/src/bin/data_changer.rs @@ -4,7 +4,13 @@ type Instruction = Vec; /// A program that modifies the account data by setting bytes sent in instruction. fn main() { - let (ProgramInput { pre_states, instruction: data }, instruction_words) = read_nssa_inputs::(); + let ( + ProgramInput { + pre_states, + instruction: data, + }, + instruction_words, + ) = read_nssa_inputs::(); let [pre] = match pre_states.try_into() { Ok(array) => array, @@ -13,7 +19,9 @@ fn main() { let account_pre = &pre.account; let mut account_post = account_pre.clone(); - account_post.data = data.try_into().expect("provided data should fit into data limit"); + account_post.data = data + .try_into() + .expect("provided data should fit into data limit"); write_nssa_outputs( instruction_words, diff --git a/test_program_methods/guest/src/bin/minter.rs b/test_program_methods/guest/src/bin/minter.rs index 51baa5e..6bc6855 100644 --- a/test_program_methods/guest/src/bin/minter.rs +++ b/test_program_methods/guest/src/bin/minter.rs @@ -1,4 +1,4 @@ -use nssa_core::program::{read_nssa_inputs, write_nssa_outputs, AccountPostState, ProgramInput}; +use nssa_core::program::{AccountPostState, ProgramInput, read_nssa_inputs, write_nssa_outputs}; type Instruction = (); @@ -14,5 +14,9 @@ fn main() { let mut account_post = account_pre.clone(); account_post.balance += 1; - write_nssa_outputs(instruction_words, vec![pre], vec![AccountPostState::new(account_post)]); + write_nssa_outputs( + instruction_words, + vec![pre], + vec![AccountPostState::new(account_post)], + ); } diff --git a/test_program_methods/guest/src/bin/nonce_changer.rs b/test_program_methods/guest/src/bin/nonce_changer.rs index 4ca6c73..17aa966 100644 --- a/test_program_methods/guest/src/bin/nonce_changer.rs +++ b/test_program_methods/guest/src/bin/nonce_changer.rs @@ -1,9 +1,9 @@ -use nssa_core::program::{read_nssa_inputs, write_nssa_outputs, AccountPostState, ProgramInput}; +use nssa_core::program::{AccountPostState, ProgramInput, read_nssa_inputs, write_nssa_outputs}; type Instruction = (); fn main() { - let (ProgramInput { pre_states, .. } , instruction_words) = read_nssa_inputs::(); + let (ProgramInput { pre_states, .. }, instruction_words) = read_nssa_inputs::(); let [pre] = match pre_states.try_into() { Ok(array) => array, @@ -14,5 +14,9 @@ fn main() { let mut account_post = account_pre.clone(); account_post.nonce += 1; - write_nssa_outputs(instruction_words ,vec![pre], vec![AccountPostState::new(account_post)]); + write_nssa_outputs( + instruction_words, + vec![pre], + vec![AccountPostState::new(account_post)], + ); } diff --git a/test_program_methods/guest/src/bin/program_owner_changer.rs b/test_program_methods/guest/src/bin/program_owner_changer.rs index 2b212c1..232fa30 100644 --- a/test_program_methods/guest/src/bin/program_owner_changer.rs +++ b/test_program_methods/guest/src/bin/program_owner_changer.rs @@ -1,4 +1,4 @@ -use nssa_core::program::{read_nssa_inputs, write_nssa_outputs, AccountPostState, ProgramInput}; +use nssa_core::program::{AccountPostState, ProgramInput, read_nssa_inputs, write_nssa_outputs}; type Instruction = (); @@ -14,5 +14,9 @@ fn main() { let mut account_post = account_pre.clone(); account_post.program_owner = [0, 1, 2, 3, 4, 5, 6, 7]; - write_nssa_outputs(instruction_words, vec![pre], vec![AccountPostState::new(account_post)]); + write_nssa_outputs( + instruction_words, + vec![pre], + vec![AccountPostState::new(account_post)], + ); } diff --git a/wallet/Cargo.toml b/wallet/Cargo.toml index c93b357..d34203f 100644 --- a/wallet/Cargo.toml +++ b/wallet/Cargo.toml @@ -4,6 +4,11 @@ version = "0.1.0" edition = "2024" [dependencies] +nssa_core.workspace = true +nssa.workspace = true +common.workspace = true +key_protocol.workspace = true + anyhow.workspace = true serde_json.workspace = true env_logger.workspace = true @@ -12,24 +17,14 @@ serde.workspace = true tokio.workspace = true tempfile.workspace = true clap.workspace = true -nssa-core = { path = "../nssa/core" } base64.workspace = true -bytemuck = "1.23.2" +bytemuck.workspace = true borsh.workspace = true base58.workspace = true -hex = "0.4.3" +hex.workspace = true rand.workspace = true itertools.workspace = true sha2.workspace = true futures.workspace = true async-stream = "0.3.6" indicatif = { version = "0.18.3", features = ["improved_unicode"] } - -[dependencies.key_protocol] -path = "../key_protocol" - -[dependencies.nssa] -path = "../nssa" - -[dependencies.common] -path = "../common"