Skip to content

feat(docs): Add sequence diagrams and expand open source issues (#652, #664) - #725

Merged
ritik4ever merged 1 commit into
ritik4ever:mainfrom
temitope-007:feature/issue-652-664
Jul 30, 2026
Merged

feat(docs): Add sequence diagrams and expand open source issues (#652, #664)#725
ritik4ever merged 1 commit into
ritik4ever:mainfrom
temitope-007:feature/issue-652-664

Conversation

@temitope-007

@temitope-007 temitope-007 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Description

This PR addresses two documentation enhancements for the repository:

  1. Sequence Diagrams: Added Mermaid sequence diagrams for the Freighter pledge signing flow and the refund flow in ARCHITECTURE_DIAGRAMS.md. Both diagrams include PNG fallbacks as requested.
  2. Open Source Issues: Expanded OPEN_SOURCE_ISSUES.md from a few ideas to 21 well-defined contribution opportunities, complete with title, difficulty, estimated effort, files to modify, and tags. Exactly 5 of these issues are marked as good first issue.

Acceptance Criteria Met

  • All diagrams render on GitHub (Mermaid syntax used).
  • Pledge and refund flows documented.
  • PNG fallbacks present.
  • At least 20 issues listed (21 total).
  • Difficulty and effort realistic.
  • 5 items tagged good first issue.

Closes #652
Closes #664

Summary by CodeRabbit

  • Documentation
    • Added architecture diagrams for pledge signing and refund flows, including Mermaid diagrams and image fallbacks.
    • Reorganized open-source contribution opportunities into a concise, consistent format with difficulty, effort, affected files, and tags.
    • Expanded the contribution-opportunity list to more than 20 items.

- Adds Freighter pledge and refund sequence diagrams with PNG fallbacks (ritik4ever#652)
- Expands OPEN_SOURCE_ISSUES.md to 20+ issues with difficulty tags (ritik4ever#664)
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@temitope-007 is attempting to deploy a commit to the ritik4ever's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@temitope-007 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

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aeaf6e24-c37b-466d-a325-81d76af2319e

📥 Commits

Reviewing files that changed from the base of the PR and between 10f827c and bf01774.

📒 Files selected for processing (2)
  • ARCHITECTURE_DIAGRAMS.md
  • OPEN_SOURCE_ISSUES.md
 ___________________________________________________________________________________________________
< All problems in computer science can be solved with another level of indirection. - David Wheeler >
 ---------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ARCHITECTURE_DIAGRAMS.md`:
- Around line 400-409: Update both transaction sequence diagrams around the
pledge and refund flows to include wallet/network validation, transaction
construction, simulation, preparation/assembly, Freighter signing and approval,
submission, and final-status polling before showing success. Align the diagram
actors and ordering with the lifecycle implemented by the pledge and refund
service flows, replacing any direct Frontend-to-RPC success path that omits
these stages.
- Around line 396-398: Update the Mermaid participants in the affected diagrams,
including the refund diagram, to declare aliases such as Participant1 for
“Freighter Wallet” and Participant2 for “Soroban RPC.” Replace those multi-word
participant names in all message references with their aliases, while preserving
the displayed labels and existing diagram behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aeaf6e24-c37b-466d-a325-81d76af2319e

📥 Commits

Reviewing files that changed from the base of the PR and between 10f827c and bf01774.

📒 Files selected for processing (2)
  • ARCHITECTURE_DIAGRAMS.md
  • OPEN_SOURCE_ISSUES.md

Comment thread ARCHITECTURE_DIAGRAMS.md
Comment on lines +396 to +398
participant Freighter Wallet
participant Soroban RPC
participant Smart Contract

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail
# Extract and render the two newly added Mermaid blocks.
awk '
  /^```mermaid$/ { block++; out=sprintf("/tmp/architecture-diagram-%d.mmd", block); next }
  /^```$/ && out { close(out); out=""; next }
  out { print > out }
' ARCHITECTURE_DIAGRAMS.md

for file in /tmp/architecture-diagram-*.mmd; do
  npx --yes `@mermaid-js/mermaid-cli` -i "$file" -o "${file%.mmd}.svg"
done

Repository: ritik4ever/stellar-goal-vault

Length of output: 703


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Files matching ARCHITECTURE_DIAGRAMS.md:\n'
fd -a 'ARCHITECTURE_DIAGRAMS\.md$' . || true

printf '\nRelevant diagram section:\n'
sed -n '370,435p' ARCHITECTURE_DIAGRAMS.md

printf '\nMMD files extracted:\n'
awk '
  /^```mermaid$/ { block++; out=sprintf("/tmp/architecture-diagram-%d.mmd", block); next }
  /^```$/ && out { close(out); out=""; next }
  out { print > out }
' ARCHITECTURE_DIAGRAMS.md
find /tmp -maxdepth 1 -name 'architecture-diagram-*.mmd' -print -exec sh -c 'echo "--- $1"; sed -n "1,220p" "$1"' sh {} \;

Repository: ritik4ever/stellar-goal-vault

Length of output: 2740


🌐 Web query:

Mermaid sequenceDiagram participant alias multi word label documentation participant Alice as Alice

💡 Result:

In Mermaid sequence diagrams, you can define an alias for a participant to display a multi-word label using the as keyword [1][2]. The syntax allows you to use a concise identifier for internal logic while showing a descriptive, multi-word label in the rendered diagram [1][3]. The syntax is: participant as For example, if you want the identifier "Alice" to display as "Alice Smith" or "Primary User": sequenceDiagram participant A as Alice Smith participant B as Primary User A->>B: Hello You can also use this syntax alongside participant stereotype configurations [1][4]: participant API@{ "type": "boundary" } as Public API When using aliases, the identifier (e.g., "A" or "API" in the examples above) is used throughout the rest of your sequence diagram to represent that participant [2]. If you define an alias both via the as keyword and within an inline JSON configuration object, the external as syntax takes precedence [1][4].

Citations:


Use aliases for multi-word Mermaid participants.

Declare Participant1 as Freighter Wallet and Participant2 as Soroban RPC, then reference Participant1/Participant2 in the messages. Without aliases, multi-word identifiers may not be parsed reliably as participant IDs across GitHub diagrams.

Also applies to the refund diagram participants.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ARCHITECTURE_DIAGRAMS.md` around lines 396 - 398, Update the Mermaid
participants in the affected diagrams, including the refund diagram, to declare
aliases such as Participant1 for “Freighter Wallet” and Participant2 for
“Soroban RPC.” Replace those multi-word participant names in all message
references with their aliases, while preserving the displayed labels and
existing diagram behavior.

Comment thread ARCHITECTURE_DIAGRAMS.md
Comment on lines +400 to +409
User->>Frontend: Click "Pledge" & Enter Amount
Frontend->>Freighter Wallet: Request Signature (XDR)
Freighter Wallet-->>User: Prompt for Approval
User->>Freighter Wallet: Approve Transaction
Freighter Wallet-->>Frontend: Return Signed Transaction
Frontend->>Soroban RPC: Submit Transaction
Soroban RPC->>Smart Contract: Execute Pledge
Smart Contract-->>Soroban RPC: Transaction Success (Events)
Soroban RPC-->>Frontend: Return TxHash & Success
Frontend-->>User: Display Success Notification

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Align both diagrams with the actual transaction lifecycle.

The pledge implementation first builds, simulates, prepares, and then signs the transaction before submission (frontend/src/services/freighter.ts:314-451). The refund implementation also validates the wallet/network, simulates and assembles, signs through Freighter, sends, and polls for final success (frontend/src/services/soroban.ts:41-133). Add these stages—especially Freighter signing and final-status polling—to avoid documenting an incorrect direct Frontend → RPC flow.

Also applies to: 424-430

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ARCHITECTURE_DIAGRAMS.md` around lines 400 - 409, Update both transaction
sequence diagrams around the pledge and refund flows to include wallet/network
validation, transaction construction, simulation, preparation/assembly,
Freighter signing and approval, submission, and final-status polling before
showing success. Align the diagram actors and ordering with the lifecycle
implemented by the pledge and refund service flows, replacing any direct
Frontend-to-RPC success path that omits these stages.

@ritik4ever
ritik4ever merged commit 7e28b8d into ritik4ever:main Jul 30, 2026
3 of 16 checks passed
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.

[FEATURE] Add OPEN_SOURCE_ISSUES.md expansion (20+ contribution ideas) [FEATURE] Add sequence diagrams for pledge and refund flows

2 participants