Skip to content

deps: bump p3-merkle-tree from 0.4.2 to 0.5.2#5

Closed
dependabot[bot] wants to merge 34 commits intomainfrom
dependabot/cargo/p3-merkle-tree-0.5.2
Closed

deps: bump p3-merkle-tree from 0.4.2 to 0.5.2#5
dependabot[bot] wants to merge 34 commits intomainfrom
dependabot/cargo/p3-merkle-tree-0.5.2

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot bot commented on behalf of github Mar 29, 2026

Bumps p3-merkle-tree from 0.4.2 to 0.5.2.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

trusts-stack-network and others added 30 commits March 15, 2026 11:16
Trust Stack Network: Layer 1 blockchain with Plonky2 STARKs,
ML-DSA-65, Poseidon2, shielded transactions, fast-sync protocol,
and anti-fork protections. 81,000+ lines of Rust.
Delete 7 Halo2 files (circuit, prover, validator, shielded, optimized).
Plonky3 adapter and p3-* crates already added in previous commit.
Update Cargo.lock to reflect dependency changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reflects the completed Plonky3 STARK migration (Phase 12).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Clean all legacy references. Update bibliography to Plonky3/Polygon Labs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add NodeRole enum with capabilities (can_mine, can_relay, can_prove, stores_full_chain)
- Add --role CLI flag to Node subcommand (default: miner)
- Add role field to P2P HandshakeMessage (backwards compatible)
- Role-based startup behavior (LightClient skips mining, Relay relays only, etc.)
- Multi-peer snapshot verification (>50% consensus required)
- Migration hash (SHA-256 of V1+V2 roots) in state snapshots
- MiningStatus enum with explicit warnings when miner is behind network tip
- Create plonky3-wasm/ crate with WasmProverP3 (wasm-bindgen)
- Add export_viewing_key() and from_viewing_key() to ShieldedWallet
- Add scan_block_view_only() for watch-only wallets
- Add REST endpoints: GET /wallet/viewing-key, POST /wallet/watch
- RoleValidator: enforces ONE role per node, no dual roles
- RoleProof: peers must prove capabilities (MIK for miners, chain height for relays, sample proof for provers)
- PeerTask routing: work only sent to verified capable nodes
- Fraud strikes: 3 failed validations = ban
- Re-validation every 10 minutes
- 8 unit tests covering all scenarios
- Remove Prover node role — ZK proofs now generated by Miners
- Update config: DEV_FEE_PERCENT=5, RELAY_POOL_PERCENT=3, miner=92%
- Add relay_pool() function in config/mod.rs
- Update README: 3 node types, new reward table
- Update whitepaper, brand guides, wallet docs
- Rename "dev fund" → "dev fees" everywhere

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add libp2p P2P: GossipSub, Kademlia, AutoNAT, Relay, DCUtR
- CLI: ./tsn miner/relay/light with auto-port, auto-wallet, auto-datadir
- CLI: ./tsn balance scans via node API (no more stale offline scan)
- Wallet for relay/light nodes (-w flag)
- API starts before sync (no more deadlock on bootstrap)
- Sync loop: continuous fetch when behind (not 1 batch per 30s)
- Explorer: P2P peers with real PeerIDs + autoName
- Explorer: resilient offline detection (5 failures threshold)
- Reward distribution: 92% miner / 5% dev fees / 3% relay pool
- Default port: 9333 (was 8333)
- Node banner: colored, shows threads, address, reward split
- /node/info and /peers/p2p API endpoints

Known issue: seeds desync after fast-sync (difficulty validation)
TODO: fix difficulty validation post-snapshot, Phase 3 (./tsn send)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix: fast_sync_base_height tracked in blockchain struct + DB metadata
- Fix: skip difficulty validation when adjustment window extends before snapshot
- Fix: import_snapshot_at_height takes next_difficulty from peer
- Fix: P2P identify messages deduplicated (HashSet per peer)
- Fix: peer heights tracked via GossipSub block messages
- PeerInfo now includes height field
- Tested: 15+ minutes stable, 3 difficulty adjustments passed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CLI: ./tsn send --to <pk_hash> --amount 10 --fee 0.001
- Parses wallet, scans via API, selects notes (greedy)
- Gets merkle witnesses from node API (manual JSON parsing)
- Generates Plonky2 STARK proof via TransactionProver
- Builds SpendDescriptionV2 + OutputDescriptionV2 with ML-DSA-65 signatures
- Submits via POST /tx/v2
- wallet.nullifier_key_bytes() added

