@sparkdreamnft/sparkdreamjs 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,61 +2,62 @@
2
2
  import { Params, ForumOperationalParams } from "./params";
3
3
  import { BinaryReader, BinaryWriter } from "../../../binary";
4
4
  /**
5
- * HideAuthority selects which authority the caller of MsgHidePost is invoking.
6
- * It disambiguates the case where an account is BOTH a bonded forum sentinel
7
- * and a Commons Operations Committee member: without it the handler would
8
- * silently pick the council (gov) path a strictly more powerful, less
9
- * accountable action chosen by accident. See
10
- * docs/HANDOFF_HIDE_AUTHORITY_DISAMBIGUATION.md.
5
+ * ModerationAuthority selects which authority the caller of a sentinel/council
6
+ * moderation message (hide, lock, move) is invoking. It disambiguates the case
7
+ * where an account is BOTH a bonded forum sentinel and a Commons Operations
8
+ * Committee member: without it the handler would silently pick the council
9
+ * (gov) path — a strictly more powerful, less accountable action chosen by
10
+ * accident. See docs/HANDOFF_HIDE_AUTHORITY_DISAMBIGUATION.md.
11
11
  */
12
- export var HideAuthority;
13
- (function (HideAuthority) {
12
+ export var ModerationAuthority;
13
+ (function (ModerationAuthority) {
14
14
  /**
15
- * HIDE_AUTHORITY_AUTO - AUTO (default, back-compat): resolve to the sentinel path whenever the
16
- * account holds an eligible sentinel bond (NORMAL/RECOVERY), else fall
17
- * through to the council path if council-authorized, else error. AUTO
18
- * prefers the accountable (bonded + author-appealable) sentinel path.
15
+ * MODERATION_AUTHORITY_AUTO - AUTO (default, back-compat): resolve to the sentinel path whenever the
16
+ * account is eligible for that specific action (bonded sentinel in
17
+ * NORMAL/RECOVERY plus the action's own requirements), else fall through to
18
+ * the council path if council-authorized, else error. AUTO prefers the
19
+ * accountable (bonded + author-appealable) sentinel path.
19
20
  */
20
- HideAuthority[HideAuthority["HIDE_AUTHORITY_AUTO"] = 0] = "HIDE_AUTHORITY_AUTO";
21
+ ModerationAuthority[ModerationAuthority["MODERATION_AUTHORITY_AUTO"] = 0] = "MODERATION_AUTHORITY_AUTO";
21
22
  /**
22
- * HIDE_AUTHORITY_SENTINEL - SENTINEL: force the sentinel path; error if the account is not an
23
- * eligible sentinel (no silent fallback to council).
23
+ * MODERATION_AUTHORITY_SENTINEL - SENTINEL: force the sentinel path; error if the account is not eligible
24
+ * for the action (no silent fallback to council).
24
25
  */
25
- HideAuthority[HideAuthority["HIDE_AUTHORITY_SENTINEL"] = 1] = "HIDE_AUTHORITY_SENTINEL";
26
+ ModerationAuthority[ModerationAuthority["MODERATION_AUTHORITY_SENTINEL"] = 1] = "MODERATION_AUTHORITY_SENTINEL";
26
27
  /**
27
- * HIDE_AUTHORITY_COUNCIL - COUNCIL: force the council (gov-authority) path; error if the account is
28
+ * MODERATION_AUTHORITY_COUNCIL - COUNCIL: force the council (gov-authority) path; error if the account is
28
29
  * not council-authorized. The deliberate "act as committee" choice.
29
30
  */
30
- HideAuthority[HideAuthority["HIDE_AUTHORITY_COUNCIL"] = 2] = "HIDE_AUTHORITY_COUNCIL";
31
- HideAuthority[HideAuthority["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
32
- })(HideAuthority || (HideAuthority = {}));
33
- export const HideAuthorityAmino = HideAuthority;
34
- export function hideAuthorityFromJSON(object) {
31
+ ModerationAuthority[ModerationAuthority["MODERATION_AUTHORITY_COUNCIL"] = 2] = "MODERATION_AUTHORITY_COUNCIL";
32
+ ModerationAuthority[ModerationAuthority["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
33
+ })(ModerationAuthority || (ModerationAuthority = {}));
34
+ export const ModerationAuthorityAmino = ModerationAuthority;
35
+ export function moderationAuthorityFromJSON(object) {
35
36
  switch (object) {
36
37
  case 0:
37
- case "HIDE_AUTHORITY_AUTO":
38
- return HideAuthority.HIDE_AUTHORITY_AUTO;
38
+ case "MODERATION_AUTHORITY_AUTO":
39
+ return ModerationAuthority.MODERATION_AUTHORITY_AUTO;
39
40
  case 1:
40
- case "HIDE_AUTHORITY_SENTINEL":
41
- return HideAuthority.HIDE_AUTHORITY_SENTINEL;
41
+ case "MODERATION_AUTHORITY_SENTINEL":
42
+ return ModerationAuthority.MODERATION_AUTHORITY_SENTINEL;
42
43
  case 2:
43
- case "HIDE_AUTHORITY_COUNCIL":
44
- return HideAuthority.HIDE_AUTHORITY_COUNCIL;
44
+ case "MODERATION_AUTHORITY_COUNCIL":
45
+ return ModerationAuthority.MODERATION_AUTHORITY_COUNCIL;
45
46
  case -1:
46
47
  case "UNRECOGNIZED":
47
48
  default:
48
- return HideAuthority.UNRECOGNIZED;
49
+ return ModerationAuthority.UNRECOGNIZED;
49
50
  }
50
51
  }
51
- export function hideAuthorityToJSON(object) {
52
+ export function moderationAuthorityToJSON(object) {
52
53
  switch (object) {
53
- case HideAuthority.HIDE_AUTHORITY_AUTO:
54
- return "HIDE_AUTHORITY_AUTO";
55
- case HideAuthority.HIDE_AUTHORITY_SENTINEL:
56
- return "HIDE_AUTHORITY_SENTINEL";
57
- case HideAuthority.HIDE_AUTHORITY_COUNCIL:
58
- return "HIDE_AUTHORITY_COUNCIL";
59
- case HideAuthority.UNRECOGNIZED:
54
+ case ModerationAuthority.MODERATION_AUTHORITY_AUTO:
55
+ return "MODERATION_AUTHORITY_AUTO";
56
+ case ModerationAuthority.MODERATION_AUTHORITY_SENTINEL:
57
+ return "MODERATION_AUTHORITY_SENTINEL";
58
+ case ModerationAuthority.MODERATION_AUTHORITY_COUNCIL:
59
+ return "MODERATION_AUTHORITY_COUNCIL";
60
+ case ModerationAuthority.UNRECOGNIZED:
60
61
  default:
61
62
  return "UNRECOGNIZED";
62
63
  }
@@ -1635,7 +1636,8 @@ function createBaseMsgLockThread() {
1635
1636
  return {
1636
1637
  creator: "",
1637
1638
  rootId: BigInt(0),
1638
- reason: ""
1639
+ reason: "",
1640
+ authority: 0
1639
1641
  };
1640
1642
  }
1641
1643
  /**
@@ -1657,6 +1659,9 @@ export const MsgLockThread = {
1657
1659
  if (message.reason !== "") {
1658
1660
  writer.uint32(26).string(message.reason);
1659
1661
  }
1662
+ if (message.authority !== 0) {
1663
+ writer.uint32(32).int32(message.authority);
1664
+ }
1660
1665
  return writer;
1661
1666
  },
1662
1667
  decode(input, length) {
@@ -1675,6 +1680,9 @@ export const MsgLockThread = {
1675
1680
  case 3:
1676
1681
  message.reason = reader.string();
1677
1682
  break;
1683
+ case 4:
1684
+ message.authority = reader.int32();
1685
+ break;
1678
1686
  default:
1679
1687
  reader.skipType(tag & 7);
1680
1688
  break;
@@ -1687,6 +1695,7 @@ export const MsgLockThread = {
1687
1695
  message.creator = object.creator ?? "";
1688
1696
  message.rootId = object.rootId !== undefined && object.rootId !== null ? BigInt(object.rootId.toString()) : BigInt(0);
1689
1697
  message.reason = object.reason ?? "";
1698
+ message.authority = object.authority ?? 0;
1690
1699
  return message;
1691
1700
  },
1692
1701
  fromAmino(object) {
@@ -1700,6 +1709,9 @@ export const MsgLockThread = {
1700
1709
  if (object.reason !== undefined && object.reason !== null) {
1701
1710
  message.reason = object.reason;
1702
1711
  }
1712
+ if (object.authority !== undefined && object.authority !== null) {
1713
+ message.authority = object.authority;
1714
+ }
1703
1715
  return message;
1704
1716
  },
1705
1717
  toAmino(message) {
@@ -1707,6 +1719,7 @@ export const MsgLockThread = {
1707
1719
  obj.creator = message.creator === "" ? undefined : message.creator;
1708
1720
  obj.root_id = message.rootId !== BigInt(0) ? message.rootId?.toString() : undefined;
1709
1721
  obj.reason = message.reason === "" ? undefined : message.reason;
1722
+ obj.authority = message.authority === 0 ? undefined : message.authority;
1710
1723
  return obj;
1711
1724
  },
1712
1725
  fromAminoMsg(object) {
@@ -1936,7 +1949,8 @@ function createBaseMsgMoveThread() {
1936
1949
  creator: "",
1937
1950
  rootId: BigInt(0),
1938
1951
  newCategoryId: BigInt(0),
1939
- reason: ""
1952
+ reason: "",
1953
+ authority: 0
1940
1954
  };
1941
1955
  }
1942
1956
  /**
@@ -1961,6 +1975,9 @@ export const MsgMoveThread = {
1961
1975
  if (message.reason !== "") {
1962
1976
  writer.uint32(34).string(message.reason);
1963
1977
  }
1978
+ if (message.authority !== 0) {
1979
+ writer.uint32(40).int32(message.authority);
1980
+ }
1964
1981
  return writer;
1965
1982
  },
1966
1983
  decode(input, length) {
@@ -1982,6 +1999,9 @@ export const MsgMoveThread = {
1982
1999
  case 4:
1983
2000
  message.reason = reader.string();
1984
2001
  break;
2002
+ case 5:
2003
+ message.authority = reader.int32();
2004
+ break;
1985
2005
  default:
1986
2006
  reader.skipType(tag & 7);
1987
2007
  break;
@@ -1995,6 +2015,7 @@ export const MsgMoveThread = {
1995
2015
  message.rootId = object.rootId !== undefined && object.rootId !== null ? BigInt(object.rootId.toString()) : BigInt(0);
1996
2016
  message.newCategoryId = object.newCategoryId !== undefined && object.newCategoryId !== null ? BigInt(object.newCategoryId.toString()) : BigInt(0);
1997
2017
  message.reason = object.reason ?? "";
2018
+ message.authority = object.authority ?? 0;
1998
2019
  return message;
1999
2020
  },
2000
2021
  fromAmino(object) {
@@ -2011,6 +2032,9 @@ export const MsgMoveThread = {
2011
2032
  if (object.reason !== undefined && object.reason !== null) {
2012
2033
  message.reason = object.reason;
2013
2034
  }
2035
+ if (object.authority !== undefined && object.authority !== null) {
2036
+ message.authority = object.authority;
2037
+ }
2014
2038
  return message;
2015
2039
  },
2016
2040
  toAmino(message) {
@@ -2019,6 +2043,7 @@ export const MsgMoveThread = {
2019
2043
  obj.root_id = message.rootId !== BigInt(0) ? message.rootId?.toString() : undefined;
2020
2044
  obj.new_category_id = message.newCategoryId !== BigInt(0) ? message.newCategoryId?.toString() : undefined;
2021
2045
  obj.reason = message.reason === "" ? undefined : message.reason;
2046
+ obj.authority = message.authority === 0 ? undefined : message.authority;
2022
2047
  return obj;
2023
2048
  },
2024
2049
  fromAminoMsg(object) {
@@ -419,7 +419,8 @@ function createBasePinnedReplyRecord() {
419
419
  pinnedAt: BigInt(0),
420
420
  isSentinelPin: false,
421
421
  disputed: false,
422
- initiativeId: BigInt(0)
422
+ initiativeId: BigInt(0),
423
+ committedAmount: ""
423
424
  };
424
425
  }
425
426
  /**
@@ -449,6 +450,9 @@ export const PinnedReplyRecord = {
449
450
  if (message.initiativeId !== BigInt(0)) {
450
451
  writer.uint32(48).uint64(message.initiativeId);
451
452
  }
453
+ if (message.committedAmount !== "") {
454
+ writer.uint32(58).string(message.committedAmount);
455
+ }
452
456
  return writer;
453
457
  },
454
458
  decode(input, length) {
@@ -476,6 +480,9 @@ export const PinnedReplyRecord = {
476
480
  case 6:
477
481
  message.initiativeId = reader.uint64();
478
482
  break;
483
+ case 7:
484
+ message.committedAmount = reader.string();
485
+ break;
479
486
  default:
480
487
  reader.skipType(tag & 7);
481
488
  break;
@@ -491,6 +498,7 @@ export const PinnedReplyRecord = {
491
498
  message.isSentinelPin = object.isSentinelPin ?? false;
492
499
  message.disputed = object.disputed ?? false;
493
500
  message.initiativeId = object.initiativeId !== undefined && object.initiativeId !== null ? BigInt(object.initiativeId.toString()) : BigInt(0);
501
+ message.committedAmount = object.committedAmount ?? "";
494
502
  return message;
495
503
  },
496
504
  fromAmino(object) {
@@ -513,6 +521,9 @@ export const PinnedReplyRecord = {
513
521
  if (object.initiative_id !== undefined && object.initiative_id !== null) {
514
522
  message.initiativeId = BigInt(object.initiative_id);
515
523
  }
524
+ if (object.committed_amount !== undefined && object.committed_amount !== null) {
525
+ message.committedAmount = object.committed_amount;
526
+ }
516
527
  return message;
517
528
  },
518
529
  toAmino(message) {
@@ -523,6 +534,7 @@ export const PinnedReplyRecord = {
523
534
  obj.is_sentinel_pin = message.isSentinelPin === false ? undefined : message.isSentinelPin;
524
535
  obj.disputed = message.disputed === false ? undefined : message.disputed;
525
536
  obj.initiative_id = message.initiativeId !== BigInt(0) ? message.initiativeId?.toString() : undefined;
537
+ obj.committed_amount = message.committedAmount === "" ? undefined : message.committedAmount;
526
538
  return obj;
527
539
  },
528
540
  fromAminoMsg(object) {
@@ -10,6 +10,8 @@ export var GovActionType;
10
10
  GovActionType[GovActionType["GOV_ACTION_TYPE_FORUM_PAUSE"] = 5] = "GOV_ACTION_TYPE_FORUM_PAUSE";
11
11
  GovActionType[GovActionType["GOV_ACTION_TYPE_THREAD_LOCK"] = 6] = "GOV_ACTION_TYPE_THREAD_LOCK";
12
12
  GovActionType[GovActionType["GOV_ACTION_TYPE_THREAD_MOVE"] = 7] = "GOV_ACTION_TYPE_THREAD_MOVE";
13
+ GovActionType[GovActionType["GOV_ACTION_TYPE_REPLY_PIN"] = 8] = "GOV_ACTION_TYPE_REPLY_PIN";
14
+ GovActionType[GovActionType["GOV_ACTION_TYPE_POST_HIDE"] = 9] = "GOV_ACTION_TYPE_POST_HIDE";
13
15
  GovActionType[GovActionType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
14
16
  })(GovActionType || (GovActionType = {}));
15
17
  export const GovActionTypeAmino = GovActionType;
@@ -39,6 +41,12 @@ export function govActionTypeFromJSON(object) {
39
41
  case 7:
40
42
  case "GOV_ACTION_TYPE_THREAD_MOVE":
41
43
  return GovActionType.GOV_ACTION_TYPE_THREAD_MOVE;
44
+ case 8:
45
+ case "GOV_ACTION_TYPE_REPLY_PIN":
46
+ return GovActionType.GOV_ACTION_TYPE_REPLY_PIN;
47
+ case 9:
48
+ case "GOV_ACTION_TYPE_POST_HIDE":
49
+ return GovActionType.GOV_ACTION_TYPE_POST_HIDE;
42
50
  case -1:
43
51
  case "UNRECOGNIZED":
44
52
  default:
@@ -63,6 +71,10 @@ export function govActionTypeToJSON(object) {
63
71
  return "GOV_ACTION_TYPE_THREAD_LOCK";
64
72
  case GovActionType.GOV_ACTION_TYPE_THREAD_MOVE:
65
73
  return "GOV_ACTION_TYPE_THREAD_MOVE";
74
+ case GovActionType.GOV_ACTION_TYPE_REPLY_PIN:
75
+ return "GOV_ACTION_TYPE_REPLY_PIN";
76
+ case GovActionType.GOV_ACTION_TYPE_POST_HIDE:
77
+ return "GOV_ACTION_TYPE_POST_HIDE";
66
78
  case GovActionType.UNRECOGNIZED:
67
79
  default:
68
80
  return "UNRECOGNIZED";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkdreamnft/sparkdreamjs",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "author": "kob <kob@sparkdream.io>",
5
5
  "description": "Spark Dream blockchain TypeScript library",
6
6
  "main": "index.js",
@@ -8305,10 +8305,10 @@ export declare namespace sparkdream {
8305
8305
  toProto(message: _230.PostConvictionStake): Uint8Array;
8306
8306
  toProtoMsg(message: _230.PostConvictionStake): _230.PostConvictionStakeProtoMsg;
8307
8307
  };
8308
- hideAuthorityFromJSON(object: any): _229.HideAuthority;
8309
- hideAuthorityToJSON(object: _229.HideAuthority): string;
8310
- HideAuthority: typeof _229.HideAuthority;
8311
- HideAuthorityAmino: typeof _229.HideAuthority;
8308
+ moderationAuthorityFromJSON(object: any): _229.ModerationAuthority;
8309
+ moderationAuthorityToJSON(object: _229.ModerationAuthority): string;
8310
+ ModerationAuthority: typeof _229.ModerationAuthority;
8311
+ ModerationAuthorityAmino: typeof _229.ModerationAuthority;
8312
8312
  MsgUpdateParams: {
8313
8313
  typeUrl: string;
8314
8314
  aminoType: string;
@@ -38,6 +38,13 @@ export interface HideRecord {
38
38
  * hide flavors are distinguished.
39
39
  */
40
40
  authorBondAmount: string;
41
+ /**
42
+ * appealed is set true when an appeal is filed against this hide (via
43
+ * MsgAppealPost). The hide-expiry EndBlocker reads it to avoid double-counting:
44
+ * an appealed hide was already tallied as upheld/overturned, so only an
45
+ * un-appealed hide that expires increments unchallenged_hides.
46
+ */
47
+ appealed: boolean;
41
48
  }
42
49
  export interface HideRecordProtoMsg {
43
50
  typeUrl: "/sparkdream.forum.v1.HideRecord";
@@ -80,6 +87,13 @@ export interface HideRecordAmino {
80
87
  * hide flavors are distinguished.
81
88
  */
82
89
  author_bond_amount?: string;
90
+ /**
91
+ * appealed is set true when an appeal is filed against this hide (via
92
+ * MsgAppealPost). The hide-expiry EndBlocker reads it to avoid double-counting:
93
+ * an appealed hide was already tallied as upheld/overturned, so only an
94
+ * un-appealed hide that expires increments unchallenged_hides.
95
+ */
96
+ appealed?: boolean;
83
97
  }
84
98
  export interface HideRecordAminoMsg {
85
99
  type: "/sparkdream.forum.v1.HideRecord";
@@ -12,7 +12,8 @@ function createBaseHideRecord() {
12
12
  committedAmount: "",
13
13
  reasonCode: 0,
14
14
  reasonText: "",
15
- authorBondAmount: ""
15
+ authorBondAmount: "",
16
+ appealed: false
16
17
  };
17
18
  }
18
19
  /**
@@ -57,6 +58,9 @@ exports.HideRecord = {
57
58
  if (message.authorBondAmount !== "") {
58
59
  writer.uint32(74).string(message.authorBondAmount);
59
60
  }
61
+ if (message.appealed === true) {
62
+ writer.uint32(80).bool(message.appealed);
63
+ }
60
64
  return writer;
61
65
  },
62
66
  decode(input, length) {
@@ -93,6 +97,9 @@ exports.HideRecord = {
93
97
  case 9:
94
98
  message.authorBondAmount = reader.string();
95
99
  break;
100
+ case 10:
101
+ message.appealed = reader.bool();
102
+ break;
96
103
  default:
97
104
  reader.skipType(tag & 7);
98
105
  break;
@@ -111,6 +118,7 @@ exports.HideRecord = {
111
118
  message.reasonCode = object.reasonCode ?? 0;
112
119
  message.reasonText = object.reasonText ?? "";
113
120
  message.authorBondAmount = object.authorBondAmount ?? "";
121
+ message.appealed = object.appealed ?? false;
114
122
  return message;
115
123
  },
116
124
  fromAmino(object) {
@@ -142,6 +150,9 @@ exports.HideRecord = {
142
150
  if (object.author_bond_amount !== undefined && object.author_bond_amount !== null) {
143
151
  message.authorBondAmount = object.author_bond_amount;
144
152
  }
153
+ if (object.appealed !== undefined && object.appealed !== null) {
154
+ message.appealed = object.appealed;
155
+ }
145
156
  return message;
146
157
  },
147
158
  toAmino(message) {
@@ -155,6 +166,7 @@ exports.HideRecord = {
155
166
  obj.reason_code = message.reasonCode === 0 ? undefined : message.reasonCode;
156
167
  obj.reason_text = message.reasonText === "" ? undefined : message.reasonText;
157
168
  obj.author_bond_amount = message.authorBondAmount === "" ? undefined : message.authorBondAmount;
169
+ obj.appealed = message.appealed === false ? undefined : message.appealed;
158
170
  return obj;
159
171
  },
160
172
  fromAminoMsg(object) {
@@ -204,6 +204,44 @@ export interface Params {
204
204
  * permanent is a distinct curator action with its own quota.
205
205
  */
206
206
  maxMakePermanentPerDay: bigint;
207
+ /**
208
+ * max_hides_per_epoch caps sentinel MsgHidePost actions per address per UTC
209
+ * day. 0 = use the default (50).
210
+ */
211
+ maxHidesPerEpoch: bigint;
212
+ /**
213
+ * max_sentinel_locks_per_epoch caps sentinel MsgLockThread actions per
214
+ * address per UTC day. 0 = use the default (5).
215
+ */
216
+ maxSentinelLocksPerEpoch: bigint;
217
+ /**
218
+ * max_sentinel_moves_per_epoch caps sentinel MsgMoveThread actions per
219
+ * address per UTC day. 0 = use the default (10).
220
+ */
221
+ maxSentinelMovesPerEpoch: bigint;
222
+ /**
223
+ * sentinel_slash_amount is the DREAM reserved-then-slashed per moderation
224
+ * action that is later overturned on appeal (math.Int string, udream).
225
+ * Bounded to (0, min_sentinel_bond]. Empty/"0" = use the default (100 DREAM).
226
+ */
227
+ sentinelSlashAmount: string;
228
+ /**
229
+ * lock_bond_multiplier: a sentinel must have bonded at least
230
+ * lock_bond_multiplier × min_sentinel_bond to lock a thread. Bounded >= 1
231
+ * (lock can never be weaker than the base bond). 0 = use the default (4).
232
+ */
233
+ lockBondMultiplier: bigint;
234
+ /**
235
+ * lock_backing_amount is the minimum DREAM backing (total balance) a sentinel
236
+ * must hold to lock a thread (math.Int string, udream). Bounded >= the
237
+ * derived lock bond. Empty/"0" = use the default (20000 DREAM).
238
+ */
239
+ lockBackingAmount: string;
240
+ /**
241
+ * lock_min_rep_tier is the minimum reputation tier required to lock a thread.
242
+ * Bounded to [min_sentinel_rep_tier, 5]. 0 = use the default (4).
243
+ */
244
+ lockMinRepTier: bigint;
207
245
  /**
208
246
  * min_post_conviction_stake is the minimum DREAM amount required to open a
209
247
  * PostConvictionStake (math.Int string, e.g. "10000000" = 10 DREAM). Floors
@@ -455,6 +493,44 @@ export interface ParamsAmino {
455
493
  * permanent is a distinct curator action with its own quota.
456
494
  */
457
495
  max_make_permanent_per_day?: string;
496
+ /**
497
+ * max_hides_per_epoch caps sentinel MsgHidePost actions per address per UTC
498
+ * day. 0 = use the default (50).
499
+ */
500
+ max_hides_per_epoch?: string;
501
+ /**
502
+ * max_sentinel_locks_per_epoch caps sentinel MsgLockThread actions per
503
+ * address per UTC day. 0 = use the default (5).
504
+ */
505
+ max_sentinel_locks_per_epoch?: string;
506
+ /**
507
+ * max_sentinel_moves_per_epoch caps sentinel MsgMoveThread actions per
508
+ * address per UTC day. 0 = use the default (10).
509
+ */
510
+ max_sentinel_moves_per_epoch?: string;
511
+ /**
512
+ * sentinel_slash_amount is the DREAM reserved-then-slashed per moderation
513
+ * action that is later overturned on appeal (math.Int string, udream).
514
+ * Bounded to (0, min_sentinel_bond]. Empty/"0" = use the default (100 DREAM).
515
+ */
516
+ sentinel_slash_amount?: string;
517
+ /**
518
+ * lock_bond_multiplier: a sentinel must have bonded at least
519
+ * lock_bond_multiplier × min_sentinel_bond to lock a thread. Bounded >= 1
520
+ * (lock can never be weaker than the base bond). 0 = use the default (4).
521
+ */
522
+ lock_bond_multiplier?: string;
523
+ /**
524
+ * lock_backing_amount is the minimum DREAM backing (total balance) a sentinel
525
+ * must hold to lock a thread (math.Int string, udream). Bounded >= the
526
+ * derived lock bond. Empty/"0" = use the default (20000 DREAM).
527
+ */
528
+ lock_backing_amount?: string;
529
+ /**
530
+ * lock_min_rep_tier is the minimum reputation tier required to lock a thread.
531
+ * Bounded to [min_sentinel_rep_tier, 5]. 0 = use the default (4).
532
+ */
533
+ lock_min_rep_tier?: string;
458
534
  /**
459
535
  * min_post_conviction_stake is the minimum DREAM amount required to open a
460
536
  * PostConvictionStake (math.Int string, e.g. "10000000" = 10 DREAM). Floors
@@ -621,6 +697,22 @@ export interface ForumOperationalParams {
621
697
  * max_make_permanent_per_day — see Params.max_make_permanent_per_day.
622
698
  */
623
699
  maxMakePermanentPerDay: bigint;
700
+ /**
701
+ * max_hides_per_epoch — see Params.max_hides_per_epoch.
702
+ */
703
+ maxHidesPerEpoch: bigint;
704
+ /**
705
+ * max_sentinel_locks_per_epoch — see Params.max_sentinel_locks_per_epoch.
706
+ */
707
+ maxSentinelLocksPerEpoch: bigint;
708
+ /**
709
+ * max_sentinel_moves_per_epoch — see Params.max_sentinel_moves_per_epoch.
710
+ */
711
+ maxSentinelMovesPerEpoch: bigint;
712
+ /**
713
+ * sentinel_slash_amount — see Params.sentinel_slash_amount.
714
+ */
715
+ sentinelSlashAmount: string;
624
716
  /**
625
717
  * min_post_conviction_stake — see Params.min_post_conviction_stake.
626
718
  */
@@ -765,6 +857,22 @@ export interface ForumOperationalParamsAmino {
765
857
  * max_make_permanent_per_day — see Params.max_make_permanent_per_day.
766
858
  */
767
859
  max_make_permanent_per_day?: string;
860
+ /**
861
+ * max_hides_per_epoch — see Params.max_hides_per_epoch.
862
+ */
863
+ max_hides_per_epoch?: string;
864
+ /**
865
+ * max_sentinel_locks_per_epoch — see Params.max_sentinel_locks_per_epoch.
866
+ */
867
+ max_sentinel_locks_per_epoch?: string;
868
+ /**
869
+ * max_sentinel_moves_per_epoch — see Params.max_sentinel_moves_per_epoch.
870
+ */
871
+ max_sentinel_moves_per_epoch?: string;
872
+ /**
873
+ * sentinel_slash_amount — see Params.sentinel_slash_amount.
874
+ */
875
+ sentinel_slash_amount?: string;
768
876
  /**
769
877
  * min_post_conviction_stake — see Params.min_post_conviction_stake.
770
878
  */