Skip to content

feat: implement integration guide showing how to gate a Soroban contract using has_valid_credential#32

Merged
michaelvic123 merged 1 commit into
laugh-tales:mainfrom
CollinsC1O:integration_guide
Jun 22, 2026
Merged

feat: implement integration guide showing how to gate a Soroban contract using has_valid_credential#32
michaelvic123 merged 1 commit into
laugh-tales:mainfrom
CollinsC1O:integration_guide

Conversation

@CollinsC1O

Copy link
Copy Markdown

Implementation Summary

Rust contract example:

  • Added stellar-id dev-dependency to Cargo.toml — the test code imports StellarIdContract/StellarIdContractClient but the dependency was missing

  • Added annotations explaining the #[contractclient] pattern, why Identity must be replicated, and the cross-contract call flow

  • Cleaned up unused imports (Symbol, Vec, String)

  • TypeScript section — completely rewritten:

  • Full working hasValidCredential() function using Address.fromString().toScVal() for address encoding and nativeToScVal for u32 encoding

  • Uses Keypair.random() for simulation (no wallet required since has_valid_credential is read-only)

  • Proper error handling for simulation failures and missing return values

  • Usage example with a Stellar address check

  • Express middleware example showing production gating pattern (reads address from x-stellar-address header, returns 401/403/500)

Note:

The compilation failure is pre-existing — the local rustc (1.87.0) predates what darling 0.23.0 requires (1.88.0). This is unrelated to my changes, which are confined to docs/INTEGRATION.md.

Closes #22

@michaelvic123 michaelvic123 merged commit 8708704 into laugh-tales:main Jun 22, 2026
3 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.

Write integration guide showing how to gate a Soroban contract using has_valid_credential

2 participants