1 - Project Operator can launch ICO
POST: /contracts/deploy/ICOContract
params: {
// PARAMS FOR TOKEN DEPLOYMENT
tokenName : string
tokenSymbol : string
tokenDecimals : integer
// ICO CUSTOM PARAMS
projectWallet : address
sealTimestamp : timestamp
minimalInvestment : integer
operator : operator
quorum : integer
pay_in_jot : bool
// ICO DEFAULT PARAMS
minimumCap : 100;
maximumCap : 10*minimumCap;
commissionContractAddress : address
juryOnlineWallet : address
jotTokenAddress : address
oracleAddress : address
}
2 - Project Operator can add milestones to ICO
POST: /contracts/interact/ICOContract/milestones
params: {
etherAmount : integer
tokenAmount : integer
startTime : timestamp
duration : timestamp
description : string
}
3 - Project Operator can edit milestones to ICO
to do
4 - Project Operator can seal ICO contract
POST: /contracts/interact/ICOContract/seal
5 - Investor can initiate InvestContract
POST: /contracts/deploy/InvestContract
params: {
ICOAddress : address
investor : address
etherAmount : integer
tokenAmount : integer
}
- Investor can add arbiters to InvestContract
- Investor can deposit into InvestContract
- Project Operator can start a milestone
- Project Operator can finish a milestone
- Investor can open a dispute
- Arbiters can accept arbiter invitation
- Arbiters can vote in the dispute
- [Withdrawals]