repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | --- |
| #2 | name: solana-attestation-skill |
| #3 | description: "Operate the Solana Attestation Service verification layer vendored under /attestation — create credentials, generate schemas, issue attestations for skills/agents/plugins, verify proof hashes, and bridge OpenClawd formal-verification outputs into on-chain attestations." |
| #4 | metadata: |
| #5 | openclaw: |
| #6 | homepage: https://github.com/clawdsolana/OpenClawd/tree/main/attestation |
| #7 | requires: |
| #8 | env: |
| #9 | - SOLANA_RPC_URL |
| #10 | - SAS_PROGRAM_ID |
| #11 | - SAS_AUTHORITY_KEY |
| #12 | --- |
| #13 | |
| #14 | # Solana Attestation Skill |
| #15 | |
| #16 | Use this skill when the task involves the vendored [`attestation/`](../../../attestation/) verification layer. |
| #17 | |
| #18 | ## Canonical Program Addresses |
| #19 | |
| #20 | - SAS Program ID: `22zoJMtdu4tQc2PzL74ZUT7FrwgB1Udec8DdW4yw4BdG` |
| #21 | - Token-2022 Program: `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` |
| #22 | - Event Authority PDA: `DzSpKpST2TSyrxokMXchFz3G2yn5WEGoxzpGEUDjCX4g` |
| #23 | |
| #24 | ## What This Skill Covers |
| #25 | |
| #26 | - Create and manage attestation credentials |
| #27 | - Generate or update attestation schemas |
| #28 | - Issue skill attestations for formal verification proofs |
| #29 | - Issue agent identity attestations with vault linkage |
| #30 | - Issue plugin attestations with audit proof hashes |
| #31 | - Verify existing attestations and surface verifier URLs |
| #32 | - Regenerate SAS IDL and clients from the vendored program |
| #33 | |
| #34 | ## OpenClawd Schemas |
| #35 | |
| #36 | ### Skill Attestation |
| #37 | |
| #38 | Layout: `[12, 32, 12, 8, 1]` |
| #39 | |
| #40 | ```json |
| #41 | { |
| #42 | "skill_id": "string", |
| #43 | "verifier_pubkey": "Pubkey", |
| #44 | "proof_hash": "string", |
| #45 | "verification_timestamp": "u64", |
| #46 | "is_formally_verified": "bool" |
| #47 | } |
| #48 | ``` |
| #49 | |
| #50 | ### Agent Identity |
| #51 | |
| #52 | Layout: `[12, 32, 12, 32, 1]` |
| #53 | |
| #54 | ```json |
| #55 | { |
| #56 | "agent_id": "string", |
| #57 | "wallet_pubkey": "Pubkey", |
| #58 | "skill_attestation": "string", |
| #59 | "vault_address": "Pubkey", |
| #60 | "is_vault_initialized": "bool" |
| #61 | } |
| #62 | ``` |
| #63 | |
| #64 | ### Plugin Attestation |
| #65 | |
| #66 | Layout: `[12, 32, 12, 34, 8, 1]` |
| #67 | |
| #68 | ```json |
| #69 | { |
| #70 | "plugin_id": "string", |
| #71 | "author_pubkey": "Pubkey", |
| #72 | "attestation_ref": "string", |
| #73 | "audit_proof_hash": "ProofHash", |
| #74 | "timestamp": "u64", |
| #75 | "is_audited": "bool" |
| #76 | } |
| #77 | ``` |
| #78 | |
| #79 | ## Local Source of Truth |
| #80 | |
| #81 | - Program: [`attestation/program`](../../../attestation/program) |
| #82 | - Core library: [`attestation/core`](../../../attestation/core) |
| #83 | - Rust client: [`attestation/clients/rust`](../../../attestation/clients/rust) |
| #84 | - TypeScript client: [`attestation/clients/typescript`](../../../attestation/clients/typescript) |
| #85 | - IDL: [`attestation/idl/solana_attestation_service.json`](../../../attestation/idl/solana_attestation_service.json) |
| #86 | - Integration tests: [`attestation/integration_tests`](../../../attestation/integration_tests) |
| #87 | |
| #88 | ## Standard Commands |
| #89 | |
| #90 | ```bash |
| #91 | cd attestation |
| #92 | cargo-build-sbf && SBF_OUT_DIR=$(pwd)/target/sbpf-solana-solana/release cargo test |
| #93 | ``` |
| #94 | |
| #95 | ```bash |
| #96 | cd attestation |
| #97 | pnpm install |
| #98 | pnpm run generate-idl |
| #99 | pnpm run generate-clients |
| #100 | ``` |
| #101 | |
| #102 | ## QEDGen Bridge |
| #103 | |
| #104 | Use this flow when promoting a locally verified capability into a trustless OpenClawd attestation: |
| #105 | |
| #106 | 1. Run the formal verification flow to produce a proof artifact. |
| #107 | 2. Hash the proof output with SHA-256. |
| #108 | 3. Create or confirm the relevant SAS schema. |
| #109 | 4. Issue the attestation with the resulting `proof_hash`. |
| #110 | 5. Record the attestation address in the skill/agent/plugin registry. |
| #111 | |
| #112 | ## Safety Rules |
| #113 | |
| #114 | - Never invent a proof hash. |
| #115 | - Never claim a component is formally verified without an attestation or source proof artifact. |
| #116 | - Prefer mainnet verification only after devnet rehearsal. |
| #117 | - Keep schema layout bytes aligned with the attested templates and registry docs. |
| #118 |