TokenMarketNet / smart-contracts

Ethereum smart contracts for security and utility tokens
https://tokenmarket.net/
Other
1.34k stars 561 forks source link

Change price functionality #160

Open agnesenvaite opened 5 years ago

agnesenvaite commented 5 years ago

I am analyzing features in publicly available ICO smart contracts as my Bachelor's thesis. In the thesis I am comparing how features in ICO smart contracts evolve naturally and in ICO libraries.

In my analysis I selected smart contracts labelled with "token sale" and having more then 700 transactions. Total count of such contracts was 161.

I selected 40 smart contracts which do not have token functionality (thesis scope was ICO smart contracts alone). I used selected smart contracts to create a feature model. Also, I created features model of TokenMarket ICO smart contracts. I compared them. One of the missing features is change price.

20% (8 of 40) of ICO smart contracts have change price functionality. I suggest to add this feature to MilestonePricing smart contract. Because 7 of 8 smart contracts had milestone pricing and change price features together.

Proposed code for change price feature:

 function setCurrentPrice (uint price) public onlyOwner {
     uint i;

    for(i=0; i<milestones.length; i++) {
      if(now < milestones[i].time) {
        milestones[i-1].price = price;
      }
    }
  }