Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add scenarios of galt-exit #62

Merged
merged 8 commits into from
Jul 21, 2018
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 0 additions & 108 deletions ru/GaltExit.md

This file was deleted.

22 changes: 11 additions & 11 deletions ru/contracts/Emission.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
| 0 | 100 |

7. Пользователь А отправляет транзакцию на получение GALT из Аукциона. Пользователь передает номер раунда и оплачивает газ. Контракт проверяет, что раунд уже завершен. Контракт проверяет, что пользователь еще не получил GALT за этот раунд.
Если раунд завершен, то контракт переводит GALT Пользователю А по следующей формуле "Сумма отправленных пользователем Эфиров за раунд/Всего Эфиров получено за раунд*Количество выпускаемых GALT за раунд*0,5"
Если раунд завершен, то контракт переводит GALT Пользователю А по следующей формуле "Сумма отправленных пользователем Эфиров за раунд/Всего Эфиров получено за раунд * Количество выпускаемых GALT за раунд * 0,5"

8. Контракт вносит информацию о том, что все токены GALT Пользователем А за раунд получены в Реестр.

Expand All @@ -72,7 +72,7 @@
| 0 | Остальные участники | 495 000 |
| 0 | Пользователь Б | 3600 |

3. Пользователь Б отправляет транзакцию на получение GALT из Аукциона. Пользователь передает номер раунда и оплачивает газ. Контракт проверяет, что раунд уже завершен. Контракт проверяет, что пользователь еще не получил GALT за этот раунд. Если раунд завершен, то контракт переводит GALT Пользователю Б по следующей формуле "Глобальная репутация пользователя за раунд/Общая репутация во всех фондах на начало Раунда Эмиссии*Количество выпускаемых GALT за раунд*0,5".
3. Пользователь Б отправляет транзакцию на получение GALT из Аукциона. Пользователь передает номер раунда и оплачивает газ. Контракт проверяет, что раунд уже завершен. Контракт проверяет, что пользователь еще не получил GALT за этот раунд. Если раунд завершен, то контракт переводит GALT Пользователю Б по следующей формуле "Глобальная репутация пользователя за раунд/Общая репутация во всех фондах на начало Раунда Эмиссии * Количество выпускаемых GALT за раунд * 0,5".
4. Контракт вносит информацию о том, что все токены GALT Пользователем Б за раунд получены в Реестр.

| Номер Раунда | Адрес пользователя | Флаг получено/ не получено |
Expand All @@ -83,25 +83,25 @@

### Сценарий 3: Аукцион Эмиссии для Делегата Фонда
1. Каждый делегат фонда - Пользователь В может отправит транзакцию на контракт аукциона Эмиссии и передать значение общей репутации участников фонда. Отправить транзакцию может любой делегат. Если репутация уже зафиксирована, то транзакция отклоняется.
2. Контракт записываает значение общей репутации фонда в Реестр репутаций фондов на раунд эмиссии в следующем виде:
2. Контракт записывает значение общей репутации фонда и балансы ETH фондов в Реестр репутаций фондов на раунд эмиссии в следующем виде:

| Номер Раунда | Адрес фонда | Глобальная Репутация фонда за раунд |
| ---------- | -------------- | --------------- |
| 0 | 0x477...b65 | 60 000 |
| 0 | Остальные фонды | 300 000 |
| 0 | Фонд Пользователя В | 140 000 |
| Номер Раунда | Адрес фонда | Глобальная Репутация фонда | Баланс ETH фонда |
| ---------- | -------------- | --------------- | ---------------- |
| 0 | 0x477...b65 | 60 000 | 120 |
| 0 | Остальные фонды | 300 000 | 400 |
| 0 | Фонд Пользователя В | 140 000 | 200 |

3. Пользователь В отправляет транзакцию на получение ETH из Аукциона. Пользователь В передает номер раунда, адрес фонда и оплачивает газ. Контракт проверяет, что раунд уже завершен. Контракт проверяет, что Фонд еще не получил ETH за этот раунд. Если раунд завершен, то контракт переводит ETH Фонду Пользователя В по следующей формуле "Глобальная Репутация фонда за раунд/Общая репутация во всех фондах на начало Раунда Эмиссии*Всего Эфиров получено за раунд".
3. Пользователь В отправляет транзакцию на получение ETH из Аукциона. Пользователь В передает номер раунда, адрес фонда и оплачивает газ. Контракт проверяет, что раунд уже завершен. Контракт проверяет, что Фонд еще не получил ETH за этот раунд. Если раунд завершен, то контракт переводит ETH Фонду Пользователя В по следующей формуле "Глобальная Репутация фонда за раунд/Общая репутация во всех фондах на начало Раунда Эмиссии * Всего Эфиров получено за раунд".


## Спецификация контракта
### Раунды эмиссии, snapshot репутации и балансов ETH используются другими контрактами! ( GaltExit, Адрес выкупа )

## Детальный Сценарий пользователя и описание интерфейса

## Особенности реализации на Solidity
- методов claimAll & claimAllEth в solidity быть не должно. Вместо них пользователь должен вызывать методы claim && claimEth передавая в аргумент номер раунда

## Особенности реализации на TypeScript
- методы claimAll & claimAllEth используются только в боте для упрощения взаимодействия пользователя
- методов claimAll & claimAllEth в solidity быть не должно. Вместо них пользователь должен вызывать методы claim && claimEth передавая в аргумент номер раунда

## Неоднозначные вопросы и ответы на них
Loading