You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: developers/golos_contracts/golos.ctrl_contract.md
+26-25Lines changed: 26 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ ctrl_param, types: [
26
26
}
27
27
]
28
28
```
29
-
Параметры:
29
+
**Параметры:**
30
30
*`ctrl_token` — символ токена (тип данных, однозначно определяющий токен):
31
31
* имя токена, состоящее из набора прописных букв;
32
32
* поле, задающее точность стоимости токена в виде количества знаков после запятой.
@@ -42,39 +42,40 @@ ctrl_param, types: [
42
42
43
43
44
44
## Операции-действия, применяемые в смарт-контракте golos.ctrl
45
-
Смарт-контракт `golos.ctrl` поддерживает следующие операции-действия: [setparams](#operaciya-deistvie-setparams), [validateprms](#operaciya-deistvie-validateprms), [regwitness](#operaciya-deistvie-regwitness), [unregwitness](#operaciya-deistvie-unregwitness), [stopwitness](#operaciya-deistvie-stopwitness), [startwitness](#operaciya-deistvie-startwitness), [votewitness](#operaciya-deistvie-votewitness), [unvotewitn](#operaciya-deistvie-unvotewitn), [changevest](#operaciya-deistvie-changevest).
45
+
Смарт-контракт `golos.ctrl` поддерживает следующие операции-действия: [setparams](#setparams), [validateprms](#validateprms), [regwitness](#regwitness), [unregwitness](#unregwitness), [stopwitness](#stopwitness), [startwitness](#startwitness), [votewitness](#votewitness), [unvotewitn](#unvotewitn), [changevest](#changevest).
46
46
47
-
## Операция-действие setparams
47
+
48
+
## setparams
48
49
Операция-действие `setparams` используется для настройки параметров смарт-контракта `golos.ctrl`. Операция-действие имеет следующий вид:
49
50
50
51
```cpp
51
52
voidcontrol::setparams(vector<ctrl_param> params)
52
53
```
53
54
Параметр `params` — значение в виде структуры, содержащей поля с настраиваемыми параметрами.
54
55
55
-
## Операция-действие validateprms
56
+
## validateprms
56
57
Операция-действие `validateprms ` проверяет параметры на валидность, контролирует наличие в них ошибок. Операция-действие `validateprms` вызывается смарт-контрактом, имеет следующий вид:
Параметр `params` — значение в виде структуры, содержащей проверяемые параметры.
62
+
Параметр `params` — значение в виде структуры, содержащей проверяемые параметры.
62
63
63
-
## Операция-действие regwitness
64
+
## regwitness
64
65
Операция-действие `regwitness` используется для регистрации кандидатов в делегаты приложения. Операция-действие `regwitness` имеет следующий вид:
65
66
```cpp
66
67
voidcontrol::regwitness(
67
68
name witness,
68
69
string url
69
70
)
70
71
```
71
-
Параметры:
72
-
`witness` — имя кандидата в делегаты приложения;
73
-
`url` — адрес веб-сайта, откуда можно получить информацию о кандидате в делегаты, в том числе о мотивах, по которым он изъявил желание стать делегатом. Длина строки адреса не должна превышать 256 символов.
72
+
**Параметры:**
73
+
* `witness` — имя кандидата в делегаты приложения;
74
+
* `url` — адрес веб-сайта, откуда можно получить информацию о кандидате в делегаты, в том числе о мотивах, по которым он изъявил желание стать делегатом. Длина строки адреса не должна превышать 256 символов.
74
75
75
76
Выполнение операции-действия `regwitness` требует подписи самого кандидата в делегаты `witness`.
76
77
77
-
## Операция-действие unregwitness
78
+
## unregwitness
78
79
Операция-действие `unregwitness` используется для снятия кандидатуры пользователя из числа зарегистрированных в качестве кандидатов в делегаты приложения. Операция-действие `unregwitness` имеет следующий вид:
* отсутствие голосов за данного кандидата в делегаты. Голоса всех проголосовавших за него пользователей должны быть удалены;
88
89
* транзакция должна быть подписана самим кандидатом в делегаты `witness`.
89
90
90
-
## Операция-действие stopwitness
91
+
## stopwitness
91
92
Операция-действие `stopwitness` используется для временного прекращения активных действий делегата (или кандидата в делегаты). Операция-действие имеет следующий вид:
Активность аккаунта `witness` может быть продолжена после выполнения им операции-действия `startwitness`
102
103
103
104
104
-
## Операция-действие startwitness
105
+
## startwitness
105
106
Операция-действие `startwitness` используется для возобновления приостановленных активных действий делегата (или кандидата в делегаты). Операция-действие имеет следующий вид:
* транзакция должна быть подписана аккаунтом `witness`.
114
115
115
116
116
-
## Операция-действие votewitness
117
+
## votewitness
117
118
Операция-действие `votewitness` используется для голосования за кандидата в делегаты приложения.
118
119
Операция-действие `votewitness` имеет следующий вид:
119
120
```cpp
@@ -122,17 +123,17 @@ void control::votewitness(
122
123
name witness
123
124
)
124
125
```
125
-
Параметры:
126
-
`voter` — имя аккаунта, голосующего за кандидата в делегаты;
127
-
`witness` — имя кандидата в делегаты, за которого отдается голос.
126
+
**Параметры:**
127
+
*`voter` — имя аккаунта, голосующего за кандидата в делегаты;
128
+
*`witness` — имя кандидата в делегаты, за которого отдается голос.
128
129
129
130
Выполнение операции-действия `votewitness` требует подписи аккаунта `voter`.
130
131
131
-
Ограничения:
132
+
**Ограничения:**
132
133
* имя кандидата в делегаты `witness` предварительно должно быть зарегистрировано через вызов `regwitness`;
133
134
* количество голосов, отданных аккаунтом `voter` за кандидаты в делегаты, не должно превышать значение параметра `max_witness_votes`.
134
135
135
-
## Операция-действие unvotewitn
136
+
## unvotewitn
136
137
Операция-действие `unvotewitn` используется для снятия ранее отданного голоса за кандидата в делегаты приложения.
137
138
Операция-действие `unvotewitn` имеет следующий вид:
138
139
```cpp
@@ -141,13 +142,13 @@ void control::unvotewitn(
141
142
name witness
142
143
)
143
144
```
144
-
Параметры:
145
-
`voter` — имя аккаунта, который намеревается снять свой ранее отданный голос за кандидата в делегаты;
146
-
`witness` — имя кандидата в делегаты, у которого снимается ранее отданный за него голос.
145
+
**Параметры:**
146
+
* `voter` — имя аккаунта, который намеревается снять свой ранее отданный голос за кандидата в делегаты;
147
+
* `witness` — имя кандидата в делегаты, у которого снимается ранее отданный за него голос.
147
148
148
149
Выполнение операции-действия `unvotewitn` требует подписи аккаунта `voter`.
149
150
150
-
## Операция-действие changevest
151
+
## changevest
151
152
Операция-действие `changevest` является внутренней и пользователю недоступна. Используется смарт-контрактом вестинг для оповещения смарт-контракта управления об изменении количества вестинга на балансе пользователя.
152
153
Операция-действие `changevest` имеет следующий вид:
153
154
```cpp
@@ -156,9 +157,9 @@ void control::changevest(
156
157
asset diff
157
158
)
158
159
```
159
-
Параметры:
160
-
`who` — имя аккаунта, на балансе которого изменилась сумма вестинга;
161
-
`diff` — количество относительного изменения вестинга.
160
+
**Параметры:**
161
+
* `who` — имя аккаунта, на балансе которого изменилась сумма вестинга;
162
+
* `diff` — количество относительного изменения вестинга.
162
163
163
164
Вызов операции-действия `changevest` происходит автоматически при изменении суммы вестинга на балансе каждого из пользователей. Смарт-контракт вестинг информирует об этом изменении смарт-контракт управления. Поскольку сумма вестинга на балансе пользователя влияет на вес голоса этого пользователя, то рейтинг делегата, за которого проголосовал этот пользователь, также будет зависеть от вестинга этого пользователя. Смарт-контракт управления корректирует рейтинг среди верхушки делегатов с учетом полученной информации об изменении. Данные таблицы смарт-контракта вестинга при этом не модифицируются.
164
165
При изменении списка верхушки делегатов также автоматически изменяется их авторизация.
0 commit comments