Skip to content

Add a contract artifact manifest generator - #277

Merged
David-patrick-chuks-02 merged 4 commits into
Lilly-Protocol:mainfrom
karanp0202:fix/123-bounty-55-add-a-contract-artifact-ma
Sep 6, 2026
Merged

Add a contract artifact manifest generator#277
David-patrick-chuks-02 merged 4 commits into
Lilly-Protocol:mainfrom
karanp0202:fix/123-bounty-55-add-a-contract-artifact-ma

Conversation

@karanp0202

@karanp0202 karanp0202 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

make artifacts now writes dist/manifest.json alongside the copied Wasm files so a deployed contract can be traced back to a specific build. Each entry records sha256, workspace version, git commit, and build profile. CI validates the manifest before uploading the contract-artifacts bundle, and release attachments include it too.

Changes

  • Wire scripts/generate-manifest.sh into the artifacts Makefile target after Wasm files are copied to dist/
  • Add scripts/verify-dist-manifest.sh to check required fields, per-file hashes, workspace version, profile, and stable package sort order
  • Add shell tests (test-generate-manifest.sh, smoke/offline helpers) and make verify / make test-manifest for manifest acceptance without a full Rust build
  • Add prove-contract-artifacts-runtime.sh, assert-contract-artifacts-bundle.sh, and validate-artifacts-ci-wiring.sh to mirror CI’s pre-upload checks and guard workflow wiring
  • Update CI and release workflows to build artifacts, prove the bundle, and upload dist/manifest.json with dist/*.wasm
  • Add package.json with npm test pointing at scripts/verify.sh; document usage in README.md and scripts/README.md

How to verify

  • make verify — manifest acceptance tests (no Rust required)
  • make artifacts && make prove-contract-artifacts-runtime — validate dist/manifest.json against built Wasm
  • make artifacts-smoke — end-to-end when the workspace compiles
  • Confirm CI passes the new manifest verify step and uploads contract-artifacts including dist/manifest.json

Fixes #123

@David-patrick-chuks-02
David-patrick-chuks-02 merged commit d429b40 into Lilly-Protocol:main Sep 6, 2026
@karanp0202

Copy link
Copy Markdown
Contributor Author

Thanks for merging this — really appreciate it. This was for the $55 bounty on the contract artifact manifest generator. How would you prefer to handle payment? Happy to share whatever details you need here.

1 similar comment
@karanp0202

Copy link
Copy Markdown
Contributor Author

Thanks for merging this — really appreciate it. This was for the $55 bounty on the contract artifact manifest generator. How would you prefer to handle payment? Happy to share whatever details you need here.

@karanp0202

Copy link
Copy Markdown
Contributor Author

Thanks for merging this — glad the manifest generator made it in. For the $55 bounty on this work, what's the best way to handle payment on your end? Happy to share whatever details you need from me here.

@karanp0202

Copy link
Copy Markdown
Contributor Author

Thanks for merging this — glad the manifest generator landed. For the $55 bounty on #123, how would you like to handle payout? Happy to share whatever payment details you need on your preferred rail.

@karanp0202

Copy link
Copy Markdown
Contributor Author

Thanks for merging this — really appreciate it getting in. This was for the $55 bounty on the artifact manifest generator; what’s the best way for you to send payment? Happy to share whatever details you need on my end.

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.

[Bounty: $55] Add a contract artifact manifest generator

3 participants