Merge branch 'main' into schouhy/add-wallet-ffi-tests

This commit is contained in:
Sergio Chouhy 2026-02-04 20:31:35 -03:00
commit 2fc1ec0fdc
52 changed files with 181 additions and 106 deletions

50
.deny.toml Normal file
View File

@ -0,0 +1,50 @@
# Config file reference can be found at https://embarkstudios.github.io/cargo-deny/checks/cfg.html.
[graph]
all-features = true
exclude-dev = true
no-default-features = true
[advisories]
ignore = [
{ id = "RUSTSEC-2023-0071", reason = "Marvin Attack: potential key recovery through timing sidechannels" },
{ id = "RUSTSEC-2024-0388", reason = "`derivative` is unmaintained; consider using an alternative. Use `cargo tree -p derivative -i > tmp.txt` to check the dependency tree." },
{ id = "RUSTSEC-2024-0436", reason = "`paste` has a security vulnerability; consider using an alternative. Use `cargo tree -p paste -i > tmp.txt` to check the dependency tree." },
{ id = "RUSTSEC-2025-0055", reason = "`tracing-subscriber` v0.2.25 pulled in by ark-relations v0.4.0 - will be addressed before mainnet" },
{ id = "RUSTSEC-2025-0141", reason = "`bincode` is unmaintained but continuing to use it." },
]
yanked = "deny"
unused-ignored-advisory = "deny"
[bans]
allow-wildcard-paths = false
multiple-versions = "allow"
[licenses]
allow = [
"Apache-2.0 WITH LLVM-exception",
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"CDLA-Permissive-2.0",
"ISC",
"MIT",
"MPL-2.0",
"Unicode-3.0",
"Zlib",
]
private = { ignore = false }
unused-allowed-license = "deny"
[sources]
allow-git = [
"https://github.com/EspressoSystems/jellyfish.git",
"https://github.com/logos-blockchain/logos-blockchain.git",
]
unknown-git = "deny"
unknown-registry = "deny"
[sources.allow-org]
github = ["logos-co"]

View File

@ -0,0 +1,19 @@
name: Setup Logos Blockchain Circuits
description: Set up Logos Blockchain Circom Circuits, Rapidsnark prover and Rapidsnark verifier using the setup-logos-blockchain-circuits.sh script.
inputs:
github-token:
description: GitHub token for downloading releases
required: true
runs:
using: "composite"
steps:
- name: Setup logos-blockchain-circuits
shell: bash
working-directory: ${{ github.workspace }}
env:
GITHUB_TOKEN: ${{ inputs.github-token }}
run: |
curl -sSL https://raw.githubusercontent.com/logos-blockchain/logos-blockchain/main/scripts/setup-logos-blockchain-circuits.sh | bash

View File

@ -56,6 +56,19 @@ jobs:
- name: Check for unused dependencies
run: cargo machete
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.head_ref }}
- name: Install cargo-deny
run: cargo install --locked cargo-deny
- name: Check licenses and advisories
run: cargo deny check
lint:
runs-on: ubuntu-latest
timeout-minutes: 60
@ -70,6 +83,10 @@ jobs:
- uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain
run: rustup install
@ -95,6 +112,10 @@ jobs:
- uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain
run: rustup install
@ -119,6 +140,10 @@ jobs:
- uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain
run: rustup install

157
Cargo.lock generated
View File

