feat: add reproducible build and attestation pipeline for stellar con…#46
Conversation
|
@Amarjeet325 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Hello @truthixify, please recheck my PR and close it.....#19 |
|
The reproducible-build deliverables are exactly what issue #19 asked for: pinned toolchain, the Dockerfile, the build script, a verify.js for offline verification, and the THREAT_MODEL.md. This is the kind of audit-grade pipeline we need before mainnet. Blocker: your branch is off pre-develop main, so the diff currently removes social-recovery test snapshots and the property-test harness from git fetch origin
git rebase origin/develop
git push --force-with-leaseAfter the rebase, the diff should only show your additions under |
3d65260 to
19d1915
Compare
19d1915 to
56c6975
Compare
|
Rebase is clean, just your 7 build/attestation files plus the CI workflow. Pinned toolchain, Dockerfile, build.sh, verify.js, threat model doc, all there. Merging. Thanks @Amarjeet325. |
Description
This PR implements the reproducible build attestation pipeline to ensure that the Wasm deployed on the Stellar network can be mathematically proven to match a specific commit in this repository.
Resolves #19
Changes Included
rust-toolchain.tomlto pin the Rust version andwasm32-unknown-unknowntarget.Dockerfilebased ondebian:bookworm-slim(pinned by sha256) and abuild.shscript to cleanly compile and optimize the Stellar contracts.attestation.jsonmanifest containing the Git commit hash, toolchain versions, and the SHA256 hashes of the resulting Wasm files..github/workflows/stellar-attestation.ymlto automatically build the container on new version tags, sign the attestation using Sigstore/Cosign (keyless OIDC), and publish the artifacts to GitHub Releases.pnpm verify:stellar-deployment) that fetches the on-chain Wasm hash via the Stellar RPC and compares it to the published attestation.THREAT_MODEL.mdoutlining the exact security guarantees and limitations of this pipeline.How to Verify
contracts/stellar.pnpm install.attestation.jsonor run against a test deployment):