# Kalata IDO Smart Contract Document ### 1. 获取配置参数 ```solidity= function queryConfig() override external view returns ( address feeCollector, //不管 address busdToken,//不管 address kalaToken,//不管 address bnbFeeder,//不管 uint totalUsdLimit,//要募集的资金总量 uint kalaPrice // Kala 价格 ); ``` ### 2. 获取交易参数 #### 说明: 获取交易的开始时间和结束时间. 来判断当前是否可以交易 ```solidity= // 不要用new Date()来获取最新时间 // 用 (await web3.eth.getBlock("latest")).timestamp function queryTradeConfig() external view returns ( uint startTime, // 交易开始时间 uint endTime //// 交易结束时间 ); ``` ### 3. 用BUSD交易KALA ```solidity //先调用IBEP20.approve(usdAmount)来授权 function tradeBusd(uint busdAmount) external //Execute IBEP20.approve(0) if some error occurs ``` >#### Request Parameters >|Parameter|Type|Description| >|:----- |:-------|:-----| >|busdAmount |uint || ### 4. 用Trade BNB for KALA 因为BNB价格是实时变化的. 相同数量的BNB可能获得不同数量的KALA ```javascript // contract.tradeBnb({value: bnbAmount}) function tradeBnb() payable external ``` >#### Request Parameters >| parameter | type |Description| >| :-------- | :--- | :------- | >| bnbAmount | uint || ### 5. Claim KALA ```solidity= function claim() external; ``` ### 4. 获取BNB价格 ```solidity function queryBnbPrice() external view returns (uint); ``` ### 5. 获取所有用户已经交易的USD数量(BNB会转成USD计算) ```solidity function queryTotalUsdAmount() external view returns (uint); ``` ### 6. 获取用户数据 ```solidity function queryTraderData(address trader) external view returns ( uint minUsdAmount,//允许交易的最小USD数量 uint maxUsdAmount,//允许交易的最大USD数量 uint usdAmount, //已经交易的USD数量 uint kalaAmount, //已经交易获取的KALA数量(包括已经领取的和没有领取的) uint claimedKalaAmount //已经领取的KALA的数量 ); ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up