Skip to content

Feature/kora contributing changelog threat model semver#332

Merged
OxDev-max merged 5 commits into
OpenLedger-Foundation:mainfrom
Almikefred:feature/kora-contributing-changelog-threat-model-semver
Jun 28, 2026
Merged

Feature/kora contributing changelog threat model semver#332
OxDev-max merged 5 commits into
OpenLedger-Foundation:mainfrom
Almikefred:feature/kora-contributing-changelog-threat-model-semver

Conversation

@Almikefred

Copy link
Copy Markdown
Contributor

Closes #251, Closes #252, Closes #253, Closes #254

…penLedger-Foundation#251)

Adds a dedicated "Testing & Verification" section that walks new contributors through:
- Exact verification commands (make fmt, make lint, cargo test --all)
- How to interpret and extend AUDIT FIX embedded comment convention
- PR expectations and standards
- Reference to AUDIT_LOG.md for audit finding tracking
…ntries (OpenLedger-Foundation#252)

- Add Keep-a-Changelog maintenance process to CONTRIBUTING.md
- Include guidance on when and how to add changelog entries
- Document AUDIT FIX entry format and cross-referencing to AUDIT_LOG.md
- Backfill CHANGELOG.md [Unreleased] with B27 event deduplication fix
- Create AUDIT_LOG.md tracking findings B2, B16, B27 with status and mitigations
- Add release checklist and audit finding template for future entries
Create THREAT_MODEL.md with comprehensive threat analysis across all 7 contracts:

Threat Actors:
- Malicious investor: capabilities & defenses (auth requirements, immutable positions)
- Malicious SME: capabilities & defenses (off-chain metadata, risk scoring, amount validation)
- Compromised admin key: capabilities & mitigations (pause limits damage, fee bounds, audit trail)
- Malicious third-party contract: capabilities & defenses (token allowlist, Soroban isolation)

Include:
- Attack vectors (flash loans, metadata tampering, fee extraction, default manipulation, storage exhaustion)
- Security assumptions (Stellar network, Soroban runtime, token safety, IPFS, verifier integrity)
- Planned improvements for v2 (multisig B2, timelock, emergency pause, governance defaults)
- Pre-mainnet verification checklist
- Links to SECURITY.md and AUDIT_LOG.md for audit finding references
…hes (OpenLedger-Foundation#254)

Add comprehensive release and deployment verification framework:

docs/RELEASE.md:
- Semantic versioning (MAJOR.MINOR.PATCH) guidance
- Step-by-step release workflow:
  * Update Cargo.toml version numbers
  * Finalize CHANGELOG.md and AUDIT_LOG.md
  * Build and optimize WASM binaries
  * Record SHA-256 hashes for each contract
  * Create git tags and GitHub releases
- WASM hash verification procedures
- Scripts to verify deployed contracts match released binaries
- Network promotion workflow (testnet → mainnet)
- Rollback and emergency procedures
- Pre-release checklist

scripts/record-wasm-hashes.sh:
- Automated script to compute and store WASM hashes
- Creates releases/vX.Y.Z.hashes file in standard sha256sum format
- Outputs verification commands for local testing
- Guides user through next steps (tag, push, release)

.github/workflows/release.yml:
- Stub GitHub Actions workflow for future automation
- Documents intended behavior with TODO comments
- Will automate hash recording on tag push (v2 enhancement)
- Includes release creation and asset upload template

Updated CONTRIBUTING.md:
- Add "Release Process" section linking to docs/RELEASE.md
- Brief summary of version bump and hash recording workflow

This enables verifiable releases: users can confirm that deployed contracts
match the released WASM binaries using published hashes.
@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@Almikefred 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! 🚀

Learn more about application limits

@OxDev-max OxDev-max merged commit 892e327 into OpenLedger-Foundation:main Jun 28, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants