## Overview Implement `issue_credential` so the admin can award a badge to a member's address. Work inside `contracts/sandbox/credential_badge/`. ## Acceptance Criteria - [ ] `issue_credential(env, caller, badge_type_id, holder)` is admin-gated - [ ] Returns `Error::BadgeTypeNotFound` if badge type doesn't exist - [ ] Returns `Error::AlreadyIssued` if the holder already has this badge type - [ ] Stores `Credential` and indexes under holder address - [ ] Emits an issuance event - [ ] Code compiles with `cargo build`
Overview
Implement
issue_credentialso the admin can award a badge to a member's address. Work insidecontracts/sandbox/credential_badge/.Acceptance Criteria
issue_credential(env, caller, badge_type_id, holder)is admin-gatedError::BadgeTypeNotFoundif badge type doesn't existError::AlreadyIssuedif the holder already has this badge typeCredentialand indexes under holder addresscargo build