Merge pull request #317 from logos-blockchain/drusu/license

Add Licensing + cargo deny check to ensure all dependencies are compliant
This commit is contained in:
davidrusu 2026-02-04 08:55:03 +04:00 committed by GitHub
commit dac773fa03
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 512 additions and 417 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 - name: Check for unused dependencies
run: cargo machete 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: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60 timeout-minutes: 60
@ -70,6 +83,10 @@ jobs:
- uses: ./.github/actions/install-risc0 - uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain - name: Install active toolchain
run: rustup install run: rustup install
@ -95,6 +112,10 @@ jobs:
- uses: ./.github/actions/install-risc0 - uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain - name: Install active toolchain
run: rustup install run: rustup install
@ -119,6 +140,10 @@ jobs:
- uses: ./.github/actions/install-risc0 - uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install active toolchain - name: Install active toolchain
run: rustup install run: rustup install

802
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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