rwa-kyc-hook-api 0.2.0

Token-2022 KYC Transfer Hook for RWA primary issuance on x402
Documentation
use steel::*;

#[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)]
#[repr(u32)]
pub enum HookError {
    #[error("Unauthorized")]
    Unauthorized = 0,
    #[error("Config already initialized")]
    AlreadyInitialized = 1,
    #[error("Config not initialized")]
    NotInitialized = 2,
    #[error("Invalid cluster")]
    InvalidCluster = 3,
    #[error("Invalid KYC policy")]
    InvalidKycPolicy = 4,
    #[error("Invalid offering id")]
    InvalidOfferingId = 5,
    #[error("KYC record already exists")]
    KycRecordAlreadyExists = 6,
    #[error("KYC record not found")]
    KycRecordNotFound = 7,
    #[error("Recipient not KYC verified")]
    RecipientNotKycVerified = 8,
    #[error("Invalid KYC registry account for recipient")]
    InvalidKycRegistryAccount = 9,
    #[error("Mint config already exists")]
    MintConfigAlreadyExists = 10,
    #[error("Mint config not found")]
    MintConfigNotFound = 11,
    #[error("Invalid token account owner")]
    InvalidTokenAccountOwner = 12,
    #[error("Transfer hook account resolution failed")]
    TransferHookAccountResolution = 13,
    #[error("Invalid issuer id")]
    InvalidIssuerId = 14,
    #[error("Issuer already exists")]
    IssuerAlreadyExists = 15,
    #[error("Issuer not found")]
    IssuerNotFound = 16,
    #[error("Issuer not active")]
    IssuerNotActive = 17,
    #[error("Platform paused")]
    PlatformPaused = 18,
    #[error("Invalid registration mode")]
    InvalidRegistrationMode = 19,
    #[error("Registration not allowed")]
    RegistrationNotAllowed = 20,
    #[error("Issuer id mismatch")]
    IssuerMismatch = 21,
    #[error("Invalid issuer status")]
    InvalidIssuerStatus = 22,
    #[error("Insufficient registration fee")]
    InsufficientRegistrationFee = 23,
    #[error("New platform admin must differ from current")]
    PlatformAdminUnchanged = 24,
    #[error("Authority transfer timelock not elapsed")]
    AuthorityTransferTooEarly = 25,
    #[error("No pending platform admin proposal")]
    NoPendingAuthorityTransfer = 26,
}

error!(HookError);