{"action":"created","comment":{"url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/comments/200088231","pull_request_review_id":134333082,"id":200088231,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDA4ODIzMQ==","diff_hunk":"@@ -0,0 +1,192 @@\n+# SmartSpace - Аренда\n+Контракт аренды Space токена SpaceRentalBasic.\n+\n+Контракт не является частью инфраструктуры фондов.\n+\n+## Разделы\n+\n+* [Описание проблемы](#Описание-проблемы)\n+* [Цели контракта](#Цели-контракта)\n+* [Сценарии контракта](#Сценарии-контракта)\n+* [Спецификация](#Спецификация)\n+* [Технические аспекты](#Технические-аспекты)\n+* [Проблемы](#Проблемы)\n+\n+## Описание проблемы\n+Владельцу Space токена необходимо предоставить возможность получения дохода путем сдачи в аренду репутации Space токена.\n+\n+## Цели контракта\n+* Предоставить базовый функционал аренды репутации несколькими пользователями.\n+* Любой человек, который хочет жить и работать/развивать бизнес на рассматриваемой территории должен иметь возможность взять в аренду землю и получить все права и обязанности полноправного члена сообщества.\n+\n+## Сценарии контракта\n+\n+### Сценарий 1: Аренда для владельца земли\n+\n+1. Пользователь А имеет в собственности 1 Space токен, залоговая стоимость (репутация) которого составляет 2500 GALT. Он хочет заработать путем продажи репутации этого токена. Он создает смарт-контракт SmartSpaceBasic, где в качестве параметров указывает:\n+    * Длину одного периода - 3 дня (72 часа)\n+    * Размер ставки за один период и 100% репутации в нем. Например, 250 GALT за 100% репутации на 1 период.\n+    * Кол-во будущих периодов, доступных для вступления арендаторами - 5 периодов.\n+Созданный контракт является не активным, все операции с ним заблокированы. Контракт ожидает поступления токена на его адрес.\n+\n+2. Пользователь А переводит свой Space токен на созданный в п.1 контракт.\n+    * Контракт развернутый в п. 1 активируется, операции с ним становятся доступными.\n+    * 100% репутации токена, находящегося на контракте, принадлежит владельцу контракта (Пользователь А). Технически, сначала репутация переводится от Пользователя А на контракт, а после контракт перераспределяет всю репутацию обратно Пользователю А.\n+\n+3. Любой пользователь может внести аренду за 0, 1, 2, 3, 4 и 5 периоды. Пользователь B переводит на контракт 100 GALT за 0 период.\n+    * Сохраняется timestamp текущей транзакции для дальнейшего рассчета периодов\n+    * Начинается 0 период\n+\n+Пользователи | A | B |\n+--- | --- | --- |\n+Репутация до | 2500 | 0 |\n+Репутация после | 1500 | 1000 |\n+\n+4. Период 0. Пользователь B вносит аренду за 3й период в размере 150 GALT.\n+    * Распределение репутации между участниками не происходит.\n+\n+5. Пользователь А не может вывести внесенные за аренду платежи, т.к. периоды еще не закончены и репутация не отозвана.\n+\n+6. Начинается период 1. Пользователь А отзывает репутацию участников периода 0 явным выполнением транзакции отзыва. На период 1 заявок на аренду нет.\n+\n+Пользователи | A | B |\n+--- | --- | --- |\n+Репутация до | 1500 | 1000 |\n+Репутация после | 2500 | 0 |\n+\n+7. Период 1. Теперь пользователь А может вывести 100 GALT оплаченные пользователем В за 0-й период. 150 GALT оплаченные\n+за 3й период он вывести пока не может.\n+\n+8. Начинается период 2. Отзывать репутацию нет необходимости.\n+    * Распределение репутации между участниками не происходит.\n+\n+9. Период 2. Пользователь C вносит аренду в размере 200 GALT за 2й период.\n+\n+Пользователи | A | B | С |\n+--- | --- | --- | --- |\n+Репутация до | 2500 | 0 | 0 |\n+Репутация после | 500 | 0 | 2000 |\n+\n+10. Период 2. Пользователь D вносит аренду в размере 50 GALT за 2й период.\n+\n+Пользователи | A | B | С | D |\n+--- | --- | --- | --- | --- |\n+Репутация до | 500 | 0 | 2000 | 0 |\n+Репутация после | 0 | 0 | 2000 | 500 |\n+\n+11. Начинается период 3. Пользователь A забывает отозвать репутацию у участников 2-ого периода. Распределение репутации остается слеующим:\n+\n+Пользователи | A | B | С | D |\n+--- | --- | --- | --- | --- |\n+Репутация | 0 | 0 | 2000 | 500 |\n+\n+Пользователь B, который внес свой залог за 3-й период, по факту остается без оплаченной репутации.\n+\n+12. Начинается период 4. Пользователь А отзывает репутацию за период 2. Отзывать репутацию за период 3 уже не требуется.\n+13. Период 4. Пользователь В может получить обратно свои 150 GALT, т.к. он не смог ими воспользоваться.\n+14. Пользователь А блокирует вступление новых пользователей и продление аренды текущими.\n+15. Пользователь А выводит платежи, поступившие в пунктах 9 и 10 (250 GALT в сумме) на свой адрес.\n+16. Пользователь А выводит GALT токен с контракта на свой адрес. Технически, репутация сначала отзывается у пользователя А на адрес контракта, а потом, вместе с Space токеном, переводится ему обратно. Контракт блокируется для операций с ним.\n+17. Пользователь А оставляет контракт развернутым, но т.к. он заблокирован, он бесполезен.\n+\n+## Спецификация\n+### Создание и настройка контракта\n+\n+* При деплое (создании) контракта аренды владелец контракта указывает следующие данные (в конструкторе):\n+  * Величину одного периода в часах. Например, 30 * 24 = 720 часов за 1 период.\n+  * Размер ставки за один период и 100% репутации в нем. Например, 250 GALT за 100% репутации на 1 период.\n+  * Кол-во будущих периодов, доступных для вступления арендаторами. Например, 5 - это значит, пользователь может уже внести арендную плату на 5 периодов (по 30 дней каждый) вперед, не включая текущий. На каждый период отдельная транзакция.\n+* По умолчанию минимальный депозит за 1 период составляет 1 GALT. Может быть изменен отдельной транзакцией. В любом случае не может быть менее 1 GALT.\n+* Перечислить токен на контракт аренды может только создатель контракта, при попытке перевода с других адресов, транзакция будет отклоняться.\n+* При попытке перечислить второй токен на контракт, транзакция будет отклоняться.\n+* После перевода токена вся репутация переводится владельцу контракта. Об этом контракт аренды явно уведомляет контракт репутации.\n+\n+### Вступление арендаторов\n+\n+* Внести аренду можно на текущий период и кол-во периодов вперед, указанное при создании контракта. Например, если там указано 5, и текущий период 7, внести аренду можно за 7, 8, 9, 10, 11, 12 периоды. Аренда за каждый из желаемых периодов вносится отдельной транзакцией. Размер аренды может меняться между периодами по желанию арендатора и при наличии свободных мест.\n+\n+### Вывод GALT собственником контракта\n+* GALT, переведенные на контракт в качестве платежа за аренду, собственник контракта может вывести только после наступления следующийх двух событий:\n+   * Период, за который поступил платеж закончился.\n+   * Репутация была вовремя назначена и отозвана. Вовремя - это значит в любой момент за период. Если арендатора не устраивает, что репутация будет назначена в конце периода - он может выполнить транзакцию перераспределения репутации самостоятельно.\n+\n+### Изменение\n+#### Владелец может:\n+\n+* Закрыть контракт и вывести space токен, если ни на данный момент нет ни одного активного арендатора.\n+* Приостановить вступление новых арендаторов.\n+* Приостановить возможность продления для текущих арендаторов.\n+* Изменить ставку ТОЛЬКО при отсутствии активных арендаторов.\n+* Изменить минимальную ставку платежа за 1 период.\n+* В начале каждого периода отзывать репутацию пользователей из предыдущего периода отдельной транзакцией.\n+\n+#### Арендатор может:\n+\n+* Продлить аренду, внеся оплату за будущие периоды, если в них еще есть место.\n+* Увеличивать уже оплаченную долю в текущем и последующих периодах, если есть еще место.\n+\n+#### Арендатор НЕ может:\n+* Отозвать уже оплаченную аренду за любой период (исключение - в прошлом периоде репутация не была распределена).\n+\n+### Репутация\n+\n+Изменения долей аренды отражаются в следующих контрактах:\n+\n+- локальная репутация (изменяется репутация адреса)\n+- глоальная репутация (изменяется репутация адреса)\n+- голосование (пока нет понимания, как это может работать в рамках solidity)\n+\n+#### Отзыв репутации за прошлые периоды\n+* Должна быть возможность отозвать репутацию за любой прошедший период только один раз\n+* Если транзакцию выполняет не владелец контракта, после выполнения транзакции, контракт компенсирует пользователю затраты в эфирках. (Есть вариант обязать собственника хранить депозит в эфирках на контракте в размере газа за 1 блок (150-200 баксов на момент написания текста), из которого будет выплачиваться компенсация)\n+* Необходимо простимулировать владельца контракта выполнять отзыв самостоятельно. Для этого средства за период\n+ не могут быть выведены, пока он не закончится и владелец не отзовет репутацию за него.\n+\n+### Математика\n+#### Рассчет репутации\n+\n+R = floor(Tr * Ud / Rp)\n+  * R - арендуемая репутация пользователя в данные период (в GALT)\n+  * Tr - репутация токена (в GALT)\n+  * Ud - арендный депозит пользователя за данный период (в GALT)\n+  * Rp - ставка за 100% аренды на 1 период\n+\n+Например:\n+* Space токен имеет репутацию 1500 GALT\n+* Ставка за 100% равна 250 GALT\n+* Уплаченная пользователем аренда 60 GALT\n+\n+Это означает, что:\n+* R = floor(1500 * 63,53 / 250)\n+* R = floor(1500 * 0,25412)\n+* R = floor(381,18)\n+* R = 381\n+\n+Пользователь получает 381 GALT репутации на арендуемый период.\n+\n+#### Рассчет текущего периода\n+\n+Cp = (Ct - It) / L * 3600\n+  * Cp - текущий период\n+  * Ct - текущий timestamp\n+  * It - timestmap первого внесения денежных средств первым арендатором\n+  * L - длина периода в часах\n+\n+## Технические аспекты\n+### TypeScript\n+* В качестве текущего времени используется +Date.now()\n+\n+### Solidity\n+* В качестве текущего времени используется timestamp последнего блока\n+\n+## Проблемы\n+* Существует вероятность того, что в начале нового периода пользователь не отзовет репутацию у предыдущих владельцев. Например он забудет это сделать. И пока он этого не сделает, репутация токена будет числится за участниками предыдущего периода аренды. Если же владелец вовсе этого не сделает - у нас получится период, в котором репутация не была распределена корректно.\n+    * Вариант добавить централизованный сервис, который будет выполнять отзыв репутации за заренее перечисленные владельцем контракта эфирки.\n+    * Друго вариант - позволять любому пользователю выполнить отзыв репутации за свои эфирки, но сразу же компенсировать ему эти затраты.\n+    Для этого владелец должен хранить определенную сумму в эфирах на контракте. https://ethereum.stackexchange.com/a/42415/20417 (решение требует проверки)\n+* Для того, чтобы отозвать репутацию, необходимо хранить список участников текущего периода аренды.\n+ Т.к. отзыв репутации происходит атомарно, нам необходимо ограничить кол-во участников.\n+ Предполагаемое ограничение равно 30, но по факту может быть меньше. Конкретные цифры можно будет назвать толкьо после\n+ реализации контрактов репутации.\n+* Использовать не атомарный подход и разбивать отзыв репутации на множество транзакций сильно усложняет логику а так же","path":"ru/SmartSpace-Rental.md","position":192,"original_position":191,"commit_id":"a0830e0ecaa145cc0b75e7b465b5f6da42be59e6","original_commit_id":"be549e863efaadddd1a96478787464a05e472323","user":{"login":"IgorFrolov","id":307140,"node_id":"MDQ6VXNlcjMwNzE0MA==","avatar_url":"https://avatars3.githubusercontent.com/u/307140?v=4","gravatar_id":"","url":"https://api.github.com/users/IgorFrolov","html_url":"https://github.com/IgorFrolov","followers_url":"https://api.github.com/users/IgorFrolov/followers","following_url":"https://api.github.com/users/IgorFrolov/following{/other_user}","gists_url":"https://api.github.com/users/IgorFrolov/gists{/gist_id}","starred_url":"https://api.github.com/users/IgorFrolov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IgorFrolov/subscriptions","organizations_url":"https://api.github.com/users/IgorFrolov/orgs","repos_url":"https://api.github.com/users/IgorFrolov/repos","events_url":"https://api.github.com/users/IgorFrolov/events{/privacy}","received_events_url":"https://api.github.com/users/IgorFrolov/received_events","type":"User","site_admin":false},"body":"Реализация может содержать offchain в некритических частях инфрастуктуры, подобно сервисам.","created_at":"2018-07-04T10:55:33Z","updated_at":"2018-07-04T10:55:33Z","html_url":"https://github.com/andromedaspace/galtproject-docs/pull/13#discussion_r200088231","pull_request_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/comments/200088231"},"html":{"href":"https://github.com/andromedaspace/galtproject-docs/pull/13#discussion_r200088231"},"pull_request":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13"}},"in_reply_to_id":199811978},"pull_request":{"url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13","id":198490343,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NDkwMzQz","html_url":"https://github.com/andromedaspace/galtproject-docs/pull/13","diff_url":"https://github.com/andromedaspace/galtproject-docs/pull/13.diff","patch_url":"https://github.com/andromedaspace/galtproject-docs/pull/13.patch","issue_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/13","number":13,"state":"open","locked":false,"title":"Chebykin/smart space","user":{"login":"chebykin","id":2095757,"node_id":"MDQ6VXNlcjIwOTU3NTc=","avatar_url":"https://avatars0.githubusercontent.com/u/2095757?v=4","gravatar_id":"","url":"https://api.github.com/users/chebykin","html_url":"https://github.com/chebykin","followers_url":"https://api.github.com/users/chebykin/followers","following_url":"https://api.github.com/users/chebykin/following{/other_user}","gists_url":"https://api.github.com/users/chebykin/gists{/gist_id}","starred_url":"https://api.github.com/users/chebykin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chebykin/subscriptions","organizations_url":"https://api.github.com/users/chebykin/orgs","repos_url":"https://api.github.com/users/chebykin/repos","events_url":"https://api.github.com/users/chebykin/events{/privacy}","received_events_url":"https://api.github.com/users/chebykin/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-06-30T19:12:29Z","updated_at":"2018-07-04T10:55:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5c9273dd434df7c586bfc79c24661383f4652671","assignee":null,"assignees":[],"requested_reviewers":[{"login":"IgorFrolov","id":307140,"node_id":"MDQ6VXNlcjMwNzE0MA==","avatar_url":"https://avatars3.githubusercontent.com/u/307140?v=4","gravatar_id":"","url":"https://api.github.com/users/IgorFrolov","html_url":"https://github.com/IgorFrolov","followers_url":"https://api.github.com/users/IgorFrolov/followers","following_url":"https://api.github.com/users/IgorFrolov/following{/other_user}","gists_url":"https://api.github.com/users/IgorFrolov/gists{/gist_id}","starred_url":"https://api.github.com/users/IgorFrolov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IgorFrolov/subscriptions","organizations_url":"https://api.github.com/users/IgorFrolov/orgs","repos_url":"https://api.github.com/users/IgorFrolov/repos","events_url":"https://api.github.com/users/IgorFrolov/events{/privacy}","received_events_url":"https://api.github.com/users/IgorFrolov/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13/commits","review_comments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13/comments","review_comment_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/13/comments","statuses_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/statuses/a0830e0ecaa145cc0b75e7b465b5f6da42be59e6","head":{"label":"andromedaspace:chebykin/smart-space","ref":"chebykin/smart-space","sha":"a0830e0ecaa145cc0b75e7b465b5f6da42be59e6","user":{"login":"andromedaspace","id":34337358,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0MzM3MzU4","avatar_url":"https://avatars2.githubusercontent.com/u/34337358?v=4","gravatar_id":"","url":"https://api.github.com/users/andromedaspace","html_url":"https://github.com/andromedaspace","followers_url":"https://api.github.com/users/andromedaspace/followers","following_url":"https://api.github.com/users/andromedaspace/following{/other_user}","gists_url":"https://api.github.com/users/andromedaspace/gists{/gist_id}","starred_url":"https://api.github.com/users/andromedaspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andromedaspace/subscriptions","organizations_url":"https://api.github.com/users/andromedaspace/orgs","repos_url":"https://api.github.com/users/andromedaspace/repos","events_url":"https://api.github.com/users/andromedaspace/events{/privacy}","received_events_url":"https://api.github.com/users/andromedaspace/received_events","type":"Organization","site_admin":false},"repo":{"id":139163719,"node_id":"MDEwOlJlcG9zaXRvcnkxMzkxNjM3MTk=","name":"galtproject-docs","full_name":"andromedaspace/galtproject-docs","owner":{"login":"andromedaspace","id":34337358,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0MzM3MzU4","avatar_url":"https://avatars2.githubusercontent.com/u/34337358?v=4","gravatar_id":"","url":"https://api.github.com/users/andromedaspace","html_url":"https://github.com/andromedaspace","followers_url":"https://api.github.com/users/andromedaspace/followers","following_url":"https://api.github.com/users/andromedaspace/following{/other_user}","gists_url":"https://api.github.com/users/andromedaspace/gists{/gist_id}","starred_url":"https://api.github.com/users/andromedaspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andromedaspace/subscriptions","organizations_url":"https://api.github.com/users/andromedaspace/orgs","repos_url":"https://api.github.com/users/andromedaspace/repos","events_url":"https://api.github.com/users/andromedaspace/events{/privacy}","received_events_url":"https://api.github.com/users/andromedaspace/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/andromedaspace/galtproject-docs","description":null,"fork":false,"url":"https://api.github.com/repos/andromedaspace/galtproject-docs","forks_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/forks","keys_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/teams","hooks_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/hooks","issue_events_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/events{/number}","events_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/events","assignees_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/assignees{/user}","branches_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/branches{/branch}","tags_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/tags","blobs_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/languages","stargazers_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/stargazers","contributors_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/contributors","subscribers_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/subscribers","subscription_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/subscription","commits_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/contents/{+path}","compare_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/merges","archive_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/downloads","issues_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues{/number}","pulls_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/labels{/name}","releases_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/releases{/id}","deployments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/deployments","created_at":"2018-06-29T15:08:51Z","updated_at":"2018-07-03T15:51:54Z","pushed_at":"2018-07-04T10:46:22Z","git_url":"git://github.com/andromedaspace/galtproject-docs.git","ssh_url":"git@github.com:andromedaspace/galtproject-docs.git","clone_url":"https://github.com/andromedaspace/galtproject-docs.git","svn_url":"https://github.com/andromedaspace/galtproject-docs","homepage":null,"size":125,"stargazers_count":3,"watchers_count":3,"language":null,"has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":12,"license":null,"forks":0,"open_issues":12,"watchers":3,"default_branch":"master"}},"base":{"label":"andromedaspace:master","ref":"master","sha":"e28d6b01f874d34b1f9a615c1b24a8863a64790d","user":{"login":"andromedaspace","id":34337358,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0MzM3MzU4","avatar_url":"https://avatars2.githubusercontent.com/u/34337358?v=4","gravatar_id":"","url":"https://api.github.com/users/andromedaspace","html_url":"https://github.com/andromedaspace","followers_url":"https://api.github.com/users/andromedaspace/followers","following_url":"https://api.github.com/users/andromedaspace/following{/other_user}","gists_url":"https://api.github.com/users/andromedaspace/gists{/gist_id}","starred_url":"https://api.github.com/users/andromedaspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andromedaspace/subscriptions","organizations_url":"https://api.github.com/users/andromedaspace/orgs","repos_url":"https://api.github.com/users/andromedaspace/repos","events_url":"https://api.github.com/users/andromedaspace/events{/privacy}","received_events_url":"https://api.github.com/users/andromedaspace/received_events","type":"Organization","site_admin":false},"repo":{"id":139163719,"node_id":"MDEwOlJlcG9zaXRvcnkxMzkxNjM3MTk=","name":"galtproject-docs","full_name":"andromedaspace/galtproject-docs","owner":{"login":"andromedaspace","id":34337358,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0MzM3MzU4","avatar_url":"https://avatars2.githubusercontent.com/u/34337358?v=4","gravatar_id":"","url":"https://api.github.com/users/andromedaspace","html_url":"https://github.com/andromedaspace","followers_url":"https://api.github.com/users/andromedaspace/followers","following_url":"https://api.github.com/users/andromedaspace/following{/other_user}","gists_url":"https://api.github.com/users/andromedaspace/gists{/gist_id}","starred_url":"https://api.github.com/users/andromedaspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andromedaspace/subscriptions","organizations_url":"https://api.github.com/users/andromedaspace/orgs","repos_url":"https://api.github.com/users/andromedaspace/repos","events_url":"https://api.github.com/users/andromedaspace/events{/privacy}","received_events_url":"https://api.github.com/users/andromedaspace/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/andromedaspace/galtproject-docs","description":null,"fork":false,"url":"https://api.github.com/repos/andromedaspace/galtproject-docs","forks_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/forks","keys_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/teams","hooks_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/hooks","issue_events_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/events{/number}","events_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/events","assignees_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/assignees{/user}","branches_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/branches{/branch}","tags_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/tags","blobs_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/languages","stargazers_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/stargazers","contributors_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/contributors","subscribers_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/subscribers","subscription_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/subscription","commits_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/contents/{+path}","compare_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/merges","archive_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/downloads","issues_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues{/number}","pulls_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/labels{/name}","releases_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/releases{/id}","deployments_url":"https://api.github.com/repos/andromedaspace/galtproject-docs/deployments","created_at":"2018-06-29T15:08:51Z","updated_at":"2018-07-03T15:51:54Z","pushed_at":"2018-07-04T10:46:22Z","git_url":"git://github.com/andromedaspace/galtproject-docs.git","ssh_url":"git@github.com:andromedaspace/galtproject-docs.git","clone_url":"https://github.com/andromedaspace/galtproject-docs.git","svn_url":"https://github.com/andromedaspace/galtproject-docs","homepage":null,"size":125,"stargazers_count":3,"watchers_count":3,"language":null,"has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":12,"license":null,"forks":0,"open_issues":12,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13"},"html":{"href":"https://github.com/andromedaspace/galtproject-docs/pull/13"},"issue":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/13"},"comments":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/issues/13/comments"},"review_comments":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13/comments"},"review_comment":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/pulls/13/commits"},"statuses":{"href":"https://api.github.com/repos/andromedaspace/galtproject-docs/statuses/a0830e0ecaa145cc0b75e7b465b5f6da42be59e6"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"IgorFrolov"}}