@sparkdreamnft/sparkdreamjs 0.0.25 → 0.0.27

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.
Files changed (67) hide show
  1. package/cosmos/bundle.d.ts +160 -160
  2. package/cosmos/bundle.js +181 -181
  3. package/esm/cosmos/bundle.js +181 -181
  4. package/esm/ibc/bundle.js +105 -105
  5. package/esm/sparkdream/bundle.js +275 -273
  6. package/esm/sparkdream/collect/v1/params.js +24 -0
  7. package/esm/sparkdream/collect/v1/tx.js +216 -1
  8. package/esm/sparkdream/collect/v1/tx.registry.js +20 -2
  9. package/esm/sparkdream/collect/v1/tx.rpc.msg.js +11 -1
  10. package/esm/sparkdream/collect/v1/types.js +92 -2
  11. package/esm/sparkdream/forum/v1/genesis.js +110 -1
  12. package/esm/sparkdream/forum/v1/params.js +26 -2
  13. package/esm/sparkdream/forum/v1/sentinel_activity.js +58 -1
  14. package/esm/sparkdream/forum/v1/thread_metadata.js +13 -1
  15. package/esm/sparkdream/forum/v1/tx.js +157 -1
  16. package/esm/sparkdream/forum/v1/tx.registry.js +20 -2
  17. package/esm/sparkdream/forum/v1/tx.rpc.msg.js +7 -1
  18. package/esm/sparkdream/rep/v1/bonded_role.js +17 -5
  19. package/esm/sparkdream/rep/v1/genesis.js +17 -1
  20. package/esm/sparkdream/rep/v1/role_activity.js +670 -0
  21. package/esm/sparkdream/rep/v1/tx.js +159 -0
  22. package/esm/sparkdream/rep/v1/tx.registry.js +20 -2
  23. package/esm/sparkdream/rep/v1/tx.rpc.msg.js +8 -1
  24. package/esm/tendermint/bundle.js +17 -17
  25. package/ibc/bundle.d.ts +90 -90
  26. package/ibc/bundle.js +105 -105
  27. package/package.json +1 -1
  28. package/sparkdream/bundle.d.ts +7232 -7037
  29. package/sparkdream/bundle.js +275 -273
  30. package/sparkdream/collect/v1/params.d.ts +28 -0
  31. package/sparkdream/collect/v1/params.js +24 -0
  32. package/sparkdream/collect/v1/tx.d.ts +130 -6
  33. package/sparkdream/collect/v1/tx.js +220 -3
  34. package/sparkdream/collect/v1/tx.registry.d.ts +13 -1
  35. package/sparkdream/collect/v1/tx.registry.js +19 -1
  36. package/sparkdream/collect/v1/tx.rpc.msg.d.ts +10 -1
  37. package/sparkdream/collect/v1/tx.rpc.msg.js +10 -0
  38. package/sparkdream/collect/v1/types.d.ts +72 -0
  39. package/sparkdream/collect/v1/types.js +92 -2
  40. package/sparkdream/forum/v1/genesis.d.ts +65 -0
  41. package/sparkdream/forum/v1/genesis.js +111 -2
  42. package/sparkdream/forum/v1/params.d.ts +30 -0
  43. package/sparkdream/forum/v1/params.js +26 -2
  44. package/sparkdream/forum/v1/sentinel_activity.d.ts +53 -0
  45. package/sparkdream/forum/v1/sentinel_activity.js +58 -1
  46. package/sparkdream/forum/v1/thread_metadata.d.ts +16 -0
  47. package/sparkdream/forum/v1/thread_metadata.js +13 -1
  48. package/sparkdream/forum/v1/tx.d.ts +93 -7
  49. package/sparkdream/forum/v1/tx.js +158 -2
  50. package/sparkdream/forum/v1/tx.registry.d.ts +13 -1
  51. package/sparkdream/forum/v1/tx.registry.js +19 -1
  52. package/sparkdream/forum/v1/tx.rpc.msg.d.ts +4 -1
  53. package/sparkdream/forum/v1/tx.rpc.msg.js +6 -0
  54. package/sparkdream/rep/v1/bonded_role.d.ts +13 -1
  55. package/sparkdream/rep/v1/bonded_role.js +17 -5
  56. package/sparkdream/rep/v1/genesis.d.ts +3 -0
  57. package/sparkdream/rep/v1/genesis.js +17 -1
  58. package/sparkdream/rep/v1/role_activity.d.ts +395 -0
  59. package/sparkdream/rep/v1/role_activity.js +673 -0
  60. package/sparkdream/rep/v1/tx.d.ts +101 -0
  61. package/sparkdream/rep/v1/tx.js +160 -1
  62. package/sparkdream/rep/v1/tx.registry.d.ts +13 -1
  63. package/sparkdream/rep/v1/tx.registry.js +19 -1
  64. package/sparkdream/rep/v1/tx.rpc.msg.d.ts +7 -1
  65. package/sparkdream/rep/v1/tx.rpc.msg.js +7 -0
  66. package/tendermint/bundle.d.ts +844 -844
  67. package/tendermint/bundle.js +17 -17