@ -821,17 +821,6 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
"winapi",
]
[[package]]
name = "autocfg"
version = "1.5.0"
@ -1123,9 +1112,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
version = "1.11.0"
version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
dependencies = [
"serde",
]
@ -1183,21 +1172,21 @@ dependencies = [
[[package]]
name = "cbindgen"
version = "0.26.0"
version = "0.29.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49"
checksum = "befbfd072a8e81c02f8c507aefce431fe5e7d051f83d48a23ffc9b9fe5a11799"
dependencies = [
"clap 3.2.25",
"heck 0.4.1",
"indexmap 1.9.3",
"clap",
"heck",
"indexmap 2.13.0",
"log",
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn 1.0.109",
"syn 2.0.114",
"tempfile",
"toml 0.5.11",
"toml 0.9.11+spec-1.1.0",
]
[[package]]
@ -1296,21 +1285,6 @@ dependencies = [
"libloading",
]
[[package]]
name = "clap"
version = "3.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
dependencies = [
"atty",
"bitflags 1.3.2",
"clap_lex 0.2.4",
"indexmap 1.9.3",
"strsim 0.10.0",
"termcolor",
"textwrap",
]
[[package]]
name = "clap"
version = "4.5.56"
@ -1329,8 +1303,8 @@ checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0"
dependencies = [
"anstream",
"anstyle",
"clap_lex 0.7.7",
"strsim 0.11.1",
"clap_lex",
"strsim",
]
[[package]]
@ -1339,21 +1313,12 @@ version = "4.5.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5"
dependencies = [
"heck 0.5.0",
"heck",
"proc-macro2",
"quote",
"syn 2.0.114",
]
[[package]]
name = "clap_lex"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
dependencies = [
"os_str_bytes",
]
[[package]]
name = "clap_lex"
version = "0.7.7"
@ -1632,7 +1597,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim 0.11.1",
"strsim",
"syn 2.0.114",
]
@ -1646,7 +1611,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim 0.11.1",
"strsim",
"syn 2.0.114",
]
@ -1708,7 +1673,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de"
dependencies = [
"data-encoding",
"syn 2.0.114",
"syn 1.0.109",
]
[[package]]
@ -1872,7 +1837,7 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e92f10a49176cbffacaedabfaa11d51db1ea0f80a83c26e1873b43cd1742c24"
dependencies = [
"heck 0.5.0",
"heck",
"proc-macro2",
"proc-macro2-diagnostics",
]
@ -2487,27 +2452,12 @@ dependencies = [
"hashbrown 0.15.5",
]
[[package]]
name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.5.2"
@ -2871,7 +2821,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"clap 4.5.56",
"clap",
"env_logger",
"indexer_service_protocol",
"indexer_service_rpc",
@ -2999,7 +2949,7 @@ version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
dependencies = [
"hermit-abi 0.5.2",
"hermit-abi",
"libc",
"windows-sys 0.61.2",
]
@ -3210,7 +3160,7 @@ version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07"
dependencies = [
"heck 0.5.0",
"heck",
"proc-macro-crate",
"proc-macro2",
"quote",
@ -4412,12 +4362,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "os_str_bytes"
version = "6.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
[[package]]
name = "overwatch"
version = "0.1.0"
@ -4658,7 +4602,7 @@ dependencies = [
name = "program_deployment"
version = "0.1.0"
dependencies = [
"clap 4.5.56",
"clap",
"nssa",
"nssa_core",
"tokio",
@ -5677,7 +5621,7 @@ dependencies = [
"actix",
"actix-web",
"anyhow",
"clap 4.5.56",
"clap",
"common",
"env_logger",
"log",
@ -5769,6 +5713,15 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_spanned"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
dependencies = [
"serde_core",
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@ -5996,12 +5949,6 @@ dependencies = [
"thiserror 2.0.18",
]
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strsim"
version = "0.11.1"
@ -6023,7 +5970,7 @@ version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
dependencies = [
"heck 0.5.0",
"heck",
"proc-macro2",
"quote",
"syn 2.0.114",
@ -6168,12 +6115,6 @@ dependencies = [
"risc0-zkvm",
]
[[package]]
name = "textwrap"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
[[package]]
name = "thiserror"
version = "1.0.69"
@ -6364,15 +6305,6 @@ dependencies = [
"tokio",
]
[[package]]
name = "toml"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
dependencies = [
"serde",
]
[[package]]
name = "toml"
version = "0.8.23"
@ -6380,11 +6312,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
dependencies = [
"serde",
"serde_spanned",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"toml_edit 0.22.27",
]
[[package]]
name = "toml"
version = "0.9.11+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46"
dependencies = [
"indexmap 2.13.0",
"serde_core",
"serde_spanned 1.0.4",
"toml_datetime 0.7.5+spec-1.1.0",
"toml_parser",
"toml_writer",
"winnow",
]
[[package]]
name = "toml_datetime"
version = "0.6.11"
@ -6411,7 +6358,7 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
dependencies = [
"indexmap 2.13.0",
"serde",
"serde_spanned",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"toml_write",
"winnow",
@ -6444,6 +6391,12 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
[[package]]
name = "toml_writer"
version = "1.0.6+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
[[package]]
name = "tower"
version = "0.4.13"
@ -6717,7 +6670,7 @@ dependencies = [
"base64",
"borsh",
"bytemuck",
"clap 4.5.56",
"clap",
"common",
"env_logger",
"futures",

View File

@ -1,3 +1,6 @@
[workspace.package]
license = "MIT or Apache-2.0"
[workspace]
resolver = "3"
members = [

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,6 +2,7 @@
name = "bedrock_client"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
reqwest.workspace = true

View File

@ -2,6 +2,7 @@
name = "common"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa.workspace = true

View File

@ -2,6 +2,7 @@
name = "program_deployment"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa.workspace = true

View File

@ -2,6 +2,7 @@
name = "example_program_deployment_methods"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[build-dependencies]
risc0-build.workspace = true

View File

@ -2,6 +2,7 @@
name = "example_program_deployment_programs"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core.workspace = true

View File

@ -2,6 +2,7 @@
name = "indexer_core"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
common.workspace = true

View File

@ -2,6 +2,7 @@
name = "indexer_service"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
indexer_service_protocol.workspace = true

View File

@ -2,6 +2,7 @@
name = "indexer_service_protocol"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core = { workspace = true, optional = true, features = ["host"] }

View File

@ -2,6 +2,7 @@
name = "indexer_service_rpc"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
indexer_service_protocol = { workspace = true }

View File

@ -2,6 +2,7 @@
name = "integration_tests"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core = { workspace = true, features = ["host"] }

View File

@ -277,6 +277,7 @@ impl Drop for TestContext {
}
}
/// A test context to be used in normal #[test] tests
pub struct BlockingTestContext {
pub ctx: TestContext,
pub runtime: tokio::runtime::Runtime,

View File

@ -2,6 +2,7 @@
name = "key_protocol"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa.workspace = true

View File

@ -2,6 +2,7 @@
name = "mempool"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
tokio = { workspace = true, features = ["sync"] }

View File

@ -2,6 +2,7 @@
name = "nssa"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core = { workspace = true, features = ["host"] }

View File

@ -2,6 +2,7 @@
name = "nssa_core"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
risc0-zkvm.workspace = true

View File

@ -2,6 +2,7 @@
name = "program_methods"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[build-dependencies]
risc0-build.workspace = true

View File

@ -2,6 +2,7 @@
name = "programs"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core.workspace = true

View File

@ -2,6 +2,7 @@
name = "sequencer_core"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa.workspace = true

View File

@ -2,6 +2,7 @@
name = "sequencer_rpc"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa.workspace = true

View File

@ -2,6 +2,7 @@
name = "sequencer_runner"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
common.workspace = true

View File

@ -2,6 +2,7 @@
name = "storage"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
common.workspace = true

View File

@ -2,6 +2,7 @@
name = "test_program_methods"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[build-dependencies]
risc0-build.workspace = true

View File

@ -2,6 +2,7 @@
name = "test_programs"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core.workspace = true

View File

@ -2,6 +2,7 @@
name = "wallet-ffi"
version = "0.1.0"
edition = "2021"
license = { workspace = true }
[lib]
crate-type = ["rlib", "cdylib", "staticlib"]
@ -14,7 +15,7 @@ nssa_core.workspace = true
tokio.workspace = true
[build-dependencies]
cbindgen = "0.26"
cbindgen = "0.29"
[dev-dependencies]
tempfile = "3"

View File

@ -24,7 +24,7 @@
#ifndef WALLET_FFI_H
#define WALLET_FFI_H
/* Generated with cbindgen:0.26.0 */
/* Generated with cbindgen:0.29.2 */
#include <stdarg.h>
#include <stdbool.h>
@ -676,4 +676,4 @@ char *wallet_ffi_get_sequencer_addr(struct WalletHandle *handle);
*/
void wallet_ffi_free_string(char *ptr);
#endif /* WALLET_FFI_H */
#endif /* WALLET_FFI_H */

View File

@ -2,6 +2,7 @@
name = "wallet"
version = "0.1.0"
edition = "2024"
license = { workspace = true }
[dependencies]
nssa_core.workspace = true

View File

@ -545,6 +545,7 @@ impl WalletCore {
.insert_private_account_data(affected_account_id, new_acc);
}
}
pub fn config_path(&self) -> &PathBuf {
&self.config_path
}
@ -556,5 +557,4 @@ impl WalletCore {
pub fn config_overrides(&self) -> &Option<WalletConfigOverrides> {
&self.config_overrides
}
}