register_issuer(issuer, name, website, category)
Issuer self-registers on-chain and enters the pending trust queue.
approve_issuer(admin, issuer)
Admin approves a pending issuer so it can issue and verify credentials.
suspend_issuer(admin, issuer)
Admin suspends an issuer from future issue / verify operations.
refresh_issuer(actor, issuer)
Issuer or admin bumps the record TTL and stores a refresh date. Hidden in the app until the live WASM returns registered_at.
register_certificate(issuer, student, cert_hash, title, cohort, metadata_uri)
Binds hash plus minimal proof metadata to a graduate wallet; rejects duplicates; emits cert_reg.
verify_certificate(verifier, cert_hash)
Trusted verification by the approved issuer or admin; emits cert_ver.
revoke_certificate(actor, cert_hash)
Marks a credential revoked so payment-linked actions are blocked.
suspend_certificate(actor, cert_hash)
Temporarily suspends a credential without deleting its audit trail.
set_credential_expiry(actor, cert_hash, expires_at)
Set or clear a validity window. Zero means no expiry. Optional after register_certificate so the live v3.0.0 ABI stays compatible.
renew_certificate(actor, cert_hash, expires_at)
Extend the window and restore Issued or Verified after expiry. Revoked and suspended records stay blocked.
reward_student(student, cert_hash, amount)
Admin-triggered XLM reward via the configured SAC.
link_payment(employer, student, cert_hash, amount)
Employer pays a verified student directly; emits payment.