@@ -63,7 +63,8 @@ function createBaseParams() {
63
63
  maxForumRepPerTagPerEpoch: "",
64
64
  postConvictionStakerSlashBps: BigInt(0),
65
65
  curationDreamReward: "",
66
- acceptProposalTimeout: BigInt(0)
66
+ acceptProposalTimeout: BigInt(0),
67
+ maxAcceptProposalsPerSentinelPerThread: 0
67
68
  };
68
69
  }
69
70
  /**
@@ -252,6 +253,9 @@ exports.Params = {
252
253
  if (message.acceptProposalTimeout !== BigInt(0)) {
253
254
  writer.uint32(528).int64(message.acceptProposalTimeout);
254
255
  }
256
+ if (message.maxAcceptProposalsPerSentinelPerThread !== 0) {
257
+ writer.uint32(536).uint32(message.maxAcceptProposalsPerSentinelPerThread);
258
+ }
255
259
  return writer;
256
260
  },
257
261
  decode(input, length) {
@@ -435,6 +439,9 @@ exports.Params = {
435
439
  case 66:
436
440
  message.acceptProposalTimeout = reader.int64();
437
441
  break;
442
+ case 67:
443
+ message.maxAcceptProposalsPerSentinelPerThread = reader.uint32();
444
+ break;
438
445
  default:
439
446
  reader.skipType(tag & 7);
440
447
  break;
@@ -502,6 +509,7 @@ exports.Params = {
502
509
  message.postConvictionStakerSlashBps = object.postConvictionStakerSlashBps !== undefined && object.postConvictionStakerSlashBps !== null ? BigInt(object.postConvictionStakerSlashBps.toString()) : BigInt(0);
503
510
  message.curationDreamReward = object.curationDreamReward ?? "";
504
511
  message.acceptProposalTimeout = object.acceptProposalTimeout !== undefined && object.acceptProposalTimeout !== null ? BigInt(object.acceptProposalTimeout.toString()) : BigInt(0);
512
+ message.maxAcceptProposalsPerSentinelPerThread = object.maxAcceptProposalsPerSentinelPerThread ?? 0;
505
513
  return message;
506
514
  },
507
515
  fromAmino(object) {
@@ -680,6 +688,9 @@ exports.Params = {
680
688
  if (object.accept_proposal_timeout !== undefined && object.accept_proposal_timeout !== null) {
681
689
  message.acceptProposalTimeout = BigInt(object.accept_proposal_timeout);
682
690
  }
691
+ if (object.max_accept_proposals_per_sentinel_per_thread !== undefined && object.max_accept_proposals_per_sentinel_per_thread !== null) {
692
+ message.maxAcceptProposalsPerSentinelPerThread = object.max_accept_proposals_per_sentinel_per_thread;
693
+ }
683
694
  return message;
684
695
  },
685
696
  toAmino(message) {
@@ -742,6 +753,7 @@ exports.Params = {
742
753
  obj.post_conviction_staker_slash_bps = message.postConvictionStakerSlashBps !== BigInt(0) ? message.postConvictionStakerSlashBps?.toString() : undefined;
743
754
  obj.curation_dream_reward = message.curationDreamReward === "" ? undefined : message.curationDreamReward;
744
755
  obj.accept_proposal_timeout = message.acceptProposalTimeout !== BigInt(0) ? message.acceptProposalTimeout?.toString() : undefined;
756
+ obj.max_accept_proposals_per_sentinel_per_thread = message.maxAcceptProposalsPerSentinelPerThread === 0 ? undefined : message.maxAcceptProposalsPerSentinelPerThread;
745
757
  return obj;
746
758
  },
747
759
  fromAminoMsg(object) {
@@ -819,7 +831,8 @@ function createBaseForumOperationalParams() {
819
831
  maxForumRepPerTagPerEpoch: "",
820
832
  postConvictionStakerSlashBps: BigInt(0),
821
833
  curationDreamReward: "",
822
- acceptProposalTimeout: BigInt(0)
834
+ acceptProposalTimeout: BigInt(0),
835
+ maxAcceptProposalsPerSentinelPerThread: 0
823
836
  };
824
837
  }
825
838
  /**
@@ -991,6 +1004,9 @@ exports.ForumOperationalParams = {
991
1004
  if (message.acceptProposalTimeout !== BigInt(0)) {
992
1005
  writer.uint32(528).int64(message.acceptProposalTimeout);
993
1006
  }
1007
+ if (message.maxAcceptProposalsPerSentinelPerThread !== 0) {
1008
+ writer.uint32(536).uint32(message.maxAcceptProposalsPerSentinelPerThread);
1009
+ }
994
1010
  return writer;
995
1011
  },
996
1012
  decode(input, length) {
@@ -1156,6 +1172,9 @@ exports.ForumOperationalParams = {
1156
1172
  case 66:
1157
1173
  message.acceptProposalTimeout = reader.int64();
1158
1174
  break;
1175
+ case 67:
1176
+ message.maxAcceptProposalsPerSentinelPerThread = reader.uint32();
1177
+ break;
1159
1178
  default:
1160
1179
  reader.skipType(tag & 7);
1161
1180
  break;
@@ -1217,6 +1236,7 @@ exports.ForumOperationalParams = {
1217
1236
  message.postConvictionStakerSlashBps = object.postConvictionStakerSlashBps !== undefined && object.postConvictionStakerSlashBps !== null ? BigInt(object.postConvictionStakerSlashBps.toString()) : BigInt(0);
1218
1237
  message.curationDreamReward = object.curationDreamReward ?? "";
1219
1238
  message.acceptProposalTimeout = object.acceptProposalTimeout !== undefined && object.acceptProposalTimeout !== null ? BigInt(object.acceptProposalTimeout.toString()) : BigInt(0);
1239
+ message.maxAcceptProposalsPerSentinelPerThread = object.maxAcceptProposalsPerSentinelPerThread ?? 0;
1220
1240
  return message;
1221
1241
  },
1222
1242
  fromAmino(object) {
@@ -1377,6 +1397,9 @@ exports.ForumOperationalParams = {
1377
1397
  if (object.accept_proposal_timeout !== undefined && object.accept_proposal_timeout !== null) {
1378
1398
  message.acceptProposalTimeout = BigInt(object.accept_proposal_timeout);
1379
1399
  }
1400
+ if (object.max_accept_proposals_per_sentinel_per_thread !== undefined && object.max_accept_proposals_per_sentinel_per_thread !== null) {
1401
+ message.maxAcceptProposalsPerSentinelPerThread = object.max_accept_proposals_per_sentinel_per_thread;
1402
+ }
1380
1403
  return message;
1381
1404
  },
1382
1405
  toAmino(message) {
@@ -1433,6 +1456,7 @@ exports.ForumOperationalParams = {
1433
1456
  obj.post_conviction_staker_slash_bps = message.postConvictionStakerSlashBps !== BigInt(0) ? message.postConvictionStakerSlashBps?.toString() : undefined;
1434
1457
  obj.curation_dream_reward = message.curationDreamReward === "" ? undefined : message.curationDreamReward;
1435
1458
  obj.accept_proposal_timeout = message.acceptProposalTimeout !== BigInt(0) ? message.acceptProposalTimeout?.toString() : undefined;
1459
+ obj.max_accept_proposals_per_sentinel_per_thread = message.maxAcceptProposalsPerSentinelPerThread === 0 ? undefined : message.maxAcceptProposalsPerSentinelPerThread;
1436
1460
  return obj;
1437
1461
  },
1438
1462
  fromAminoMsg(object) {
@@ -52,6 +52,15 @@ export interface AccuracyEpochBucketAminoMsg {
52
52
  * SentinelActivity holds forum-specific action counters and local cooldowns
53
53
  * for a sentinel. The accountability record (bond, bond status, activity
54
54
  * stamps) lives in sparkdream.rep.v1.SentinelActivity.
55
+ * STORAGE vs PROJECTION: the shared accountability record lives on
56
+ * x/rep's RoleActivity (see docs/x-rep-spec.md); forum PERSISTS only the
57
+ * forum-local fields — pending_hide_count, unchallenged_hides, and the
58
+ * curation-proposal lifecycle counters (total/confirmed/rejected_proposals).
59
+ * Every other field (per-action totals/upheld/overturned/epoch counters,
60
+ * streaks, overturn_cooldown_until, accuracy_window, collect counters) is
61
+ * PROJECTION-ONLY: sourced from x/rep's shared RoleActivity record at query
62
+ * time by get-sentinel-activity so client field paths stay stable. Those
63
+ * fields are zero in stored records and must not be written.
55
64
  * @name SentinelActivity
56
65
  * @package sparkdream.forum.v1
57
66
  * @see proto type: sparkdream.forum.v1.SentinelActivity
@@ -115,6 +124,19 @@ export interface SentinelActivity {
115
124
  * as zero decided appeals).
116
125
  */