WIP: Merkle path verification fails — V1 note randomness (Fr/BN254)
vs V2 prover expects PQ randomness ([u8;32]). Need to use PQ
commitment data for spending, not V1 data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- WalletNote: pq_randomness + pq_commitment fields (stored in JSON)
- scan_block: extracts PQ data from coinbase via decrypt_note_pq
- cmd_send: uses pq_randomness for V2 spending
- Discord: Prover role deleted, choose-your-role message updated (3 roles)
- wallet.rs: nullifier_key_bytes() for PQ proof witnesses

Known blocker: blocks not persisted in DB (RAM only) — rescan impossible
after restart. Need Option A (save notes at mine time) or B (persist blocks).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Miner saves coinbase notes to wallet.json after each mined block
- Correct position calculation using chain.state().commitment_count()
- wallet.pq_randomness and pq_commitment properly stored and loaded
- Discord: Prover role removed, choose-your-role updated

Remaining blocker: commitment_count() returns stale value after fast-sync
+ HTTP block sync. The PQ commitment tree doesn't get properly updated
when syncing blocks via HTTP. Positions are off → witness 404.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- REMOVED rate limiter (was causing 429 deadlocks between nodes)
- TX V2 relay: submit_transaction_v2 now relays to peers via P2P + HTTP
- cmd_send: relays TX directly to all seed nodes for fast propagation
- New wallet creation: shows 24-word seed phrase, requires YES confirmation
- Auto-save mined notes to wallet.json with correct positions + PQ data

Known issue: fast-sync doesn't trigger when sync background starts first
(seeds sync block-by-block instead of snapshot — slow but works)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
TSN Team and others added 3 commits March 22, 2026 16:43
Root cause of all sync issues:
1. Node-1 was NOT in SEED_NODES — new nodes couldn't find it for fast-sync
2. /tip endpoint was accidentally removed during route refactoring

Both fixes restore fast-sync: fresh nodes go from 0 to 21000+ in ~3s.
Rate limiter completely removed (no more 429 between nodes).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Miner syncs via fast-sync, mines blocks, handles block races
- Auto re-fast-sync when stuck after losing a block race
- Sync tolerance: accept ±5 blocks gap (no exact hash match required)
- Timeout not fatal: start mining anyway if chain has blocks
- Reorg check disabled in fast-sync zone (placeholder hashes)
- First successful mining on production network: 184 TSN earned (4 blocks)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Major release with automatic node updates, cross-platform builds, and new features:

- P2P auto-update: nodes detect new versions via peer handshake, download from
  GitHub/tsnchain.com fallback, verify SHA256 + Ed25519 signature, self-update
- `tsn update` CLI command for manual updates
- GitHub Actions CI: automated builds for Linux/macOS(x86+ARM)/Windows
- Ed25519 release signing (tools/sign-release.py)
- MiningHashContext: zero-alloc mining hot loop (pre-allocated 212B header)
- Stablecoin module (ZST): reserve engine with 76 tests
- AMM pool contract template
- Wallet v1.2.0: TX history, received TX detection, nullifier PQ sync
- Explorer hashrate corrected (difficulty / block_time)
- P2P version gate: disconnect peers below MINIMUM_VERSION
- Simplified CLI: `./tsn miner -t 4` auto-detects everything
- README fully rewritten with accurate stats (94k+ lines, 369 tests)
- Token value disclaimer added (no value during testnet)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 29, 2026
Bumps [p3-merkle-tree](https://github.com/Plonky3/Plonky3) from 0.4.2 to 0.5.2.
- [Release notes](https://github.com/Plonky3/Plonky3/releases)
- [Changelog](https://github.com/Plonky3/Plonky3/blob/main/CHANGELOG.md)
- [Commits](Plonky3/Plonky3@p3-merkle-tree-v0.4.2...p3-merkle-tree-v0.5.2)

---
updated-dependencies:
- dependency-name: p3-merkle-tree
  dependency-version: 0.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 29, 2026
@dependabot @github
Copy link
Copy Markdown
Author

dependabot bot commented on behalf of github Mar 29, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/cargo/p3-merkle-tree-0.5.2 branch March 29, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant