mantra-claimdrop-std
Common types and error definitions for the Mantra claimdrop contract V2.
Overview
This package provides shared types, message definitions, and error handling for claimdrop (airdrop) contracts in the Mantra ecosystem. It enables code reuse across different claimdrop-related contracts and provides a consistent interface for campaign management, token distribution, and reward claiming.
Features
- Message Types: Complete set of execute, query, and response messages for claimdrop operations
- Campaign Management: Types for creating, managing, and closing airdrop campaigns
- Distribution Types: Support for linear vesting and lump sum distribution mechanisms
- Error Handling: Comprehensive error types for validation and runtime errors
- Validation: Built-in validation for campaign parameters, distribution settings, and time constraints
Usage
Add this package to your Cargo.toml:
[]
= { = "1.0.0", = "path/to/mantra-claimdrop-std" }
Message Types
use ;
// Create a campaign
let campaign_params = CampaignParams ;
let execute_msg = ManageCampaign ;
Error Handling
use ContractError;
Types
Campaign Types
Campaign: Complete campaign information including status and claimed amountsCampaignParams: Parameters for creating new campaignsCampaignAction: Actions for managing campaigns (create/close)
Distribution Types
DistributionType::LinearVesting: Gradual token release over time with optional cliffDistributionType::LumpSum: Immediate token release at specified time
Response Types
RewardsResponse: Information about claimed, pending, and available rewardsClaimedResponse: Details about claimed tokens per addressAllocationsResponse: Address allocation informationBlacklistResponse: Address blacklist status
Validation
The package includes comprehensive validation for:
- Campaign name and description length limits
- Time constraints (start/end times, distribution schedules)
- Distribution percentage totals (must equal 100%)
- Reward amounts and denominations
- Cliff duration limits for linear vesting