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

Add scenarios of galt-exit #62

merged 8 commits into from
Jul 21, 2018

Conversation

goodstemy
Copy link
Contributor

No description provided.

ru/GaltExit.md Outdated
| 150 000 | 0 |

1. Пользователь В хочет выкупить Galt с контракта адреса выкупа. Пользователь В вызывает метод CheckCourseOfBuyBack. Метод возвращает пользователю курс отношения Galt к ETH, по которому пользователь может выкупить Galt. Курс расчитывается по формуле: (ОБЩИЙ ВЫПУСК Galt - БАЛАНС АДРЕСА ВЫКУПА) / ОБЩИЙ БАЛАНС ЭФИРОВ ВО ВСЕХ ФОНДАХ = (4 000 000 - 150 000) / 1000 = 3 850 Galt за 1 ETH.
2. Пользователь В вызывает метод BuyGalts, передавая в аргумент к методу кол-во Galt, которые он хочет выкупить (10 000).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В этом сценарии не говорится ничего о раундах, и поэтому не очень состыковывается со следующим сценарием где о раундах идет речь. Я думаю здесь нужно упомянуть что существуют раунды и в таком то раунде пользователь производит операцию, чтобы в том же раунде фонды могли получить эфирки

@npopeka
Copy link
Member

npopeka commented Jul 20, 2018

Ваня, в схеме есть фундаментальная проблема.
Если будет 2 фонда, у одного будет 30% Репутации и 70% эфиров, а у другого 70% Репутации и 30 % эфира, то схема убьет фонд с маленьким количеством эфира.
Ситуация возможна, когда один фонд активно вкладывает и в него верят, а второй фонд не вкладывает и держит деньги.

Наша задача сделать так, чтобы был баланс и была невозможна атака.
Есть 2 Варианта:

  • определять пропорции по репутации
  • определять пропорции по балансам в эфирах

Вариант 1 - по репутации

Будет забирать деньги у тех фондов, в которые есть вера в их успех с инвестиционной точки зрения.

Вариант 2 - по балансам в эфирах

Будет забирать деньги у фондов, которые держат деньги и не инвестируют. То есть имеют большие резервы.

Надо решать.

@npopeka
Copy link
Member

npopeka commented Jul 20, 2018

Забирая деньги у фондов с максимальной репутацией, но с небольшим количеством эфиров мы их банкротим. Тех, кто хорошо работает и тех, в кого верят.

Экзит нужно делать в первую очередь из резервов. Т.е. у тех фондов, которые держат эфиры, не инвестируют, и в них не верят.

@goodstemy goodstemy mentioned this pull request Jul 20, 2018
Copy link
Member

@npopeka npopeka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

все проговорил по телефону

Выход из GALT использует раунды эмиссии
1. Начинается раунд 1.
2. Пользователь Б создает заявку на вывод GALT вызывая метод createProposal контракта GaltExit. В аргумент к методу Пользователь Б передает кол-во GALT (5 000), которые он хочет обменять.
3. В течении раунда пользователь Б для КАЖДОГО фонда вызывает метод executeProposalForFund контракта GaltExit, передавая в аргумент адрес фонда. Метод рассчитывает курс для каждого фонда, по которому каждый фонд должен выплатить Пользователю Б ETH. (БАЛАНС ETH УКАЗАННОГО В АРГУМЕНТЕ ФОНДА / ЗАФИКСИРОВАННОЕ БАЛАНС ETH ВСЕХ ФОНДОВ) * КОЛИЧЕСТВО GALT ОТ КОТОРЫХ ОТКАЗЫВАЕТСЯ ПОЛЬЗОВАТЕЛЬ
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Рассчитывается не курс. Рассчитывается сколько каждый фонд должен выкупить GALT

@goodstemy
Copy link
Contributor Author

@npopeka ответил

Copy link
Member

@npopeka npopeka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мерждим. Я потом по тесту чуть чуть перепишу

@IgorFrolov IgorFrolov merged commit 7b5ed3b into master Jul 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants