Launchpad
Contract name: Launchpad
Contract address: 0xAf1e6a5F88ecb931bE8d2E7BE62B1FC115807fb3
View Launchpad.sol on Github
View MeijiDAO: launchpad contract on BscScan
Variables
GovernanceToken
Type:
IERC20
MeijiDAO token contract address
stakingPools
Type:
address[]
Save all staking contract addresses
fee
Type:
uint
Fee percentage when project owner claim MeijiDAO funds
ticketFee
Type:
uint
Fee percentage when investor claim ticket tokens.
stakingPools
Type:
address[]
Locked staking pool addresses integrated with launchpad contract
Struct
Pool
It is the struct to manage project pools in funding cycle. Pool struct keeps to save the project's status.
struct Pool {
uint id;
address owner;
string poolInfoUrl;
string logoUrl;
////////////// Pool information
// uint64 bidStartTime;
uint64 bidEndTime;
bool accessType;
//token
address tokenAddress;
uint tokenPrice;
uint tokenPriceDecimals;
uint tokenTotalSupply;
uint totalRaised;
uint claimed;
bool issued;
bool allowed;
bool removed;
bool completed;
//tier system
uint[8] priceRangeEveryTier; // token
uint[9] targetAmountEveryTier; // MEIJI
uint[9] investedAmountEveryTier; // MEIJI
}
Functions
addPool
function addPool(string memory poolInfoUrl, string memory logoUrl) external
poolInfoUrl:
Url to point the metadata including project application details
logoUrl:
Url to point logo file
issueToken
function issueToken(uint poolId) public onlyPoolOwner(poolId) validPoolId(poolId)
poolId:
Identifier of project pool
modifyPoolInfo
modifyPoolInfo(uint poolId, address tokenAddress, uint tokenPrice, uint tokenDecimals, uint256 tokenTotalSupply, uint64 bidEndTime, uint[8] memory tier) public onlyPoolOwner(poolId) validPoolId(poolId)
poolId:
Identifier of project pool
tokenAddress:
Project ticket token address
tokenPrice:
Ratio between $MEIJI and ticket token. it shows how many tickets can receive per $MEIJI.
tokenDecimals:
Project ticket token's decimal
tokenTotalSupply:
Total ticket amount for funding target. So funding target can be calculated as tokenTotalSupply / tokenPrice.
bidEndTime:
When the pool moves to the "completed pools"
tier:
Maximum $MEIJI amount array for 8 tier levels
bid
function bid(uint poolId, uint amount) external validPoolId(poolId)
poolId:
Identifier of project pool
amount:
$MEIJI amount to deposit
claim
function claim(uint poolId) public validPoolId(poolId) onlyPoolOwner(poolId)
poolId:
Identifier of project pool
unclaimedTickets
function unclaimedTickets(address investor, uint poolId) external view validPoolId(poolId) returns(uint)
investor:
Wallet address of $MEIJI holder/staker
poolId:
Identifier of project pool
claimTickets
function claimTickets(uint poolId) public validPoolId(poolId)
poolId:
Identifier of project pool
getTierLevel
function getTierLevel(uint256 poolId, address user) public view returns(uint)
poolId:
Identifier of project pool
user:
Wallet address of user
setPools
function setPools(address pool1, address pool2, address pool3, address pool4, address pool5) private onlyOwner
pool1: 7 days lock staking pool address
pool2: 14 days lock staking pool address
pool3: 30 days lock staking pool address
pool4: 60 days lock staking pool address
pool5: 90 days lock staking pool address
Last updated