117
126
  accuracyWindow: AccuracyEpochBucket[];
127
+ /**
128
+ * Cross-module (x/collect) hide counters. Collect moderation is performed
129
+ * by the same shared CONTENT_SENTINEL corps; collect reports hide actions
130
+ * and jury outcomes into this record so streak demotion, the overturn
131
+ * cooldown, the accuracy ring (outcomes land in accuracy_window like forum
132
+ * ones), and reward-epoch activity all see collect behavior. Kept as
133
+ * separate counters (not folded into total/epoch_hides) so forum's own
134
+ * max_hides_per_epoch budget is not consumed by collect actions.
135
+ */
136
+ totalCollectHides: bigint;
137
+ upheldCollectHides: bigint;
138
+ overturnedCollectHides: bigint;
139
+ epochCollectHides: bigint;
118
140
  }
119
141
  export interface SentinelActivityProtoMsg {
120
142
  typeUrl: "/sparkdream.forum.v1.SentinelActivity";
@@ -124,6 +146,15 @@ export interface SentinelActivityProtoMsg {
124
146
  * SentinelActivity holds forum-specific action counters and local cooldowns
125
147
  * for a sentinel. The accountability record (bond, bond status, activity
126
148
  * stamps) lives in sparkdream.rep.v1.SentinelActivity.
149
+ * STORAGE vs PROJECTION: the shared accountability record lives on
150
+ * x/rep's RoleActivity (see docs/x-rep-spec.md); forum PERSISTS only the
151
+ * forum-local fields — pending_hide_count, unchallenged_hides, and the
152
+ * curation-proposal lifecycle counters (total/confirmed/rejected_proposals).
153
+ * Every other field (per-action totals/upheld/overturned/epoch counters,
154
+ * streaks, overturn_cooldown_until, accuracy_window, collect counters) is
155
+ * PROJECTION-ONLY: sourced from x/rep's shared RoleActivity record at query
156
+ * time by get-sentinel-activity so client field paths stay stable. Those
157
+ * fields are zero in stored records and must not be written.
127
158
  * @name SentinelActivityAmino
128
159
  * @package sparkdream.forum.v1
129
160
  * @see proto type: sparkdream.forum.v1.SentinelActivity
@@ -187,6 +218,19 @@ export interface SentinelActivityAmino {
187
218
  * as zero decided appeals).
188
219
  */
189
220
  accuracy_window?: AccuracyEpochBucketAmino[];
221
+ /**
222
+ * Cross-module (x/collect) hide counters. Collect moderation is performed
223
+ * by the same shared CONTENT_SENTINEL corps; collect reports hide actions
224
+ * and jury outcomes into this record so streak demotion, the overturn
225
+ * cooldown, the accuracy ring (outcomes land in accuracy_window like forum
226
+ * ones), and reward-epoch activity all see collect behavior. Kept as
227
+ * separate counters (not folded into total/epoch_hides) so forum's own
228
+ * max_hides_per_epoch budget is not consumed by collect actions.
229
+ */
230
+ total_collect_hides?: string;
231
+ upheld_collect_hides?: string;
232
+ overturned_collect_hides?: string;
233
+ epoch_collect_hides?: string;
190
234
  }
191
235
  export interface SentinelActivityAminoMsg {
192
236
  type: "/sparkdream.forum.v1.SentinelActivity";
@@ -217,6 +261,15 @@ export declare const AccuracyEpochBucket: {
217
261
  * SentinelActivity holds forum-specific action counters and local cooldowns
218
262
  * for a sentinel. The accountability record (bond, bond status, activity
219
263
  * stamps) lives in sparkdream.rep.v1.SentinelActivity.
264
+ * STORAGE vs PROJECTION: the shared accountability record lives on
265
+ * x/rep's RoleActivity (see docs/x-rep-spec.md); forum PERSISTS only the
266
+ * forum-local fields — pending_hide_count, unchallenged_hides, and the
267
+ * curation-proposal lifecycle counters (total/confirmed/rejected_proposals).
268
+ * Every other field (per-action totals/upheld/overturned/epoch counters,
269
+ * streaks, overturn_cooldown_until, accuracy_window, collect counters) is
270
+ * PROJECTION-ONLY: sourced from x/rep's shared RoleActivity record at query
271
+ * time by get-sentinel-activity so client field paths stay stable. Those
272
+ * fields are zero in stored records and must not be written.
220
273
  * @name SentinelActivity
221
274
  * @package sparkdream.forum.v1
222
275
  * @see proto type: sparkdream.forum.v1.SentinelActivity
@@ -129,13 +129,26 @@ function createBaseSentinelActivity() {
129
129
  confirmedProposals: BigInt(0),
130
130
  rejectedProposals: BigInt(0),
131
131
  epochCurations: BigInt(0),
132
- accuracyWindow: []
132
+ accuracyWindow: [],
133
+ totalCollectHides: BigInt(0),
134
+ upheldCollectHides: BigInt(0),
135
+ overturnedCollectHides: BigInt(0),
136
+ epochCollectHides: BigInt(0)
133
137
  };
134
138
  }
135
139
  /**
136
140
  * SentinelActivity holds forum-specific action counters and local cooldowns
137
141
  * for a sentinel. The accountability record (bond, bond status, activity
138
142
  * stamps) lives in sparkdream.rep.v1.SentinelActivity.
143
+ * STORAGE vs PROJECTION: the shared accountability record lives on
144
+ * x/rep's RoleActivity (see docs/x-rep-spec.md); forum PERSISTS only the
145
+ * forum-local fields — pending_hide_count, unchallenged_hides, and the
146
+ * curation-proposal lifecycle counters (total/confirmed/rejected_proposals).
147
+ * Every other field (per-action totals/upheld/overturned/epoch counters,
148
+ * streaks, overturn_cooldown_until, accuracy_window, collect counters) is
149
+ * PROJECTION-ONLY: sourced from x/rep's shared RoleActivity record at query
150
+ * time by get-sentinel-activity so client field paths stay stable. Those
151
+ * fields are zero in stored records and must not be written.
139
152
  * @name SentinelActivity
140
153
  * @package sparkdream.forum.v1
141
154
  * @see proto type: sparkdream.forum.v1.SentinelActivity
@@ -230,6 +243,18 @@ exports.SentinelActivity = {
230
243
  for (const v of message.accuracyWindow) {
231
244
  exports.AccuracyEpochBucket.encode(v, writer.uint32(234).fork()).ldelim();
232
245
  }
246
+ if (message.totalCollectHides !== BigInt(0)) {
247
+ writer.uint32(240).uint64(message.totalCollectHides);
248
+ }
249
+ if (message.upheldCollectHides !== BigInt(0)) {
250
+ writer.uint32(248).uint64(message.upheldCollectHides);
251
+ }
252
+ if (message.overturnedCollectHides !== BigInt(0)) {
253
+ writer.uint32(256).uint64(message.overturnedCollectHides);
254
+ }
255
+ if (message.epochCollectHides !== BigInt(0)) {
256
+ writer.uint32(264).uint64(message.epochCollectHides);
257
+ }
233
258
  return writer;
234
259
  },
235
260
  decode(input, length) {
@@ -326,6 +351,18 @@ exports.SentinelActivity = {
326
351
  case 29:
327
352
  message.accuracyWindow.push(exports.AccuracyEpochBucket.decode(reader, reader.uint32()));
328
353
  break;
354
+ case 30:
355
+ message.totalCollectHides = reader.uint64();
356
+ break;
357
+ case 31:
358
+ message.upheldCollectHides = reader.uint64();
359
+ break;
360
+ case 32:
361
+ message.overturnedCollectHides = reader.uint64();
362
+ break;
363
+ case 33:
364
+ message.epochCollectHides = reader.uint64();
365
+ break;
329
366
  default:
330
367
  reader.skipType(tag & 7);
331
368
  break;
@@ -364,6 +401,10 @@ exports.SentinelActivity = {
364
401
  message.rejectedProposals = object.rejectedProposals !== undefined && object.rejectedProposals !== null ? BigInt(object.rejectedProposals.toString()) : BigInt(0);
365
402
  message.epochCurations = object.epochCurations !== undefined && object.epochCurations !== null ? BigInt(object.epochCurations.toString()) : BigInt(0);
366
403
  message.accuracyWindow = object.accuracyWindow?.map(e => exports.AccuracyEpochBucket.fromPartial(e)) || [];
404
+ message.totalCollectHides = object.totalCollectHides !== undefined && object.totalCollectHides !== null ? BigInt(object.totalCollectHides.toString()) : BigInt(0);
405
+ message.upheldCollectHides = object.upheldCollectHides !== undefined && object.upheldCollectHides !== null ? BigInt(object.upheldCollectHides.toString()) : BigInt(0);
406
+ message.overturnedCollectHides = object.overturnedCollectHides !== undefined && object.overturnedCollectHides !== null ? BigInt(object.overturnedCollectHides.toString()) : BigInt(0);
407
+ message.epochCollectHides = object.epochCollectHides !== undefined && object.epochCollectHides !== null ? BigInt(object.epochCollectHides.toString()) : BigInt(0);
367
408
  return message;
368
409
  },
369
410
  fromAmino(object) {
@@ -453,6 +494,18 @@ exports.SentinelActivity = {
453
494
  message.epochCurations = BigInt(object.epoch_curations);
454
495
  }
455
496
  message.accuracyWindow = object.accuracy_window?.map(e => exports.AccuracyEpochBucket.fromAmino(e)) || [];
497
+ if (object.total_collect_hides !== undefined && object.total_collect_hides !== null) {
498
+ message.totalCollectHides = BigInt(object.total_collect_hides);
499
+ }
500
+ if (object.upheld_collect_hides !== undefined && object.upheld_collect_hides !== null) {
501
+ message.upheldCollectHides = BigInt(object.upheld_collect_hides);
502
+ }
503
+ if (object.overturned_collect_hides !== undefined && object.overturned_collect_hides !== null) {
504
+ message.overturnedCollectHides = BigInt(object.overturned_collect_hides);
505
+ }
506
+ if (object.epoch_collect_hides !== undefined && object.epoch_collect_hides !== null) {
507
+ message.epochCollectHides = BigInt(object.epoch_collect_hides);
508
+ }
456
509
  return message;
457
510
  },
458
511
  toAmino(message) {
@@ -491,6 +544,10 @@ exports.SentinelActivity = {
491
544
  else {
492
545
  obj.accuracy_window = message.accuracyWindow;
493
546
  }
547
+ obj.total_collect_hides = message.totalCollectHides !== BigInt(0) ? message.totalCollectHides?.toString() : undefined;
548
+ obj.upheld_collect_hides = message.upheldCollectHides !== BigInt(0) ? message.upheldCollectHides?.toString() : undefined;
549
+ obj.overturned_collect_hides = message.overturnedCollectHides !== BigInt(0) ? message.overturnedCollectHides?.toString() : undefined;
550
+ obj.epoch_collect_hides = message.epochCollectHides !== BigInt(0) ? message.epochCollectHides?.toString() : undefined;
494
551
  return obj;
495
552
  },
496
553
  fromAminoMsg(object) {
@@ -33,6 +33,14 @@ export interface ThreadMetadata {
33
33
  proposalFireAt: bigint;
34
34
  pinnedReplyIds: bigint[];
35
35
  pinnedRecords: PinnedReplyRecord[];
36
+ /**
37
+ * proposals_locked, when true, closes the thread to sentinel accepted-reply
38
+ * proposals: proposeAcceptedReply rejects with ErrThreadProposalsLocked. Set
39
+ * by the thread author via MsgSetThreadProposalsLock so a discussion thread (or
40
+ * a thread with no good answer) can be definitively closed to curation without
41
+ * being forced into an irreversible acceptance. Author-only to set/clear.
42
+ */
43
+ proposalsLocked: boolean;
36
44
  }
37
45
  export interface ThreadMetadataProtoMsg {
38
46
  typeUrl: "/sparkdream.forum.v1.ThreadMetadata";
@@ -70,6 +78,14 @@ export interface ThreadMetadataAmino {
70
78
  proposal_fire_at?: string;
71
79
  pinned_reply_ids?: string[];
72
80
  pinned_records?: PinnedReplyRecordAmino[];
81
+ /**
82
+ * proposals_locked, when true, closes the thread to sentinel accepted-reply
83
+ * proposals: proposeAcceptedReply rejects with ErrThreadProposalsLocked. Set
84
+ * by the thread author via MsgSetThreadProposalsLock so a discussion thread (or
85
+ * a thread with no good answer) can be definitively closed to curation without
86
+ * being forced into an irreversible acceptance. Author-only to set/clear.
87
+ */
88
+ proposals_locked?: boolean;
73
89
  }
74
90
  export interface ThreadMetadataAminoMsg {
75
91
  type: "/sparkdream.forum.v1.ThreadMetadata";
@@ -16,7 +16,8 @@ function createBaseThreadMetadata() {
16
16
  proposalExtended: false,
17
17
  proposalFireAt: BigInt(0),
18
18
  pinnedReplyIds: [],
19
- pinnedRecords: []
19
+ pinnedRecords: [],
20
+ proposalsLocked: false
20
21
  };
21
22
  }
22
23
  /**
@@ -63,6 +64,9 @@ exports.ThreadMetadata = {
63
64
  for (const v of message.pinnedRecords) {
64
65
  types_1.PinnedReplyRecord.encode(v, writer.uint32(90).fork()).ldelim();
65
66
  }
67
+ if (message.proposalsLocked === true) {
68
+ writer.uint32(96).bool(message.proposalsLocked);
69
+ }
66
70
  return writer;
67
71
  },
68
72
  decode(input, length) {
@@ -113,6 +117,9 @@ exports.ThreadMetadata = {
113
117
  case 11:
114
118
  message.pinnedRecords.push(types_1.PinnedReplyRecord.decode(reader, reader.uint32()));
115
119
  break;
120
+ case 12:
121
+ message.proposalsLocked = reader.bool();
122
+ break;
116
123
  default:
117
124
  reader.skipType(tag & 7);
118
125
  break;
@@ -133,6 +140,7 @@ exports.ThreadMetadata = {
133
140
  message.proposalFireAt = object.proposalFireAt !== undefined && object.proposalFireAt !== null ? BigInt(object.proposalFireAt.toString()) : BigInt(0);
134
141
  message.pinnedReplyIds = object.pinnedReplyIds?.map(e => BigInt(e.toString())) || [];
135
142
  message.pinnedRecords = object.pinnedRecords?.map(e => types_1.PinnedReplyRecord.fromPartial(e)) || [];
143
+ message.proposalsLocked = object.proposalsLocked ?? false;
136
144
  return message;
137
145
  },
138
146
  fromAmino(object) {
@@ -166,6 +174,9 @@ exports.ThreadMetadata = {
166
174
  }
167
175
  message.pinnedReplyIds = object.pinned_reply_ids?.map(e => BigInt(e)) || [];
168
176
  message.pinnedRecords = object.pinned_records?.map(e => types_1.PinnedReplyRecord.fromAmino(e)) || [];
177
+ if (object.proposals_locked !== undefined && object.proposals_locked !== null) {
178
+ message.proposalsLocked = object.proposals_locked;
179
+ }
169
180
  return message;
170
181
  },
171
182
  toAmino(message) {
@@ -191,6 +202,7 @@ exports.ThreadMetadata = {
191
202
  else {
192
203
  obj.pinned_records = message.pinnedRecords;
193
204
  }
205
+ obj.proposals_locked = message.proposalsLocked === false ? undefined : message.proposalsLocked;
194
206
  return obj;
195
207
  },
196
208
  fromAminoMsg(object) {
@@ -8,7 +8,7 @@ import { DeepPartial } from "../../../helpers";
8
8
  * where an account is BOTH a bonded forum sentinel and a Commons Operations
9
9
  * Committee member: without it the handler would silently pick the council
10
10
  * (gov) path — a strictly more powerful, less accountable action chosen by
11
- * accident. See docs/HANDOFF_HIDE_AUTHORITY_DISAMBIGUATION.md.
11
+ * accident. See docs/x-forum-spec.md (Shared ModerationAuthority).
12
12
  */
13
13
  export declare enum ModerationAuthority {
14
14
  /**
@@ -187,9 +187,6 @@ export interface MsgCreatePost {
187
187
  content: string;
188
188
  tags: string[];
189
189
  contentType: ContentType;
190
- /**
191
- * Optional DREAM amount to lock as author bond
192
- */
193
190
  authorBond?: string;
194
191
  initiativeId: bigint;
195
192
  }
@@ -210,9 +207,6 @@ export interface MsgCreatePostAmino {
210
207
  content?: string;
211
208
  tags?: string[];
212
209
  content_type?: ContentType;
213
- /**
214
- * Optional DREAM amount to lock as author bond
215
- */
216
210
  author_bond?: string;
217
211
  initiative_id?: string;
218
212
  }
@@ -2210,6 +2204,60 @@ export interface MsgSetModerationPausedResponseAminoMsg {
2210
2204
  type: "/sparkdream.forum.v1.MsgSetModerationPausedResponse";
2211
2205
  value: MsgSetModerationPausedResponseAmino;
2212
2206
  }
2207
+ /**
2208
+ * MsgSetThreadProposalsLock defines the MsgSetThreadProposalsLock message.
2209
+ * @name MsgSetThreadProposalsLock
2210
+ * @package sparkdream.forum.v1
2211
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLock
2212
+ */
2213
+ export interface MsgSetThreadProposalsLock {
2214
+ creator: string;
2215
+ threadId: bigint;
2216
+ locked: boolean;
2217
+ }
2218
+ export interface MsgSetThreadProposalsLockProtoMsg {
2219
+ typeUrl: "/sparkdream.forum.v1.MsgSetThreadProposalsLock";
2220
+ value: Uint8Array;
2221
+ }
2222
+ /**
2223
+ * MsgSetThreadProposalsLock defines the MsgSetThreadProposalsLock message.
2224
+ * @name MsgSetThreadProposalsLockAmino
2225
+ * @package sparkdream.forum.v1
2226
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLock
2227
+ */
2228
+ export interface MsgSetThreadProposalsLockAmino {
2229
+ creator?: string;
2230
+ thread_id?: string;
2231
+ locked?: boolean;
2232
+ }
2233
+ export interface MsgSetThreadProposalsLockAminoMsg {
2234
+ type: "sparkdream/x/forum/MsgSetThreadProposalsLock";
2235
+ value: MsgSetThreadProposalsLockAmino;
2236
+ }
2237
+ /**
2238
+ * MsgSetThreadProposalsLockResponse defines the MsgSetThreadProposalsLockResponse message.
2239
+ * @name MsgSetThreadProposalsLockResponse
2240
+ * @package sparkdream.forum.v1
2241
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLockResponse
2242
+ */
2243
+ export interface MsgSetThreadProposalsLockResponse {
2244
+ }
2245
+ export interface MsgSetThreadProposalsLockResponseProtoMsg {
2246
+ typeUrl: "/sparkdream.forum.v1.MsgSetThreadProposalsLockResponse";
2247
+ value: Uint8Array;
2248
+ }
2249
+ /**
2250
+ * MsgSetThreadProposalsLockResponse defines the MsgSetThreadProposalsLockResponse message.
2251
+ * @name MsgSetThreadProposalsLockResponseAmino
2252
+ * @package sparkdream.forum.v1
2253
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLockResponse
2254
+ */
2255
+ export interface MsgSetThreadProposalsLockResponseAmino {
2256
+ }
2257
+ export interface MsgSetThreadProposalsLockResponseAminoMsg {
2258
+ type: "/sparkdream.forum.v1.MsgSetThreadProposalsLockResponse";
2259
+ value: MsgSetThreadProposalsLockResponseAmino;
2260
+ }
2213
2261
  /**
2214
2262
  * MsgUpdateParams is the Msg/UpdateParams request type.
2215
2263
  * @name MsgUpdateParams
@@ -3698,3 +3746,41 @@ export declare const MsgSetModerationPausedResponse: {
3698
3746
  toProto(message: MsgSetModerationPausedResponse): Uint8Array;
3699
3747
  toProtoMsg(message: MsgSetModerationPausedResponse): MsgSetModerationPausedResponseProtoMsg;
3700
3748
  };
3749
+ /**
3750
+ * MsgSetThreadProposalsLock defines the MsgSetThreadProposalsLock message.
3751
+ * @name MsgSetThreadProposalsLock
3752
+ * @package sparkdream.forum.v1
3753
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLock
3754
+ */
3755
+ export declare const MsgSetThreadProposalsLock: {
3756
+ typeUrl: string;
3757
+ aminoType: string;
3758
+ encode(message: MsgSetThreadProposalsLock, writer?: BinaryWriter): BinaryWriter;
3759
+ decode(input: BinaryReader | Uint8Array, length?: number): MsgSetThreadProposalsLock;
3760
+ fromPartial(object: DeepPartial<MsgSetThreadProposalsLock>): MsgSetThreadProposalsLock;
3761
+ fromAmino(object: MsgSetThreadProposalsLockAmino): MsgSetThreadProposalsLock;
3762
+ toAmino(message: MsgSetThreadProposalsLock): MsgSetThreadProposalsLockAmino;
3763
+ fromAminoMsg(object: MsgSetThreadProposalsLockAminoMsg): MsgSetThreadProposalsLock;
3764
+ toAminoMsg(message: MsgSetThreadProposalsLock): MsgSetThreadProposalsLockAminoMsg;
3765
+ fromProtoMsg(message: MsgSetThreadProposalsLockProtoMsg): MsgSetThreadProposalsLock;
3766
+ toProto(message: MsgSetThreadProposalsLock): Uint8Array;
3767
+ toProtoMsg(message: MsgSetThreadProposalsLock): MsgSetThreadProposalsLockProtoMsg;
3768
+ };
3769
+ /**
3770
+ * MsgSetThreadProposalsLockResponse defines the MsgSetThreadProposalsLockResponse message.
3771
+ * @name MsgSetThreadProposalsLockResponse
3772
+ * @package sparkdream.forum.v1
3773
+ * @see proto type: sparkdream.forum.v1.MsgSetThreadProposalsLockResponse
3774
+ */
3775
+ export declare const MsgSetThreadProposalsLockResponse: {
3776
+ typeUrl: string;
3777
+ encode(_: MsgSetThreadProposalsLockResponse, writer?: BinaryWriter): BinaryWriter;
3778
+ decode(input: BinaryReader | Uint8Array, length?: number): MsgSetThreadProposalsLockResponse;
3779
+ fromPartial(_: DeepPartial<MsgSetThreadProposalsLockResponse>): MsgSetThreadProposalsLockResponse;
3780
+ fromAmino(_: MsgSetThreadProposalsLockResponseAmino): MsgSetThreadProposalsLockResponse;
3781
+ toAmino(_: MsgSetThreadProposalsLockResponse): MsgSetThreadProposalsLockResponseAmino;
3782
+ fromAminoMsg(object: MsgSetThreadProposalsLockResponseAminoMsg): MsgSetThreadProposalsLockResponse;
3783
+ fromProtoMsg(message: MsgSetThreadProposalsLockResponseProtoMsg): MsgSetThreadProposalsLockResponse;
3784
+ toProto(message: MsgSetThreadProposalsLockResponse): Uint8Array;
3785
+ toProtoMsg(message: MsgSetThreadProposalsLockResponse): MsgSetThreadProposalsLockResponseProtoMsg;
3786
+ };