using:
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)
Solium version 1.1.7
Публичные поля:
name
- название токена
symbol
- краткое название токена (3-4 символа)
decimals
- количество знаков после запятой
owner
- адрес владельца смарт-контракта токена
initialSupply
- начальное количество токенов
totalSupply
- общее количество токенов
allowed
- список вида "адрес обладателя токенов -> адрес распоряжающегося токенами -> дозволенная для распоряжения сумма"
balances
- хранит баланс в токенах
crowdsaleAddress
- адреса смарт-контрактов PreICO и ICO, обладающими правами на дистрибьюцию
Публичные Методы:
balanceOf
- список обладателей токенов и их количества токенов
transfer
- отправляет токены с адреса отправителя на указанный адрес получателя
totalSupply
- возвращает количество выпущенных токенов
approve
- наделяет указанный адрес правами на распоряжение указанной суммой токенов отправителя
allowance
- возвращает количество токенов обладателя, которым может распоряжаться отправитель
increaseApproval
- увеличивает количество токенов обладателя, которым может распоряжаться отправитель
decreaseApproval
- снижает количество токенов обладателя, которым может распоряжаться отправитель
transferFrom
- отправляет токены с указанного адреса обладателя на указанный адрес получателя при условии наличия соответствующих прав
burn
- сжигает указанное количество токенов отправителя
pause
- ограничивает операции с токенами
unpause
- разрешает операции с токенами
transferFromICO
- отправляет токены для контракта Sale
setSaleAddress
- устанавливает адрес Sale для токена
Публичные поля
multisig
- адрес для хранения эфира
startICO
- дата начала сейла
endICO
- дата окончания сейла
individualRoundCap
- индивидуальный уровень покупки
hardCap
- верхний порог сбора средств
investors
- количество инвесторов
membersWhiteList
- количество авторизованных участников
buyPrice
- цена покупки токена
weisRaised
- количество собранного эфира
Публичные методы
setVestingAddress
- установка адреса VestingCreator
distributionTokens
- распределение токенов вне сейла
authorize
- авторизация адреса инвестора
addManyAuthorizeToWhitelist
- аторизация нескольких (до 100) адресов инвесторов
revoke
- удаление авторизации адреса
isWhitelisted
- проверка находится ли адрес в WL
finalize
- завершение сейла
Verified Vesting Constructor Contract
Публичные поля:
vestingToken
- адрес распределяемого токена
devPool
- общее количество токенов на пуле для распределения
revocable
- можно ли отменить распределение токенов
Публичные методы:
createVesting
- создание вестинга по условиям
tokenBalance
- баланс токенов на контракте
Инструкция по внесению смарт-контракта в блокчейн через Remix(необходима установка Metamask).
1
Вставить код WhalesburgToken.sol в редактор кода (remix.ethereum.org);
2
Нажать кнопку Deploy, расположенную в интерфейсе справа во вкладке Run;
3
В консоли снизу после успешного внесения смарт-контракта токена в блокчейн, появится запись о выполнении. Необходимо кликнуть на Details и в списке найти хэш транзакции
По этому хэшу найти транзакцию на https://etherscan.io/;
4
В транзакции будет указан адрес смарт-контракта - копируем;
5
Вставить код WhalesburgSale.sol в редактор кода (remix.ethereum.org), в качестве аргумента вставить адрес задеплоенного ранее токена;
6
Нажать кнопку Deploy, расположенную в интерфейсе справаво вкладке Run;
7
Скопировать адрес созданного контракта WhalesburgSale, и в интерфейсе контракта WhalesburgToken вызвать функцию setSaleAddress куда в качестве параметра вствить адрес WhalesburgToken контракта;
8
По умолчанию при деплое токены созадюсят на балансе msg.sender, вызвать функцию transfer контракта WhalesburgToken.sol и отправить все токены на ранее созданный адрес WhalesburgCrowdSale;
9
Вставить код VestingCreator.sol в редактор кода (remix.ethereum.org), в качестве аргумента передать адрес задеплоенного ранее токена;
10
В консоли снизу после успешного внесения смарт-контракта в блокчейн, появится запись о выполнении. Необходимо кликнуть на Details и в списке найти хэш транзакции. По этому хэшу найти транзакцию на https://etherscan.io/;
11
Скопировать адрес нового смарт-контракта VestingCreator, в контракте WhalesburgSale вызвать функцию setVestingAddress, куда в качетсве параметра передать адрес созанного контракта VestingCreator;
12
В контракте WhalesburgSale вызвать функцию distributionTokens и распределить токены по адресам;
13
Создать необходимые VestingContract для бенефициаров;
14
вызвать функцию pause контракта WhalesburgToken.sol и заморозить все операции с токенами;
15
После завершения Sale в случае наличия нераспроданных токенов вызвать функцию unpause контракта WhalwsburgToken, после этого вызвать функцию finalize контракта WhalesburgCrowdsale, и как только токены поступять обратно на адрес owner контракта, вызвать функцию burn на адресе owner;
Multisig Contract Verified Vesting Constructor Contract