mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
## Summary - Adds automated license compliance checking via GitHub Actions CI workflow - Implements a license verification script that validates all Rust dependencies against approved licenses, authors, and packages - Standardizes author metadata across Cargo manifests to "Moonsong Labs" ## Changes **CI Workflow** (`.github/workflows/task-check-licenses.yml`) - Triggers on pull requests and manual dispatch - Installs Rust 1.88.0 toolchain and `cargo-license` tool - Executes license verification script to enforce compliance **License Verification Script** (`operator/scripts/verify-licenses.sh`) - Uses `cargo-license` to extract dependency license information - Maintains three allowlists: - **Licenses**: Apache-2.0, MIT, BSD variants, GPL-3.0, MPL-2.0, and compatible combinations - **Authors**: PureStake, Parity Technologies, Moonsong Labs, Frontier developers, StorageHub Team - **Package Names**: Known safe packages like ring - Fails the build if any dependency has unapproved license/author/name combination **Cargo Manifest Updates** - `operator/Cargo.toml`: Standardized workspace author to "Moonsong Labs" - `operator/precompiles/precompile-registry/Cargo.toml`: Uses workspace author field - `operator/runtime/common/Cargo.toml`: Added workspace author field ## Benefits - **Legal Compliance**: Ensures all dependencies use OSI-approved or compatible licenses - **Supply Chain Security**: Validates dependencies come from trusted sources - **Automated Enforcement**: Catches licensing issues during PR review rather than at release time - **Transparency**: Provides clear audit trail of approved licenses and authors
42 lines
No EOL
1.2 KiB
TOML
42 lines
No EOL
1.2 KiB
TOML
[package]
|
|
name = "pallet-evm-precompile-registry"
|
|
authors = { workspace = true }
|
|
description = "Registry of active precompiles"
|
|
edition = "2021"
|
|
version = { workspace = true }
|
|
|
|
[dependencies]
|
|
# Substrate
|
|
frame-support = { workspace = true }
|
|
frame-system = { workspace = true }
|
|
sp-core = { workspace = true }
|
|
sp-io = { workspace = true }
|
|
|
|
# Frontier
|
|
fp-evm = { workspace = true }
|
|
pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] }
|
|
precompile-utils = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
# Precompile utils for testing
|
|
precompile-utils = { workspace = true, features = ["std", "testing"] }
|
|
|
|
# Substrate
|
|
pallet-balances = { workspace = true, features = ["insecure_zero_ed", "std"] }
|
|
pallet-timestamp = { workspace = true, features = ["std"] }
|
|
parity-scale-codec = { workspace = true, features = ["max-encoded-len", "std"] }
|
|
scale-info = { workspace = true, features = ["derive", "std"] }
|
|
sp-runtime = { workspace = true, features = ["std"] }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = [
|
|
"fp-evm/std",
|
|
"frame-support/std",
|
|
"frame-system/std",
|
|
"pallet-evm/std",
|
|
"parity-scale-codec/std",
|
|
"precompile-utils/std",
|
|
"sp-core/std",
|
|
"sp-io/std",
|
|
] |