@sparkdreamnft/sparkdreamjs 0.0.35 → 0.0.36

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 (74) hide show
  1. package/akash/bundle.d.ts +134 -134
  2. package/akash/bundle.js +150 -150
  3. package/cosmos/bundle.d.ts +160 -160
  4. package/cosmos/bundle.js +182 -182
  5. package/esm/akash/bundle.js +150 -150
  6. package/esm/cosmos/bundle.js +182 -182
  7. package/esm/ibc/bundle.js +116 -116
  8. package/esm/sparkdream/bundle.js +305 -301
  9. package/esm/sparkdream/rep/v1/{interim_template.js → acceptance_criteria.js} +13 -123
  10. package/esm/sparkdream/rep/v1/accountability.js +11 -0
  11. package/esm/sparkdream/rep/v1/bonded_role.js +13 -0
  12. package/esm/sparkdream/rep/v1/challenge.js +21 -9
  13. package/esm/sparkdream/rep/v1/genesis.js +198 -59
  14. package/esm/sparkdream/rep/v1/initiative.js +160 -49
  15. package/esm/sparkdream/rep/v1/initiative_review.js +179 -0
  16. package/esm/sparkdream/rep/v1/jury_participation.js +39 -9
  17. package/esm/sparkdream/rep/v1/jury_review.js +40 -1
  18. package/esm/sparkdream/rep/v1/member_report.js +8 -8
  19. package/esm/sparkdream/rep/v1/member_warning.js +2 -2
  20. package/esm/sparkdream/rep/v1/params.js +614 -2
  21. package/esm/sparkdream/rep/v1/query.js +1446 -325
  22. package/esm/sparkdream/rep/v1/query.lcd.js +49 -16
  23. package/esm/sparkdream/rep/v1/query.rpc.Query.js +67 -21
  24. package/esm/sparkdream/rep/v1/review_bounty.js +215 -0
  25. package/esm/sparkdream/rep/v1/tag_report.js +2 -2
  26. package/esm/sparkdream/rep/v1/tx.js +2610 -1442
  27. package/esm/sparkdream/rep/v1/tx.registry.js +128 -2
  28. package/esm/sparkdream/rep/v1/tx.rpc.msg.js +43 -1
  29. package/esm/tendermint/bundle.js +18 -18
  30. package/ibc/bundle.d.ts +99 -99
  31. package/ibc/bundle.js +116 -116
  32. package/package.json +1 -1
  33. package/sparkdream/bundle.d.ts +9659 -9199
  34. package/sparkdream/bundle.js +305 -301
  35. package/sparkdream/rep/v1/{interim_template.d.ts → acceptance_criteria.d.ts} +39 -52
  36. package/sparkdream/rep/v1/{interim_template.js → acceptance_criteria.js} +14 -124
  37. package/sparkdream/rep/v1/accountability.d.ts +6 -0
  38. package/sparkdream/rep/v1/accountability.js +11 -0
  39. package/sparkdream/rep/v1/bonded_role.d.ts +8 -0
  40. package/sparkdream/rep/v1/bonded_role.js +13 -0
  41. package/sparkdream/rep/v1/challenge.d.ts +14 -0
  42. package/sparkdream/rep/v1/challenge.js +21 -9
  43. package/sparkdream/rep/v1/genesis.d.ts +100 -3
  44. package/sparkdream/rep/v1/genesis.js +199 -60
  45. package/sparkdream/rep/v1/initiative.d.ts +106 -2
  46. package/sparkdream/rep/v1/initiative.js +163 -50
  47. package/sparkdream/rep/v1/initiative_review.d.ts +121 -0
  48. package/sparkdream/rep/v1/initiative_review.js +182 -0
  49. package/sparkdream/rep/v1/jury_participation.d.ts +89 -5
  50. package/sparkdream/rep/v1/jury_participation.js +39 -9
  51. package/sparkdream/rep/v1/jury_review.d.ts +38 -0
  52. package/sparkdream/rep/v1/jury_review.js +40 -1
  53. package/sparkdream/rep/v1/member_report.js +8 -8
  54. package/sparkdream/rep/v1/member_warning.js +2 -2
  55. package/sparkdream/rep/v1/params.d.ts +668 -16
  56. package/sparkdream/rep/v1/params.js +614 -2
  57. package/sparkdream/rep/v1/query.d.ts +929 -179
  58. package/sparkdream/rep/v1/query.js +1450 -329
  59. package/sparkdream/rep/v1/query.lcd.d.ts +7 -3
  60. package/sparkdream/rep/v1/query.lcd.js +49 -16
  61. package/sparkdream/rep/v1/query.rpc.Query.d.ts +47 -9
  62. package/sparkdream/rep/v1/query.rpc.Query.js +66 -20
  63. package/sparkdream/rep/v1/review_bounty.d.ts +168 -0
  64. package/sparkdream/rep/v1/review_bounty.js +218 -0
  65. package/sparkdream/rep/v1/tag_report.js +2 -2
  66. package/sparkdream/rep/v1/tx.d.ts +816 -9
  67. package/sparkdream/rep/v1/tx.js +2612 -1443
  68. package/sparkdream/rep/v1/tx.registry.d.ts +85 -1
  69. package/sparkdream/rep/v1/tx.registry.js +127 -1
  70. package/sparkdream/rep/v1/tx.rpc.msg.d.ts +20 -1
  71. package/sparkdream/rep/v1/tx.rpc.msg.js +42 -0
  72. package/sparkdream/rpc.query.d.ts +6 -2
  73. package/tendermint/bundle.d.ts +844 -844
  74. package/tendermint/bundle.js +18 -18
