Skip to content

feat: implement kyc verifier contract#86

Merged
Ceejaytech25 merged 2 commits intoceejaylaboratory:mainfrom
Ndanusa:feat/kyc-verifier
Mar 30, 2026
Merged

feat: implement kyc verifier contract#86
Ceejaytech25 merged 2 commits intoceejaylaboratory:mainfrom
Ndanusa:feat/kyc-verifier

Conversation

@Ndanusa
Copy link
Copy Markdown

@Ndanusa Ndanusa commented Mar 30, 2026

Description

This PR introduces a dedicated contract for storing and verifying KYC status signatures on-chain, ensuring users have been verified by a trusted provider before interacting with sensitive protocol features.

Requirements Covered

  • Elliptic curve signature verification (Ed25519)
  • Secure storage for user KYC expiry timestamps
  • Admin management for the trusted verifier public key

Technical Implementation

  • Signature Verification: Uses env.crypto().ed25519_verify to validate a message composed of the user's Address and an expires_at timestamp.
  • XDR Data Format: Converts addresses to XDR format consistently with the SDK version to ensure deterministic signature matching.
  • Graceful Expiry: Includes an is_kyc_valid helper that checks both the existence of a KYC record and the current ledger time against the record's expiry date.

Testing

  • Verified signature verification process and rejection of invalid signatures.
  • Verified expiry logic correctly returns false for outdated proofs.

Closes #26

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 30, 2026

@Ndanusa 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

@Ndanusa
Copy link
Copy Markdown
Author

Ndanusa commented Mar 30, 2026

@Ceejaytech25 , pls review

@Ceejaytech25
Copy link
Copy Markdown
Contributor

@Ndanusa , lgtm!

@Ceejaytech25 Ceejaytech25 merged commit 6bd431a into ceejaylaboratory:main Mar 30, 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

Development

Successfully merging this pull request may close these issues.

Smart Contract: On-chain KYC Proof Verifier

3 participants