|
435 | 435 | }, |
436 | 436 | "fallback": "0x00", |
437 | 437 | "documentation": [] |
| 438 | + }, |
| 439 | + { |
| 440 | + "name": "Initialized", |
| 441 | + "modifier": "Optional", |
| 442 | + "type": { |
| 443 | + "PlainType": "bool" |
| 444 | + }, |
| 445 | + "fallback": "0x00", |
| 446 | + "documentation": [ |
| 447 | + " Temporary value (cleared at block finalization) which is true", |
| 448 | + " if per-block initialization has already been called for current block." |
| 449 | + ] |
438 | 450 | } |
439 | 451 | ] |
440 | 452 | }, |
|
931 | 943 | " Minimum number of staking participants before emergency conditions are imposed." |
932 | 944 | ] |
933 | 945 | }, |
934 | | - { |
935 | | - "name": "OfflineSlash", |
936 | | - "modifier": "Default", |
937 | | - "type": { |
938 | | - "PlainType": "Perbill" |
939 | | - }, |
940 | | - "fallback": "0x40420f00", |
941 | | - "documentation": [ |
942 | | - " Slash, per validator that is taken for the first time they are found to be offline." |
943 | | - ] |
944 | | - }, |
945 | | - { |
946 | | - "name": "OfflineSlashGrace", |
947 | | - "modifier": "Default", |
948 | | - "type": { |
949 | | - "PlainType": "u32" |
950 | | - }, |
951 | | - "fallback": "0x00000000", |
952 | | - "documentation": [ |
953 | | - " Number of instances of offline reports before slashing begins for validators." |
954 | | - ] |
955 | | - }, |
956 | 946 | { |
957 | 947 | "name": "Invulnerables", |
958 | 948 | "modifier": "Default", |
|
1025 | 1015 | "isLinked": true |
1026 | 1016 | } |
1027 | 1017 | }, |
1028 | | - "fallback": "0x0c00", |
| 1018 | + "fallback": "0x00", |
1029 | 1019 | "documentation": [ |
1030 | 1020 | " The map from (wannabe) validator stash key to the preferences of that validator." |
1031 | 1021 | ] |
|
1134 | 1124 | ] |
1135 | 1125 | }, |
1136 | 1126 | { |
1137 | | - "name": "SlashCount", |
| 1127 | + "name": "ForceEra", |
1138 | 1128 | "modifier": "Default", |
1139 | 1129 | "type": { |
1140 | | - "MapType": { |
1141 | | - "hasher": "Blake2_256", |
1142 | | - "key": "AccountId", |
1143 | | - "value": "u32", |
1144 | | - "isLinked": false |
1145 | | - } |
| 1130 | + "PlainType": "Forcing" |
1146 | 1131 | }, |
1147 | | - "fallback": "0x00000000", |
| 1132 | + "fallback": "0x00", |
1148 | 1133 | "documentation": [ |
1149 | | - " The number of times a given validator has been reported offline. This gets decremented", |
1150 | | - " by one each era that passes." |
| 1134 | + " True if the next session change will be a new era regardless of index." |
1151 | 1135 | ] |
1152 | 1136 | }, |
1153 | 1137 | { |
1154 | | - "name": "RecentlyOffline", |
| 1138 | + "name": "SlashRewardFraction", |
1155 | 1139 | "modifier": "Default", |
1156 | 1140 | "type": { |
1157 | | - "PlainType": "Vec<(AccountId,BlockNumber,u32)>" |
| 1141 | + "PlainType": "Perbill" |
1158 | 1142 | }, |
1159 | | - "fallback": "0x00", |
| 1143 | + "fallback": "0x00000000", |
1160 | 1144 | "documentation": [ |
1161 | | - " Most recent `RECENT_OFFLINE_COUNT` instances. (Who it was, when it was reported, how", |
1162 | | - " many instances they were offline for)." |
| 1145 | + " The percentage of the slash that is distributed to reporters.", |
| 1146 | + "", |
| 1147 | + " The rest of the slashed value is handled by the `Slash`." |
1163 | 1148 | ] |
1164 | 1149 | }, |
1165 | 1150 | { |
1166 | | - "name": "ForceEra", |
| 1151 | + "name": "BondedEras", |
1167 | 1152 | "modifier": "Default", |
1168 | 1153 | "type": { |
1169 | | - "PlainType": "Forcing" |
| 1154 | + "PlainType": "Vec<(EraIndex,SessionIndex)>" |
1170 | 1155 | }, |
1171 | 1156 | "fallback": "0x00", |
1172 | 1157 | "documentation": [ |
1173 | | - " True if the next session change will be a new era regardless of index." |
| 1158 | + " A mapping from still-bonded eras to the first session index of that era." |
1174 | 1159 | ] |
1175 | 1160 | }, |
1176 | 1161 | { |
1177 | | - "name": "BondedEras", |
| 1162 | + "name": "EraSlashJournal", |
1178 | 1163 | "modifier": "Default", |
1179 | 1164 | "type": { |
1180 | | - "PlainType": "Vec<(EraIndex,SessionIndex)>" |
| 1165 | + "MapType": { |
| 1166 | + "hasher": "Blake2_256", |
| 1167 | + "key": "EraIndex", |
| 1168 | + "value": "Vec<SlashJournalEntry>", |
| 1169 | + "isLinked": false |
| 1170 | + } |
1181 | 1171 | }, |
1182 | 1172 | "fallback": "0x00", |
1183 | 1173 | "documentation": [ |
1184 | | - " A mapping from still-bonded eras to the first session index of that era." |
| 1174 | + " All slashes that have occurred in a given era." |
1185 | 1175 | ] |
1186 | 1176 | } |
1187 | 1177 | ] |
|
1442 | 1432 | " # </weight>" |
1443 | 1433 | ] |
1444 | 1434 | }, |
1445 | | - { |
1446 | | - "name": "set_offline_slash_grace", |
1447 | | - "args": [ |
1448 | | - { |
1449 | | - "name": "new", |
1450 | | - "type": "Compact<u32>" |
1451 | | - } |
1452 | | - ], |
1453 | | - "documentation": [ |
1454 | | - " Set the offline slash grace period." |
1455 | | - ] |
1456 | | - }, |
1457 | 1435 | { |
1458 | 1436 | "name": "set_invulnerables", |
1459 | 1437 | "args": [ |
|
1478 | 1456 | ] |
1479 | 1457 | }, |
1480 | 1458 | { |
1481 | | - "name": "OfflineWarning", |
| 1459 | + "name": "Slash", |
1482 | 1460 | "args": [ |
1483 | 1461 | "AccountId", |
1484 | | - "u32" |
| 1462 | + "Balance" |
1485 | 1463 | ], |
1486 | 1464 | "documentation": [ |
1487 | | - " One validator (and its nominators) has been given an offline-warning (it is still", |
1488 | | - " within its grace). The accrued number of slashes is recorded, too." |
| 1465 | + " One validator (and its nominators) has been slashed by the given amount." |
1489 | 1466 | ] |
1490 | 1467 | }, |
1491 | 1468 | { |
1492 | | - "name": "OfflineSlash", |
| 1469 | + "name": "OldSlashingReportDiscarded", |
1493 | 1470 | "args": [ |
1494 | | - "AccountId", |
1495 | | - "Balance" |
| 1471 | + "SessionIndex" |
1496 | 1472 | ], |
1497 | 1473 | "documentation": [ |
1498 | | - " One validator (and its nominators) has been slashed by the given amount." |
| 1474 | + " An old slashing report from a prior era was discarded because it could", |
| 1475 | + " not be processed." |
1499 | 1476 | ] |
1500 | 1477 | } |
1501 | 1478 | ], |
|
4355 | 4332 | "type": "Heartbeat" |
4356 | 4333 | }, |
4357 | 4334 | { |
4358 | | - "name": "_signature", |
| 4335 | + "name": "signature", |
4359 | 4336 | "type": "AuthoritySignature" |
4360 | 4337 | } |
4361 | 4338 | ], |
|
4374 | 4351 | } |
4375 | 4352 | ], |
4376 | 4353 | "constants": [] |
| 4354 | + }, |
| 4355 | + { |
| 4356 | + "name": "Offences", |
| 4357 | + "storage": { |
| 4358 | + "prefix": "Offences", |
| 4359 | + "items": [ |
| 4360 | + { |
| 4361 | + "name": "Reports", |
| 4362 | + "modifier": "Optional", |
| 4363 | + "type": { |
| 4364 | + "MapType": { |
| 4365 | + "hasher": "Blake2_256", |
| 4366 | + "key": "ReportIdOf", |
| 4367 | + "value": "OffenceDetails", |
| 4368 | + "isLinked": false |
| 4369 | + } |
| 4370 | + }, |
| 4371 | + "fallback": "0x00", |
| 4372 | + "documentation": [ |
| 4373 | + " The primary structure that holds all offence records keyed by report identifiers." |
| 4374 | + ] |
| 4375 | + }, |
| 4376 | + { |
| 4377 | + "name": "ConcurrentReportsIndex", |
| 4378 | + "modifier": "Default", |
| 4379 | + "type": { |
| 4380 | + "DoubleMapType": { |
| 4381 | + "hasher": "Blake2_256", |
| 4382 | + "key1": "Kind", |
| 4383 | + "key2": "OpaqueTimeSlot", |
| 4384 | + "value": "Vec<ReportIdOf>", |
| 4385 | + "key2Hasher": "Blake2_256" |
| 4386 | + } |
| 4387 | + }, |
| 4388 | + "fallback": "0x00", |
| 4389 | + "documentation": [ |
| 4390 | + " A vector of reports of the same kind that happened at the same time slot." |
| 4391 | + ] |
| 4392 | + }, |
| 4393 | + { |
| 4394 | + "name": "ReportsByKindIndex", |
| 4395 | + "modifier": "Default", |
| 4396 | + "type": { |
| 4397 | + "MapType": { |
| 4398 | + "hasher": "Blake2_256", |
| 4399 | + "key": "Kind", |
| 4400 | + "value": "Bytes", |
| 4401 | + "isLinked": false |
| 4402 | + } |
| 4403 | + }, |
| 4404 | + "fallback": "0x00", |
| 4405 | + "documentation": [ |
| 4406 | + " Enumerates all reports of a kind along with the time they happened.", |
| 4407 | + "", |
| 4408 | + " All reports are sorted by the time of offence.", |
| 4409 | + "", |
| 4410 | + " Note that the actual type of this mapping is `Vec<u8>`, this is because values of", |
| 4411 | + " different types are not supported at the moment so we are doing the manual serialization." |
| 4412 | + ] |
| 4413 | + } |
| 4414 | + ] |
| 4415 | + }, |
| 4416 | + "calls": [], |
| 4417 | + "events": [ |
| 4418 | + { |
| 4419 | + "name": "Offence", |
| 4420 | + "args": [ |
| 4421 | + "Kind", |
| 4422 | + "OpaqueTimeSlot" |
| 4423 | + ], |
| 4424 | + "documentation": [ |
| 4425 | + " There is an offence reported of the given `kind` happened at the `session_index` and", |
| 4426 | + " (kind-specific) time slot. This event is not deposited for duplicate slashes." |
| 4427 | + ] |
| 4428 | + } |
| 4429 | + ], |
| 4430 | + "constants": [] |
4377 | 4431 | } |
4378 | 4432 | ] |
4379 | 4433 | } |
|
0 commit comments