@@ -376,23 +376,273 @@ export interface Params {
376
376
  */
377
377
  proposedProjectExpiryBlocks: bigint;
378
378
  /**
379
- * Fraction of the initiative budget locked as a DREAM bond when the project
380
- * creator self-assigns on a budget-backed project (permissionless projects
381
- * are exempt — no treasury exposure). Bond is returned on completion or
382
- * abandonment and burned when a challenge is upheld. Range [0, 1]; 0 disables.
379
+ * Fraction of the initiative budget locked as a DREAM bond when an
380
+ * initiative is self-assigned on a budget-backed project. Bond is returned
381
+ * on completion or abandonment and burned when a challenge is upheld.
382
+ * Range [0, 1]; 0 disables.
383
383
  */
384
384
  selfAssignedBondRate: string;
385
385
  /**
386
386
  * External-conviction ratio applied instead of external_conviction_ratio when
387
- * the assignee is the project creator. Must be >= external_conviction_ratio
388
- * and <= 1. Default 1.0: the community alone vouches for self-assigned work.
387
+ * the initiative is self-assigned. Must be >= external_conviction_ratio and
388
+ * <= 1. Default 1.0: the community alone vouches for self-assigned work.
389
389
  */
390
390
  selfAssignedExternalConvictionRatio: string;
391
391
  /**
392
- * Multiplier applied to the challenge window for creator-assigned
393
- * initiatives. Must be >= 1. Default 2.
392
+ * Multiplier applied to the challenge window for self-assigned initiatives.
393
+ * Must be >= 1. Default 2.
394
394
  */
395
395
  selfAssignedChallengeMultiplier: bigint;
396
+ /**
397
+ * Bond rate applied instead of self_assigned_bond_rate when the initiative
398
+ * is self-assigned under a permissionless project. Higher because the two
399
+ * cases expose the commons differently: a budget-backed initiative MOVES
400
+ * DREAM that governance already approved, while a permissionless one MINTS
401
+ * DREAM nobody approved and dilutes every holder. Permissionless
402
+ * self-assignment used to be exempt from the bond entirely, which disabled
403
+ * the main economic deterrent exactly where no counterparty exists.
404
+ * Range [0, 1]; 0 disables. Default 0.25.
405
+ */
406
+ permissionlessSelfAssignedBondRate: string;
407
+ /**
408
+ * Reputation deducted, per tag of the disputed initiative, from a juror who
409
+ * accepted a summons and then let it lapse. Accepting is voluntary and
410
+ * declining is free and immediate, so an abandoned seat is a broken
411
+ * commitment rather than an accident of the draw.
412
+ *
413
+ * Charged in reputation because that is what qualifies a juror: enough
414
+ * abandoned seats and they fall below min_juror_reputation and stop being
415
+ * drawn for that tag at all. Must be non-negative; 0 disables. Default 10.
416
+ */
417
+ abandonedJurySeatPenalty: string;
418
+ /**
419
+ * Fraction of the disputed initiative's budget paid out to its jury, split
420
+ * evenly across the seats. Juror pay was a flat StandardComplexityBudget
421
+ * regardless of what was in dispute, so a challenge over a 100 DREAM
422
+ * APPRENTICE initiative minted 750 DREAM in juror fees to settle it — more
423
+ * than the work was worth. Range [0, 1]. Default 0.25.
424
+ */
425
+ jurorRewardRate: string;
426
+ /**
427
+ * Fraction of an initiative's review period a juror has to answer a summons
428
+ * before the seat is swept and redrawn.
429
+ *
430
+ * A ratio rather than a block count because the review period varies by two
431
+ * orders of magnitude across networks: the previous fixed 1200-block (~2h)
432
+ * window was 1.2% of mainnet's ~7-day review but 133% of devnet's, putting
433
+ * the acceptance deadline *after* the vote deadline there and making the
434
+ * sweep unreachable. It also contradicted the reason no-shows go unpunished
435
+ * — that a member cannot be expected to watch the chain for an event that
436
+ * reaches them about once a year — by then withdrawing the seat if they did
437
+ * not answer within two hours.
438
+ *
439
+ * Sized for how long it takes someone to read a notification, not to react
440
+ * to a block. Range (0, 1). Default 0.25 — about 42 hours on mainnet.
441
+ *
442
+ * Operational alongside the other juror knobs: leaving juror *pay* committee
443
+ * tunable while juror *timing* needed a governance vote was an artifact of
444
+ * build order, not a decision.
445
+ */
446
+ juryAcceptanceWindowRatio: string;
447
+ /**
448
+ * Floor on a single juror's pay, in micro-DREAM.
449
+ *
450
+ * juror_reward_rate scales pay against the disputed initiative's budget, but
451
+ * content challenges and moderation appeals have no initiative budget to
452
+ * scale against — for those this floor *is* the whole rate, which is why it
453
+ * cannot stay a compile-time constant. Default 5 DREAM.
454
+ */
455
+ minJurorReward: string;
456
+ /**
457
+ * Floor on the responsiveness multiplier applied to a juror's selection
458
+ * weight. A juror who never answers is drawn less often, never not at all —
459
+ * a zero-weight address could never earn its way back, since it would stop
460
+ * being drawn and so could never demonstrate otherwise.
461
+ *
462
+ * Chosen for shape rather than fitted to anything, and meant to be revisited
463
+ * against observed response rates. Range (0,1]. Default 0.1.
464
+ */
465
+ minJurorSelectionWeight: string;
466
+ /**
467
+ * Seatings a juror must have before the responsiveness weight applies at all.
468
+ * Below this there is no meaningful record and they are drawn at full weight.
469
+ * Like the floor above, a guess awaiting real data. Default 3.
470
+ */
471
+ minJurySeatingsForWeighting: bigint;
472
+ /**
473
+ * Conviction-weighted completion bonus, as a fraction of the initiative
474
+ * budget, paid to external stakers on completion.
475
+ *
476
+ * Was a hardcoded 1/10 divisor while the project-side equivalent
477
+ * (project_completion_bonus_rate) was already a param — the same economic
478
+ * knob, tunable on one side and fixed on the other. Range [0,1].
479
+ * Default 0.1.
480
+ */
481
+ initiativeCompletionBonusRate: string;
482
+ /**
483
+ * Replacement rounds the acceptance sweep may run per jury review.
484
+ *
485
+ * Coupled to jury_acceptance_window_ratio and validated against it: each round
486
+ * costs one acceptance window out of the review period, so widening the window
487
+ * without lowering this leaves replacement jurors no time to read the work.
488
+ * Both live in the same scope so the pair always moves under one authority.
489
+ * Default 1.
490
+ */
491
+ maxJuryRedraws: number;
492
+ /**
493
+ * Fraction of an initiative's budget a reviewer commits as bond when filing a
494
+ * verdict on it, and the amount slashed if a jury overturns that verdict.
495
+ *
496
+ * Scaled rather than flat so liability tracks what the review could mint — a
497
+ * wrong approval on an EPIC initiative releases up to 10,000 DREAM, and the
498
+ * same risk should not attach to a 100 DREAM one. It is also self-limiting:
499
+ * a reviewer can only hold as many open verdicts as their free bond covers.
500
+ * Range (0,1]. Default 0.1.
501
+ */
502
+ reviewerBondReserveRate: string;
503
+ /**
504
+ * Fraction of an initiative's budget paid to the reviewers who filed a
505
+ * verdict on the round that resolved it, scaled by the tier's
506
+ * reward_multiplier and split evenly across those reviewers.
507
+ *
508
+ * Paid per verdict filed, never per approval — if approving paid and
509
+ * rejecting did not, the role would rebuild "paid to say yes" one layer down.
510
+ * Paid when the initiative resolves, so an unacted-on review costs nothing and
511
+ * filing verdicts earns nothing until something turns on them. Range [0,1].
512
+ * Default 0.05.
513
+ */
514
+ reviewFeeRate: string;
515
+ /**
516
+ * Review rounds an initiative may go through before a rejection becomes
517
+ * terminal. A rejection returns the work to ASSIGNED so the assignee can fix
518
+ * and resubmit, which is the right remedy for "not done" — but unbounded it
519
+ * lets a bad-faith assignee burn reviewer effort indefinitely. Default 3.
520
+ */
521
+ maxReviewRounds: number;
522
+ /**
523
+ * SPARK reward pool for initiative reviewers, mirroring the sentinel pool but
524
+ * held and tuned separately.
525
+ *
526
+ * The DREAM review fee pays for the act of reviewing; this pays for reviewing
527
+ * *well*, gated on windowed accuracy the same way sentinel pay is. Separate
528
+ * knobs because the liability differs by orders of magnitude: a wrong
529
+ * approval mints DREAM that cannot be clawed back, where a wrong hide costs a
530
+ * post some visibility.
531
+ *
532
+ * The pool is an ordinary bank sub-address, so a council policy funds it with
533
+ * a plain send.
534
+ */
535
+ maxReviewerRewardPool: string;
536
+ /**
537
+ * Fraction of overflow burned per epoch. Default 0.5.
538
+ */
539
+ reviewerRewardPoolOverflowBurnRatio: string;
540
+ /**
541
+ * Distribution cadence. Default 14400 (~1 day).
542
+ */
543
+ reviewerRewardEpochBlocks: bigint;
544
+ /**
545
+ * Minimum windowed accuracy to earn a share. Default 0.70.
546
+ */
547
+ minReviewerAccuracy: string;
548
+ /**
549
+ * Epochs of history the accuracy ring scores. Default 6.
550
+ */
551
+ reviewerAccuracyWindowEpochs: bigint;
552
+ /**
553
+ * Ceiling on the uspark x/rep may draw from the community pool per UTC day to
554
+ * fund its bonded-role reward pools.
555
+ *
556
+ * One capped claim on the community pool for the whole module, divided
557
+ * internally by headroom — adding a fourth bonded role must not mean adding a
558
+ * fourth funding line. The skim tops pools up toward their own caps and stops
559
+ * there, so an idle role costs the community pool nothing.
560
+ *
561
+ * Funding is automatic rather than by council transfer because pay that
562
+ * depends on somebody remembering to send it arrives unpredictably, and
563
+ * unpredictable pay does not hold a roster.
564
+ *
565
+ * Expressed as a SHARE OF INFLATION rather than an absolute daily amount:
566
+ *
567
+ * daily_allowance = annual_provisions * community_tax * share / 365
568
+ *
569
+ * A fixed nominal draw takes its largest share of the community pool exactly
570
+ * when the pool is poorest — inflation floats 2–5%, so a constant amount is
571
+ * half the pool's income at the top of that range and more than all of it at
572
+ * the bottom, and x/rep skims before x/split. A share is counter-cyclical:
573
+ * it takes less when there is less, so the councils' remainder is structural
574
+ * rather than whatever happens to be left over. It also tracks supply growth
575
+ * without periodic retuning.
576
+ *
577
+ * The base is inflation, NOT the community pool balance. A share of the
578
+ * balance would let x/rep raid the 95M SPARK genesis allocation that x/split
579
+ * exists to hand to the councils, and would take a cut of every direct
580
+ * fund-community-pool deposit. annual_provisions is also set by x/mint, whose
581
+ * authority is the burn address — so this rate is anchored to a number no
582
+ * committee or proposal can move.
583
+ *
584
+ * Default 0.5 (half the community pool's inflation income); zero disables the
585
+ * skim, leaving the pools to forfeited bonds and direct sends.
586
+ */
587
+ roleRewardInflationShare: string;
588
+ /**
589
+ * Curator SPARK pool. Same shape and cadence as the sentinel pool above and
590
+ * sized to match it: curating a collection rating and hiding a post are
591
+ * comparable judgment calls with comparable liability. Kept as separate
592
+ * params (and a separate pool) anyway, so neither role can draw on the
593
+ * other's funds or be retuned by the other's bar.
594
+ */
595
+ maxCuratorRewardPool: string;
596
+ curatorRewardPoolOverflowBurnRatio: string;
597
+ curatorRewardEpochBlocks: bigint;
598
+ minCuratorAccuracy: string;
599
+ curatorAccuracyWindowEpochs: bigint;
600
+ /**
601
+ * Budget above which an initiative cannot complete without at least one
602
+ * reviewer verdict, regardless of the parent project's verification policy.
603
+ *
604
+ * The gate keys on how much DREAM the completion CREATES, not on whether the
605
+ * project is budget-backed. Permissionless initiatives mint against a
606
+ * self-declared budget with no treasury behind it, capped only by tier — so
607
+ * the funded/unfunded axis gets the risk ordering backwards. Mint size is the
608
+ * number that actually matters and it exists on both paths.
609
+ *
610
+ * Default 100 DREAM, the APPRENTICE ceiling: apprentice work stays exempt
611
+ * because it is small and it is the on-ramp where reviewer scarcity would
612
+ * hurt newcomers most, while every permissionless STANDARD initiative — the
613
+ * whole farming vector — is gated.
614
+ *
615
+ * Composes with the per-project policy as a MAXIMUM, never a replacement: a
616
+ * project may demand more verifiers than this, never fewer. Zero disables the
617
+ * chain-wide gate and leaves review entirely to project policy.
618
+ */
619
+ reviewRequiredAboveBudget: string;
620
+ /**
621
+ * Blocks a review bounty must sit before its funder may reclaim it. Stops a
622
+ * funder advertising a bounty and withdrawing it in the same breath, which
623
+ * would let anyone grief the reviewer roster at zero cost. Reclaim is barred
624
+ * outright once any verdict is filed, regardless of this delay.
625
+ */
626
+ reviewBountyReclaimDelay: bigint;
627
+ /**
628
+ * Minimum review bounty a PERMISSIONLESS initiative must escrow at creation,
629
+ * as a fraction of its budget, paid in existing DREAM.
630
+ *
631
+ * Permissionless initiatives mint against a self-declared budget with no
632
+ * treasury behind them, and their review fee is minted too — so reviewers of
633
+ * permissionless work are currently paid purely by dilution, the very thing
634
+ * the funded path's budget-netting exists to avoid. A creator-funded bounty
635
+ * prices that reviewer attention onto whoever consumes it, is non-inflationary
636
+ * because it moves existing DREAM, and scales the spam brake with the amount
637
+ * being minted instead of a flat creation fee.
638
+ *
639
+ * Charged ONLY when the budget exceeds review_required_above_budget: the
640
+ * bounty funds mandatory review, so below the gate it would take DREAM for a
641
+ * service that is never delivered. That keeps apprentice work — the on-ramp,
642
+ * where members arrive holding zero DREAM — free of it. Zero disables the
643
+ * requirement entirely.
644
+ */
645
+ permissionlessMinReviewBountyRate: string;
396
646
  }
