mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-17 04:19:35 +00:00
Move the spel-framework dependency from the 0x-r4bbit/spel fork (v0.5.0 @ 91023c9, the refactor/lez-v020-compat branch) to the released logos-co/spel tag v0.6.0. spel v0.6.0 is built against the final logos-execution-zone v0.2.0, not the v0.2.0-rc6 this repo pinned. The two must match: with rc6, the guest ELF build fails because spel's lee_core::program::ValidityWindow and the repo's own copy are distinct types the #[lez_program] macro can't unify. So this also bumps every logos-execution-zone pin (lee/lee_core aliased as nssa/nssa_core, plus clock_core) from v0.2.0-rc6 to the final v0.2.0. - 10 Cargo.toml switched to logos-co/spel tag v0.6.0 - 24 logos-execution-zone pins across 18 Cargo.toml moved rc6 -> v0.2.0 - All 7 Cargo.lock files re-resolved (root + 5 guest workspaces + benchmark); pulls in lee_core v0.1.0 (v0.2.0) as a spel transitive dep Guest ImageIDs change as a result: the ID hashes the whole guest ELF, which links the updated spel-framework and lee_core object code, even though the program sources are unchanged. Update any ImageID-derived values (deployed program IDs, PDA addresses, AMM/ATA program-id inputs) before submitting transactions.
94 lines
3.2 KiB
TOML
94 lines
3.2 KiB
TOML
[workspace]
|
|
members = [
|
|
"programs/token/core",
|
|
"programs/token",
|
|
"programs/token/methods",
|
|
"programs/amm/core",
|
|
"programs/amm",
|
|
"programs/amm/methods",
|
|
"programs/ata/core",
|
|
"programs/ata",
|
|
"programs/ata/methods",
|
|
"programs/twap_oracle/core",
|
|
"programs/twap_oracle",
|
|
"programs/twap_oracle/methods",
|
|
"programs/stablecoin/core",
|
|
"programs/stablecoin",
|
|
"programs/stablecoin/methods",
|
|
"programs/integration_tests",
|
|
"tools/idl-gen",
|
|
"tools/risc0-packager",
|
|
]
|
|
exclude = [
|
|
"programs/token/methods/guest",
|
|
"programs/amm/methods/guest",
|
|
"programs/ata/methods/guest",
|
|
"programs/stablecoin/methods/guest",
|
|
"programs/twap_oracle/methods/guest",
|
|
# Cycle benchmarks: standalone crate, kept out of --workspace builds/tests/CI. Run on demand
|
|
# with `cargo test --manifest-path programs/benchmark/Cargo.toml -- --ignored --nocapture`.
|
|
"programs/benchmark"
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.dependencies]
|
|
nssa_core = { git = "https://github.com/logos-blockchain/logos-execution-zone.git", tag = "v0.2.0", features = ["host"], package = "lee_core" }
|
|
nssa = { git = "https://github.com/logos-blockchain/logos-execution-zone.git", tag = "v0.2.0", features = ["test-utils"], package = "lee" }
|
|
token_core = { path = "programs/token/core" }
|
|
token_program = { path = "programs/token" }
|
|
amm_core = { path = "programs/amm/core" }
|
|
amm_program = { path = "programs/amm" }
|
|
ata_core = { path = "programs/ata/core" }
|
|
ata_program = { path = "programs/ata" }
|
|
twap_oracle_core = { path = "programs/twap_oracle/core" }
|
|
twap_oracle_program = { path = "programs/twap_oracle" }
|
|
stablecoin_core = { path = "programs/stablecoin/core" }
|
|
stablecoin_program = { path = "programs/stablecoin" }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
borsh = { version = "1.5", features = ["derive"] }
|
|
risc0-zkvm = { version = "=3.0.5" }
|
|
serde_json = "1.0"
|
|
tokio = { version = "1.28.2", features = ["net", "rt-multi-thread", "sync", "macros"] }
|
|
|
|
[workspace.lints.rust]
|
|
rust_2018_idioms = { level = "deny", priority = -1 }
|
|
# deny (not forbid) so a targeted per-item #[allow] remains possible if ever needed
|
|
unsafe_code = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
# Deny only the groups where a new lint should always be a hard error.
|
|
# style/pedantic lints default to warn so toolchain upgrades don't break the
|
|
# build unexpectedly — they can be evaluated and addressed at our own pace.
|
|
correctness = { level = "deny", priority = -1 }
|
|
suspicious = { level = "deny", priority = -1 }
|
|
perf = { level = "deny", priority = -1 }
|
|
style = { level = "warn", priority = -1 }
|
|
|
|
# Generated-code / placeholder blockers.
|
|
dbg_macro = "deny"
|
|
todo = "deny"
|
|
unimplemented = "deny"
|
|
unwrap_used = "deny"
|
|
|
|
# Lint suppression hygiene.
|
|
allow_attributes = "warn"
|
|
allow_attributes_without_reason = "deny"
|
|
|
|
# Determinism, panic-safety, and arithmetic correctness.
|
|
arithmetic_side_effects = "deny"
|
|
indexing_slicing = "deny"
|
|
|
|
# Cast discipline.
|
|
as_conversions = "deny"
|
|
cast_possible_truncation = "deny"
|
|
cast_possible_wrap = "deny"
|
|
cast_sign_loss = "deny"
|
|
|
|
# API and enum evolution.
|
|
large_enum_variant = "deny"
|
|
wildcard_enum_match_arm = "deny"
|
|
|
|
# Too noisy for this codebase unless enforced selectively.
|
|
module_name_repetitions = "allow"
|
|
similar_names = "allow"
|