Working with CrowdPool
The CrowdPool contract manages the crowd pool process for a project. It keeps track of various fees, the status of the crowdpool, buyer information, and token details.
Structs
CrowdPoolFeeInfo
struct CrowdPoolFeeInfo {
uint256 pooled_fee;
uint256 sold_fee;
uint256 referral_fee;
address payable pooled_fee_address;
address payable sole_fee_address;
address payable referral_fee_address;
}Represents the fee information for the crowdpool.
pooled_fee: The fee percentage for the pooled amount.sold_fee: The fee percentage for the sold amount.referral_fee: The fee percentage for referrals.pooled_fee_address: The address where the pooled fees will be sent.sole_fee_address: The address where the sold fees will be sent.referral_fee_address: The address for referral fees. If it is notaddress(0), there is a valid referral.
CrowdPoolStatus
struct CrowdPoolStatus {
bool lp_generation_complete;
bool force_failed;
uint256 pooled_amount;
uint256 sold_amount;
uint256 token_withdraw;
uint256 base_withdraw;
uint256 num_buyers;
}Represents the status of the crowdpool.
lp_generation_complete: Indicates whether the LP generation is complete.force_failed: Flag to force fail the crowdpool.pooled_amount: The total amount of base currency pooled (usually ETH).sold_amount: The total number of crowdpool tokens sold.token_withdraw: The total number of tokens withdrawn after a successful crowdpool.base_withdraw: The total number of base tokens withdrawn on crowdpool failure.num_buyers: The number of unique participants.
BuyerInfo
struct BuyerInfo {
uint256 base;
uint256 sale;
}Represents the information of a buyer.
base: The total amount of base tokens (usually ETH) deposited by the user, which can be withdrawn on crowdpool failure.sale: The number of crowdpool tokens a user is owed, which can be withdrawn on crowdpool success.
TokenInfo
struct TokenInfo {
string name;
string symbol;
uint256 totalsupply;
uint256 decimal;
}Represents the details of a token.
name: The name of the token.symbol: The symbol of the token.totalsupply: The total supply of the token.decimal: The number of decimal places used by the token.
Please note that the data types address payable refer to Ethereum addresses that can receive payments.