397
647
  export interface ParamsProtoMsg {
398
648
  typeUrl: "/sparkdream.rep.v1.Params";
@@ -684,23 +934,273 @@ export interface ParamsAmino {
684
934
  */
685
935
  proposed_project_expiry_blocks?: string;
686
936
  /**
687
- * Fraction of the initiative budget locked as a DREAM bond when the project
688
- * creator self-assigns on a budget-backed project (permissionless projects
689
- * are exempt — no treasury exposure). Bond is returned on completion or
690
- * abandonment and burned when a challenge is upheld. Range [0, 1]; 0 disables.
937
+ * Fraction of the initiative budget locked as a DREAM bond when an
938
+ * initiative is self-assigned on a budget-backed project. Bond is returned
939
+ * on completion or abandonment and burned when a challenge is upheld.
940
+ * Range [0, 1]; 0 disables.
691
941
  */
692
942
  self_assigned_bond_rate?: string;
693
943
  /**
694
944
  * External-conviction ratio applied instead of external_conviction_ratio when
695
- * the assignee is the project creator. Must be >= external_conviction_ratio
696
- * and <= 1. Default 1.0: the community alone vouches for self-assigned work.
945
+ * the initiative is self-assigned. Must be >= external_conviction_ratio and
946
+ * <= 1. Default 1.0: the community alone vouches for self-assigned work.
697
947
  */
698
948
  self_assigned_external_conviction_ratio?: string;
699
949
  /**
700
- * Multiplier applied to the challenge window for creator-assigned
701
- * initiatives. Must be >= 1. Default 2.
950
+ * Multiplier applied to the challenge window for self-assigned initiatives.
951
+ * Must be >= 1. Default 2.
702
952
  */
703
953
  self_assigned_challenge_multiplier?: string;
954
+ /**
955
+ * Bond rate applied instead of self_assigned_bond_rate when the initiative
956
+ * is self-assigned under a permissionless project. Higher because the two
957
+ * cases expose the commons differently: a budget-backed initiative MOVES
958
+ * DREAM that governance already approved, while a permissionless one MINTS
959
+ * DREAM nobody approved and dilutes every holder. Permissionless
960
+ * self-assignment used to be exempt from the bond entirely, which disabled
961
+ * the main economic deterrent exactly where no counterparty exists.
962
+ * Range [0, 1]; 0 disables. Default 0.25.
963
+ */
964
+ permissionless_self_assigned_bond_rate?: string;
965
+ /**
966
+ * Reputation deducted, per tag of the disputed initiative, from a juror who
967
+ * accepted a summons and then let it lapse. Accepting is voluntary and
968
+ * declining is free and immediate, so an abandoned seat is a broken
969
+ * commitment rather than an accident of the draw.
970
+ *
971
+ * Charged in reputation because that is what qualifies a juror: enough
972
+ * abandoned seats and they fall below min_juror_reputation and stop being
973
+ * drawn for that tag at all. Must be non-negative; 0 disables. Default 10.
974
+ */
975
+ abandoned_jury_seat_penalty?: string;
976
+ /**
977
+ * Fraction of the disputed initiative's budget paid out to its jury, split
978
+ * evenly across the seats. Juror pay was a flat StandardComplexityBudget
979
+ * regardless of what was in dispute, so a challenge over a 100 DREAM
980
+ * APPRENTICE initiative minted 750 DREAM in juror fees to settle it — more
981
+ * than the work was worth. Range [0, 1]. Default 0.25.
982
+ */
983
+ juror_reward_rate?: string;
984
+ /**
985
+ * Fraction of an initiative's review period a juror has to answer a summons
986
+ * before the seat is swept and redrawn.
987
+ *
988
+ * A ratio rather than a block count because the review period varies by two
989
+ * orders of magnitude across networks: the previous fixed 1200-block (~2h)
990
+ * window was 1.2% of mainnet's ~7-day review but 133% of devnet's, putting
991
+ * the acceptance deadline *after* the vote deadline there and making the
992
+ * sweep unreachable. It also contradicted the reason no-shows go unpunished
993
+ * — that a member cannot be expected to watch the chain for an event that
994
+ * reaches them about once a year — by then withdrawing the seat if they did
995
+ * not answer within two hours.
996
+ *
997
+ * Sized for how long it takes someone to read a notification, not to react
998
+ * to a block. Range (0, 1). Default 0.25 — about 42 hours on mainnet.
999
+ *
1000
+ * Operational alongside the other juror knobs: leaving juror *pay* committee
1001
+ * tunable while juror *timing* needed a governance vote was an artifact of
1002
+ * build order, not a decision.
1003
+ */
1004
+ jury_acceptance_window_ratio?: string;
1005
+ /**
1006
+ * Floor on a single juror's pay, in micro-DREAM.
1007
+ *
1008
+ * juror_reward_rate scales pay against the disputed initiative's budget, but
1009
+ * content challenges and moderation appeals have no initiative budget to
1010
+ * scale against — for those this floor *is* the whole rate, which is why it
1011
+ * cannot stay a compile-time constant. Default 5 DREAM.
1012
+ */
1013
+ min_juror_reward?: string;
1014
+ /**
1015
+ * Floor on the responsiveness multiplier applied to a juror's selection
1016
+ * weight. A juror who never answers is drawn less often, never not at all —
1017
+ * a zero-weight address could never earn its way back, since it would stop
1018
+ * being drawn and so could never demonstrate otherwise.
1019
+ *
1020
+ * Chosen for shape rather than fitted to anything, and meant to be revisited
1021
+ * against observed response rates. Range (0,1]. Default 0.1.
1022
+ */
1023
+ min_juror_selection_weight?: string;
1024
+ /**
1025
+ * Seatings a juror must have before the responsiveness weight applies at all.
1026
+ * Below this there is no meaningful record and they are drawn at full weight.
1027
+ * Like the floor above, a guess awaiting real data. Default 3.
1028
+ */
1029
+ min_jury_seatings_for_weighting?: string;
1030
+ /**
1031
+ * Conviction-weighted completion bonus, as a fraction of the initiative
1032
+ * budget, paid to external stakers on completion.
1033
+ *
1034
+ * Was a hardcoded 1/10 divisor while the project-side equivalent
1035
+ * (project_completion_bonus_rate) was already a param — the same economic
1036
+ * knob, tunable on one side and fixed on the other. Range [0,1].
1037
+ * Default 0.1.
1038
+ */
1039
+ initiative_completion_bonus_rate?: string;
1040
+ /**
1041
+ * Replacement rounds the acceptance sweep may run per jury review.
1042
+ *
1043
+ * Coupled to jury_acceptance_window_ratio and validated against it: each round
1044
+ * costs one acceptance window out of the review period, so widening the window
1045
+ * without lowering this leaves replacement jurors no time to read the work.
1046
+ * Both live in the same scope so the pair always moves under one authority.
1047
+ * Default 1.
1048
+ */
1049
+ max_jury_redraws?: number;
1050
+ /**
1051
+ * Fraction of an initiative's budget a reviewer commits as bond when filing a
1052
+ * verdict on it, and the amount slashed if a jury overturns that verdict.
1053
+ *
1054
+ * Scaled rather than flat so liability tracks what the review could mint — a
1055
+ * wrong approval on an EPIC initiative releases up to 10,000 DREAM, and the
1056
+ * same risk should not attach to a 100 DREAM one. It is also self-limiting:
1057
+ * a reviewer can only hold as many open verdicts as their free bond covers.
1058
+ * Range (0,1]. Default 0.1.
1059
+ */
1060
+ reviewer_bond_reserve_rate?: string;
1061
+ /**
1062
+ * Fraction of an initiative's budget paid to the reviewers who filed a
1063
+ * verdict on the round that resolved it, scaled by the tier's
1064
+ * reward_multiplier and split evenly across those reviewers.
1065
+ *
1066
+ * Paid per verdict filed, never per approval — if approving paid and
1067
+ * rejecting did not, the role would rebuild "paid to say yes" one layer down.
1068
+ * Paid when the initiative resolves, so an unacted-on review costs nothing and
1069
+ * filing verdicts earns nothing until something turns on them. Range [0,1].
1070
+ * Default 0.05.
1071
+ */
1072
+ review_fee_rate?: string;
1073
+ /**
1074
+ * Review rounds an initiative may go through before a rejection becomes
1075
+ * terminal. A rejection returns the work to ASSIGNED so the assignee can fix
1076
+ * and resubmit, which is the right remedy for "not done" — but unbounded it
1077
+ * lets a bad-faith assignee burn reviewer effort indefinitely. Default 3.
1078
+ */
1079
+ max_review_rounds?: number;
1080
+ /**
1081
+ * SPARK reward pool for initiative reviewers, mirroring the sentinel pool but
1082
+ * held and tuned separately.
1083
+ *
1084
+ * The DREAM review fee pays for the act of reviewing; this pays for reviewing
1085
+ * *well*, gated on windowed accuracy the same way sentinel pay is. Separate
1086
+ * knobs because the liability differs by orders of magnitude: a wrong
1087
+ * approval mints DREAM that cannot be clawed back, where a wrong hide costs a
1088
+ * post some visibility.
1089
+ *
1090
+ * The pool is an ordinary bank sub-address, so a council policy funds it with
1091
+ * a plain send.
1092
+ */
1093
+ max_reviewer_reward_pool?: string;
1094
+ /**
1095
+ * Fraction of overflow burned per epoch. Default 0.5.
1096
+ */
1097
+ reviewer_reward_pool_overflow_burn_ratio?: string;
1098
+ /**
1099
+ * Distribution cadence. Default 14400 (~1 day).
1100
+ */
1101
+ reviewer_reward_epoch_blocks?: string;
1102
+ /**
1103
+ * Minimum windowed accuracy to earn a share. Default 0.70.
1104
+ */
1105
+ min_reviewer_accuracy?: string;
1106
+ /**
1107
+ * Epochs of history the accuracy ring scores. Default 6.
1108
+ */
1109
+ reviewer_accuracy_window_epochs?: string;
1110
+ /**
1111
+ * Ceiling on the uspark x/rep may draw from the community pool per UTC day to
1112
+ * fund its bonded-role reward pools.
1113
+ *
1114
+ * One capped claim on the community pool for the whole module, divided
1115
+ * internally by headroom — adding a fourth bonded role must not mean adding a
1116
+ * fourth funding line. The skim tops pools up toward their own caps and stops
1117
+ * there, so an idle role costs the community pool nothing.
1118
+ *
1119
+ * Funding is automatic rather than by council transfer because pay that
1120
+ * depends on somebody remembering to send it arrives unpredictably, and
1121
+ * unpredictable pay does not hold a roster.
1122
+ *
1123
+ * Expressed as a SHARE OF INFLATION rather than an absolute daily amount:
1124
+ *
1125
+ * daily_allowance = annual_provisions * community_tax * share / 365
1126
+ *
1127
+ * A fixed nominal draw takes its largest share of the community pool exactly
1128
+ * when the pool is poorest — inflation floats 2–5%, so a constant amount is
1129
+ * half the pool's income at the top of that range and more than all of it at
1130
+ * the bottom, and x/rep skims before x/split. A share is counter-cyclical:
1131
+ * it takes less when there is less, so the councils' remainder is structural
1132
+ * rather than whatever happens to be left over. It also tracks supply growth
1133
+ * without periodic retuning.
1134
+ *
1135
+ * The base is inflation, NOT the community pool balance. A share of the
1136
+ * balance would let x/rep raid the 95M SPARK genesis allocation that x/split
1137
+ * exists to hand to the councils, and would take a cut of every direct
1138
+ * fund-community-pool deposit. annual_provisions is also set by x/mint, whose
1139
+ * authority is the burn address — so this rate is anchored to a number no
1140
+ * committee or proposal can move.
1141
+ *
1142
+ * Default 0.5 (half the community pool's inflation income); zero disables the
1143
+ * skim, leaving the pools to forfeited bonds and direct sends.
1144
+ */
1145
+ role_reward_inflation_share?: string;
1146
+ /**
1147
+ * Curator SPARK pool. Same shape and cadence as the sentinel pool above and
1148
+ * sized to match it: curating a collection rating and hiding a post are
1149
+ * comparable judgment calls with comparable liability. Kept as separate
1150
+ * params (and a separate pool) anyway, so neither role can draw on the
1151
+ * other's funds or be retuned by the other's bar.
1152
+ */
1153
+ max_curator_reward_pool?: string;
1154
+ curator_reward_pool_overflow_burn_ratio?: string;
1155
+ curator_reward_epoch_blocks?: string;
1156
+ min_curator_accuracy?: string;
1157
+ curator_accuracy_window_epochs?: string;
1158
+ /**
1159
+ * Budget above which an initiative cannot complete without at least one
1160
+ * reviewer verdict, regardless of the parent project's verification policy.
1161
+ *
1162
+ * The gate keys on how much DREAM the completion CREATES, not on whether the
1163
+ * project is budget-backed. Permissionless initiatives mint against a
1164
+ * self-declared budget with no treasury behind it, capped only by tier — so
1165
+ * the funded/unfunded axis gets the risk ordering backwards. Mint size is the
1166
+ * number that actually matters and it exists on both paths.
1167
+ *
1168
+ * Default 100 DREAM, the APPRENTICE ceiling: apprentice work stays exempt
1169
+ * because it is small and it is the on-ramp where reviewer scarcity would
1170
+ * hurt newcomers most, while every permissionless STANDARD initiative — the
1171
+ * whole farming vector — is gated.
1172
+ *
1173
+ * Composes with the per-project policy as a MAXIMUM, never a replacement: a
1174
+ * project may demand more verifiers than this, never fewer. Zero disables the
1175
+ * chain-wide gate and leaves review entirely to project policy.
1176
+ */
1177
+ review_required_above_budget?: string;
1178
+ /**
1179
+ * Blocks a review bounty must sit before its funder may reclaim it. Stops a
1180
+ * funder advertising a bounty and withdrawing it in the same breath, which
1181
+ * would let anyone grief the reviewer roster at zero cost. Reclaim is barred
1182
+ * outright once any verdict is filed, regardless of this delay.
1183
+ */
1184
+ review_bounty_reclaim_delay?: string;
1185
+ /**
1186
+ * Minimum review bounty a PERMISSIONLESS initiative must escrow at creation,
1187
+ * as a fraction of its budget, paid in existing DREAM.
1188
+ *
1189
+ * Permissionless initiatives mint against a self-declared budget with no
1190
+ * treasury behind them, and their review fee is minted too — so reviewers of
1191
+ * permissionless work are currently paid purely by dilution, the very thing
1192
+ * the funded path's budget-netting exists to avoid. A creator-funded bounty
1193
+ * prices that reviewer attention onto whoever consumes it, is non-inflationary
1194
+ * because it moves existing DREAM, and scales the spam brake with the amount
1195
+ * being minted instead of a flat creation fee.
1196
+ *
1197
+ * Charged ONLY when the budget exceeds review_required_above_budget: the
1198
+ * bounty funds mandatory review, so below the gate it would take DREAM for a
1199
+ * service that is never delivered. That keeps apprentice work — the on-ramp,
1200
+ * where members arrive holding zero DREAM — free of it. Zero disables the
1201
+ * requirement entirely.
1202
+ */
1203
+ permissionless_min_review_bounty_rate?: string;
704
1204
  }
705
1205
  export interface ParamsAminoMsg {
706
1206
  type: "sparkdream/x/rep/Params";
@@ -901,6 +1401,82 @@ export interface RepOperationalParams {
901
1401
  maxProjectRequestedBudget: string;
902
1402
  maxProjectRequestedSpark: string;
903
1403
  proposedProjectExpiryBlocks: bigint;
1404
+ /**
1405
+ * Reputation deducted from a juror who accepted a summons and abandoned it.
1406
+ * Mirrors abandoned_jury_seat_penalty in Params.
1407
+ */
1408
+ abandonedJurySeatPenalty: string;
1409
+ /**
1410
+ * Fraction of the disputed initiative's budget paid out to its jury, split
1411
+ * evenly across the seats. Juror pay was a flat StandardComplexityBudget
1412
+ * regardless of what was in dispute, so a challenge over a 100 DREAM
1413
+ * APPRENTICE initiative minted 750 DREAM in juror fees to settle it — more
1414
+ * than the work was worth. Range [0, 1]. Default 0.25.
1415
+ */
1416
+ jurorRewardRate: string;
1417
+ /**
1418
+ * Mirrors min_juror_reward in Params.
1419
+ */
1420
+ minJurorReward: string;
1421
+ /**
1422
+ * Mirrors min_juror_selection_weight in Params.
1423
+ */
1424
+ minJurorSelectionWeight: string;
1425
+ /**
1426
+ * Mirrors min_jury_seatings_for_weighting in Params.
1427
+ */
1428
+ minJurySeatingsForWeighting: bigint;
1429
+ /**
1430
+ * Mirrors initiative_completion_bonus_rate in Params.
1431
+ */
1432
+ initiativeCompletionBonusRate: string;
1433
+ /**
1434
+ * Mirrors jury_acceptance_window_ratio in Params. Validated against
1435
+ * max_jury_redraws below — the pair must fit inside the review period.
1436
+ */
1437
+ juryAcceptanceWindowRatio: string;
1438
+ /**
1439
+ * Mirrors max_jury_redraws in Params.
1440
+ */
1441
+ maxJuryRedraws: number;
1442
+ /**
1443
+ * Mirrors reviewer_bond_reserve_rate in Params.
1444
+ */
1445
+ reviewerBondReserveRate: string;
1446
+ /**
1447
+ * Mirrors review_fee_rate in Params.
1448
+ */
1449
+ reviewFeeRate: string;
1450
+ /**
1451
+ * Mirrors max_review_rounds in Params.
1452
+ */
1453
+ maxReviewRounds: number;
1454
+ /**
1455
+ * Mirrors the reviewer reward pool knobs in Params.
1456
+ */
1457
+ maxReviewerRewardPool: string;
1458
+ reviewerRewardPoolOverflowBurnRatio: string;
1459
+ reviewerRewardEpochBlocks: bigint;
1460
+ minReviewerAccuracy: string;
1461
+ reviewerAccuracyWindowEpochs: bigint;
1462
+ /**
1463
+ * Mirrors role_reward_inflation_share in Params.
1464
+ */
1465
+ roleRewardInflationShare: string;
1466
+ /**
1467
+ * Mirrors the curator SPARK pool params in Params.
1468
+ */
1469
+ maxCuratorRewardPool: string;
1470
+ curatorRewardPoolOverflowBurnRatio: string;
1471
+ curatorRewardEpochBlocks: bigint;
1472
+ minCuratorAccuracy: string;
1473
+ curatorAccuracyWindowEpochs: bigint;
1474
+ /**
1475
+ * Mirrors review_required_above_budget in Params.
1476
+ */
1477
+ reviewRequiredAboveBudget: string;
1478
+ reviewBountyReclaimDelay: bigint;
1479
+ permissionlessMinReviewBountyRate: string;
904
1480
  }
905
1481
  export interface RepOperationalParamsProtoMsg {
906
1482
  typeUrl: "/sparkdream.rep.v1.RepOperationalParams";
@@ -1101,6 +1677,82 @@ export interface RepOperationalParamsAmino {
1101
1677
  max_project_requested_budget?: string;
1102
1678
  max_project_requested_spark?: string;
1103
1679
  proposed_project_expiry_blocks?: string;
1680
+ /**
1681
+ * Reputation deducted from a juror who accepted a summons and abandoned it.
1682
+ * Mirrors abandoned_jury_seat_penalty in Params.
1683
+ */
1684
+ abandoned_jury_seat_penalty?: string;
1685
+ /**
1686
+ * Fraction of the disputed initiative's budget paid out to its jury, split
1687
+ * evenly across the seats. Juror pay was a flat StandardComplexityBudget
1688
+ * regardless of what was in dispute, so a challenge over a 100 DREAM
1689
+ * APPRENTICE initiative minted 750 DREAM in juror fees to settle it — more
1690
+ * than the work was worth. Range [0, 1]. Default 0.25.
1691
+ */
1692
+ juror_reward_rate?: string;
1693
+ /**
1694
+ * Mirrors min_juror_reward in Params.
1695
+ */
1696
+ min_juror_reward?: string;
1697
+ /**
1698
+ * Mirrors min_juror_selection_weight in Params.
1699
+ */
1700
+ min_juror_selection_weight?: string;
1701
+ /**
1702
+ * Mirrors min_jury_seatings_for_weighting in Params.
1703
+ */
1704
+ min_jury_seatings_for_weighting?: string;
1705
+ /**
1706
+ * Mirrors initiative_completion_bonus_rate in Params.
1707
+ */
1708
+ initiative_completion_bonus_rate?: string;
1709
+ /**
1710
+ * Mirrors jury_acceptance_window_ratio in Params. Validated against
1711
+ * max_jury_redraws below — the pair must fit inside the review period.
1712
+ */
1713
+ jury_acceptance_window_ratio?: string;
1714
+ /**
1715
+ * Mirrors max_jury_redraws in Params.
1716
+ */
1717
+ max_jury_redraws?: number;
1718
+ /**
1719
+ * Mirrors reviewer_bond_reserve_rate in Params.
1720
+ */
1721
+ reviewer_bond_reserve_rate?: string;
1722
+ /**
1723
+ * Mirrors review_fee_rate in Params.
1724
+ */
1725
+ review_fee_rate?: string;
1726
+ /**
1727
+ * Mirrors max_review_rounds in Params.
1728
+ */
1729
+ max_review_rounds?: number;
1730
+ /**
1731
+ * Mirrors the reviewer reward pool knobs in Params.
1732
+ */
1733
+ max_reviewer_reward_pool?: string;
1734
+ reviewer_reward_pool_overflow_burn_ratio?: string;
1735
+ reviewer_reward_epoch_blocks?: string;
1736
+ min_reviewer_accuracy?: string;
1737
+ reviewer_accuracy_window_epochs?: string;
1738
+ /**
1739
+ * Mirrors role_reward_inflation_share in Params.
1740
+ */
1741
+ role_reward_inflation_share?: string;
1742
+ /**
1743
+ * Mirrors the curator SPARK pool params in Params.
1744
+ */
1745
+ max_curator_reward_pool?: string;
1746
+ curator_reward_pool_overflow_burn_ratio?: string;
1747
+ curator_reward_epoch_blocks?: string;
1748
+ min_curator_accuracy?: string;
1749
+ curator_accuracy_window_epochs?: string;
1750
+ /**
1751
+ * Mirrors review_required_above_budget in Params.
1752
+ */
1753
+ review_required_above_budget?: string;
1754
+ review_bounty_reclaim_delay?: string;
1755
+ permissionless_min_review_bounty_rate?: string;
1104
1756
  }
1105
1757
  export interface RepOperationalParamsAminoMsg {
1106
1758
  type: "sparkdream/x/rep/RepOperationalParams";