Info
Source on GitHub
Smart Contract Address
kQCMXcZfP6za9ePCxwbJG5O893if9HVK1gTy04DSDsfRxLn4
Testing and Issues
You can test this entry and submit issues during the testing period of the Blockchain Contest, Stage 2 contest.
Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.
Voting
Comments
Simple ICO smart contract.
This smart contract allows you to conduct a fundraising event for the initial coin offer (ICO) for various projects. Implemented such features as softcup, refund, bounty, etc. More detail information in pdf files: https://github.com/plexar88/ico/blob/master/ICO%20smart%20contract%20for%20TON%20network_EN.pdf
and russian version:
https://github.com/plexar88/ico/blob/master/ICO%20smart%20contract%20for%20TON%20network_RU.pdf
This smart contract allows you to conduct a fundraising event for the initial coin offer (ICO) for various projects. Implemented such features as softcup, refund, bounty, etc. More detail information in pdf files: https://github.com/plexar88/ico/blob/master/ICO%20smart%20contract%20for%20TON%20network_EN.pdf
and russian version:
https://github.com/plexar88/ico/blob/master/ICO%20smart%20contract%20for%20TON%20network_RU.pdf
I noticed one more bug or uninspected behaviour of TON. Source code to demonstrate this behaviour and description see in file bug2.zip.
You have not added any comments yet...
by rating
Issues
> If you call send_raw_message(dest, 128) and then call send_raw_message(src, 64)
I like your way of thinking. And there is also raw_reserve
I like your way of thinking. And there is also raw_reserve
We found some critical issues in your contract.
- `collected_funds` is wrongly calculated if an investor buys tokens multiple times. In the latter case `total_spend_grams` is increased by `inv~load_grams();`, so previously added funds will be added again to `collected_funds`.
- The contract ignores existence of processing and storage fees, so during refund the contract can run out of funds.
- If (now() == date_end), then ICO can succeed without reaching softcup.
- `collected_funds` is wrongly calculated if an investor buys tokens multiple times. In the latter case `total_spend_grams` is increased by `inv~load_grams();`, so previously added funds will be added again to `collected_funds`.
- The contract ignores existence of processing and storage fees, so during refund the contract can run out of funds.
- If (now() == date_end), then ICO can succeed without reaching softcup.
Nobody added any issues yet...