Skip to content

Docs 798 stream contract readme - #946

Closed
Killerjunior wants to merge 3 commits into
LabsCrypt:mainfrom
Killerjunior:docs-798-stream-contract-readme
Closed

Docs 798 stream contract readme#946
Killerjunior wants to merge 3 commits into
LabsCrypt:mainfrom
Killerjunior:docs-798-stream-contract-readme

Conversation

@Killerjunior

Copy link
Copy Markdown
Contributor

Description
Add dedicated crate-level documentation for contracts/stream_contract so integrators have a single entry point covering the public API, lifecycle, fee/treasury model, event topics, and error codes.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🔧 Refactoring (no functional changes)
  • ⚡ Performance improvement
  • 🧪 Test addition or update

Related Issues

Closes #798

Changes Made

  • Added contracts/stream_contract/README.md with:
    • contract overview and stream lifecycle (create/top_up/withdraw/cancel/pause/resume)
    • protocol fee and treasury model details
    • explicit note on fee rounding-to-zero behavior
    • full event topic reference
    • StreamError code/variant table
  • Added package description to contracts/stream_contract/Cargo.toml.
  • Wired crate docs to README via #![doc = include_str!("../README.md")] in contracts/stream_contract/src/lib.rs so generated docs and source of truth stay aligned.

Testing

Test Coverage

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed

Test Steps

  1. Open contracts/stream_contract/README.md and verify API, fee model, events, and error table are present.
  2. Verify contracts/stream_contract/src/lib.rs includes #![doc = include_str!("../README.md")].
  3. Verify contracts/stream_contract/Cargo.toml includes a description field.

Breaking Changes

Breaking Changes:

  • None.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked for breaking changes and documented them if applicable

@ogazboiz

ogazboiz commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

your branch is green, but it went conflicting after the ci fixes landed on main: #969 and #974 touched backend/Dockerfile and backend/src/workers/soroban-event-worker.ts, which this pr also edits. please rebase on main and it should be good to go: git fetch origin && git rebase origin/main && git push --force-with-lease. if any of your Dockerfile or soroban-event-worker changes overlap what #969 already did (copying prisma/ into the runner, and the import type { Prisma } from '../generated/prisma' fix), drop those now-redundant bits and keep just your actual change. i'll re-review and merge once it's rebased and ci is green.

@Killerjunior

Copy link
Copy Markdown
Contributor Author

Noted. making those changes now.

@Killerjunior

Copy link
Copy Markdown
Contributor Author

I created a new pr-946-clean from upstream/main and cherry-picked only the intended PR 946 commits.

Heres the link: #978. Kindly review once more.

@ogazboiz ogazboiz mentioned this pull request Jul 4, 2026
@ogazboiz

ogazboiz commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

closing as superseded by #978. the contracts part (Cargo.toml, README, lib.rs docs, the rounded-zero test) is byte-identical to #978, but this pr also bundles unrelated frontend changes (it guts streams/create/page.tsx and leaves an unbalanced JSX artifact in dashboard-view.tsx from a stale merge base), which is what makes it conflict. #978 is the clean contracts-only version, so i took that. thanks!

@ogazboiz ogazboiz closed this Jul 4, 2026
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.

[Docs] stream_contract crate has no README documenting public API, events, errors, and fee model

2 participants