Skip to content

feat(solana): add depin-attest — T1 DePIN attestation plugin (Track C ⭐)#103

Open
xinaids wants to merge 1 commit into
zeroclaw-labs:mainfrom
xinaids:feat/depin-attest
Open

feat(solana): add depin-attest — T1 DePIN attestation plugin (Track C ⭐)#103
xinaids wants to merge 1 commit into
zeroclaw-labs:mainfrom
xinaids:feat/depin-attest

Conversation

@xinaids

@xinaids xinaids commented Jul 20, 2026

Copy link
Copy Markdown

The $40 Pi that writes to Solana

Track C DePIN — depin-attest is the reference implementation for ZeroClaw's DePIN layer.

Custody tier: T1 — never holds a key, never calls sendTransaction.

What's in it

Component Track Tier Summary
plugins/depin-attest C — DePIN T1 Reads a device sensor, builds unsigned Solana Memo tx with replay-guard nonce

Test table

Test What it proves Result
nonce_is_deterministic same device+slot → same nonce PASS
nonce_differs_by_slot replay guard works across slots PASS
nonce_differs_by_device two devices can't collide PASS
memo_format_includes_all_fields output is compact <400 chars PASS
tx_serializes_and_has_v0_prefix valid versioned tx wire format PASS
base64_roundtrip encode is RFC 4648 compliant PASS
prompt_injection_unknown_field_rejected fail closed on extra fields PASS
prompt_injection_sign_and_submit_ignored no T2 path exists in crate PASS
output_is_compact summary <300 chars (no context flood) PASS
replay_nonce_covers_slot_and_device nonce entropy verified PASS

10/10 PASScargo test --quiet

Bounty checklist

  • Layout matches plugins/redact-text
  • Pure core / thin shim
  • Host tests, no wasm toolchain needed
  • cargo build --target wasm32-wasip2 --release clean
  • cargo clippy --all-targets + --target wasm32-wasip2 clean
  • Structured logging via log-record
  • Manifest with minimal permissions
  • README: custody tier, threat model, wiring diagram, injection transcript
  • MIT License

Work in progress — engaging in #solana-bounty on Discord.

- Pure Rust core (attest.rs, memo.rs, tx.rs): zero wasm deps, hand-rolled
  Memo instruction, v0 tx serialization, no solana-sdk
- 10 host tests: nonce determinism, replay guard, prompt injection fail-closed
- cargo build --target wasm32-wasip2 --release + clippy both clean
- T1 custody: no signing path exists in the crate
- deny_unknown_fields guard verified by test transcript in README
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant