You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Carrier certifications (Operating License, Insurance, Safety, Hazmat) are verified by admins in a centralised off-chain process with no on-chain proof. Verified status can be disputed, altered, or lost in a database incident, with no immutable record of who verified what and when.
Proposed Solution
Create a CertificationRegistry contract inside contracts/package/certification-registry/ that provides an immutable, admin-controlled on-chain record of carrier certifications.
Note: All work must be done inside the contracts/package/ directory. Do not modify any existing contract files outside this folder.
Problem
Carrier certifications (Operating License, Insurance, Safety, Hazmat) are verified by admins in a centralised off-chain process with no on-chain proof. Verified status can be disputed, altered, or lost in a database incident, with no immutable record of who verified what and when.
Proposed Solution
Create a
CertificationRegistrycontract insidecontracts/package/certification-registry/that provides an immutable, admin-controlled on-chain record of carrier certifications.Acceptance Criteria
register_certification(carrier_wallet: Address, cert_type: Symbol, issuer_hash: BytesN<32>, expires_at: u64)— admin-onlyOPERATING_LICENSE,INSURANCE,SAFETY,HAZMAT,VEHICLE_REGverify_certification(carrier_wallet, cert_type)returns{ is_valid: bool, expires_at: u64, issuer_hash: BytesN<32> }— publicly callablerevoke_certification(carrier_wallet, cert_type)— admin-only; marks cert as revokedis_valid: falsefromverify_certificationwithout needing explicit revocation