@sparkdreamnft/sparkdreamjs 0.0.37 → 0.0.39
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.
- package/esm/sparkdream/rep/v1/challenge.js +13 -2
- package/esm/sparkdream/rep/v1/genesis.js +362 -2
- package/esm/sparkdream/rep/v1/initiative.js +11 -14
- package/esm/sparkdream/rep/v1/interim.js +58 -1
- package/esm/sparkdream/rep/v1/member.js +25 -1
- package/esm/sparkdream/rep/v1/params.js +361 -1
- package/esm/sparkdream/rep/v1/query.js +16 -16
- package/esm/sparkdream/rep/v1/tx.amino.js +66 -5
- package/esm/sparkdream/rep/v1/tx.js +88 -64
- package/esm/sparkdream/rep/v1/tx.registry.js +18 -18
- package/esm/sparkdream/rep/v1/tx.rpc.msg.js +11 -11
- package/package.json +1 -1
- package/sparkdream/bundle.d.ts +128 -55
- package/sparkdream/client.d.ts +48 -3
- package/sparkdream/rep/v1/challenge.d.ts +23 -0
- package/sparkdream/rep/v1/challenge.js +13 -2
- package/sparkdream/rep/v1/genesis.d.ts +170 -1
- package/sparkdream/rep/v1/genesis.js +362 -2
- package/sparkdream/rep/v1/initiative.d.ts +7 -5
- package/sparkdream/rep/v1/initiative.js +11 -14
- package/sparkdream/rep/v1/interim.d.ts +32 -0
- package/sparkdream/rep/v1/interim.js +61 -2
- package/sparkdream/rep/v1/member.d.ts +54 -0
- package/sparkdream/rep/v1/member.js +25 -1
- package/sparkdream/rep/v1/params.d.ts +388 -2
- package/sparkdream/rep/v1/params.js +361 -1
- package/sparkdream/rep/v1/query.d.ts +26 -4
- package/sparkdream/rep/v1/query.js +16 -16
- package/sparkdream/rep/v1/tx.amino.d.ts +49 -4
- package/sparkdream/rep/v1/tx.amino.js +65 -4
- package/sparkdream/rep/v1/tx.d.ts +158 -110
- package/sparkdream/rep/v1/tx.js +90 -66
- package/sparkdream/rep/v1/tx.registry.d.ts +11 -11
- package/sparkdream/rep/v1/tx.registry.js +17 -17
- package/sparkdream/rep/v1/tx.rpc.msg.d.ts +7 -7
- package/sparkdream/rep/v1/tx.rpc.msg.js +10 -10
|
@@ -246,6 +246,41 @@ export interface Params {
|
|
|
246
246
|
* Seasonal staking reward pool
|
|
247
247
|
*/
|
|
248
248
|
maxStakingRewardsPerSeason: string;
|
|
249
|
+
/**
|
|
250
|
+
* Ceiling on each epoch's reward slice, as a yield on the DREAM actually
|
|
251
|
+
* staked (default 0.0005 = 0.05% per epoch, 7.5% over a 150-epoch season
|
|
252
|
+
* gross, ~3.75% net of staked_decay_rate).
|
|
253
|
+
*
|
|
254
|
+
* The slice is otherwise remaining/remaining_epochs no matter how little is
|
|
255
|
+
* staked, so yield per staked DREAM diverges as the staked base shrinks and
|
|
256
|
+
* acc_per_share grows without bound: a chain with 1.47 DREAM staked hands the
|
|
257
|
+
* entire season budget to three dust stakes. Whatever this cap withholds
|
|
258
|
+
* stays in the pool rather than being distributed or dropped.
|
|
259
|
+
*/
|
|
260
|
+
stakingRewardYieldPerEpoch: string;
|
|
261
|
+
/**
|
|
262
|
+
* Share of the previous season's non-staking DREAM mints that funds this
|
|
263
|
+
* season's staking reward pool (default 0.05 = 5%), so emission tracks what
|
|
264
|
+
* the chain actually produced rather than the calendar.
|
|
265
|
+
*
|
|
266
|
+
* Staking rewards are excluded from the base. Counting them would let each
|
|
267
|
+
* season's pool inflate the next one's, compounding with nothing but the
|
|
268
|
+
* schedule cap below to stop it.
|
|
269
|
+
*/
|
|
270
|
+
stakingPoolMintShare: string;
|
|
271
|
+
/**
|
|
272
|
+
* Schedule ceiling on the seasonal pool:
|
|
273
|
+
*
|
|
274
|
+
* cap = staking_pool_cap_base * (season + 1) * staking_pool_cap_rate
|
|
275
|
+
*
|
|
276
|
+
* The base is the chain's initial DREAM supply (25,000 DREAM at genesis) and
|
|
277
|
+
* the rate defaults to 0.05, so the ceiling opens at 1,250 DREAM in season 0
|
|
278
|
+
* and widens by that much each season. It backstops the mint-share term above
|
|
279
|
+
* on a chain whose mint volume spikes; max_staking_rewards_per_season remains
|
|
280
|
+
* the absolute ceiling over both.
|
|
281
|
+
*/
|
|
282
|
+
stakingPoolCapBase: string;
|
|
283
|
+
stakingPoolCapRate: string;
|
|
249
284
|
/**
|
|
250
285
|
* Per-epoch decay on staked DREAM (default 0.05% = 0.0005)
|
|
251
286
|
*/
|
|
@@ -272,6 +307,31 @@ export interface Params {
|
|
|
272
307
|
* but without this cap, a whale can stake disproportionately and extract most seasonal staking rewards.
|
|
273
308
|
*/
|
|
274
309
|
maxInitiativeStakePerMember: string;
|
|
310
|
+
/**
|
|
311
|
+
* Anti-dust floor on the DREAM one MsgStake may lock (default 0.002 DREAM =
|
|
312
|
+
* 2,000 micro-DREAM). There was no floor at all, so a member could open the
|
|
313
|
+
* ten tranches max_stake_tranches_per_target allows at one micro-DREAM each
|
|
314
|
+
* and be counted as a participant in every conviction and payout weighting
|
|
315
|
+
* the initiative runs.
|
|
316
|
+
*
|
|
317
|
+
* The default is pinned to 1/staking_reward_yield_per_epoch: the smallest
|
|
318
|
+
* stake whose own per-epoch accrual (amount * yield, truncated to an integer)
|
|
319
|
+
* reaches one micro-DREAM. Below that a record can never earn anything, and
|
|
320
|
+
* should not occupy a state slot. Move it with the yield. What bounds the
|
|
321
|
+
* return on a small position is max_completion_bonus_stake_multiple, not
|
|
322
|
+
* this.
|
|
323
|
+
*/
|
|
324
|
+
minStakeAmount: string;
|
|
325
|
+
/**
|
|
326
|
+
* Per-season cap on total DREAM minted to pay interim work (default 50,000
|
|
327
|
+
* DREAM). The initiative cap below has always existed; the interim path had
|
|
328
|
+
* no season bound at all, which left it as the one DREAM-creating flow whose
|
|
329
|
+
* total was limited only by max_dream_mint_per_epoch — 250,000 DREAM/day
|
|
330
|
+
* against a 25,000 DREAM genesis supply. Interims are self-assigned and
|
|
331
|
+
* self-completed by design, so the per-member active cap alone does not
|
|
332
|
+
* bound the total: a member can complete and re-create indefinitely.
|
|
333
|
+
*/
|
|
334
|
+
maxInterimRewardsPerSeason: string;
|
|
275
335
|
/**
|
|
276
336
|
* Per-season cap on total DREAM minted via initiative completion rewards (default 100,000 DREAM).
|
|
277
337
|
* Bounds total extraction even if colluding members rubber-stamp initiatives.
|
|
@@ -385,7 +445,10 @@ export interface Params {
|
|
|
385
445
|
/**
|
|
386
446
|
* External-conviction ratio applied instead of external_conviction_ratio when
|
|
387
447
|
* the initiative is self-assigned. Must be >= external_conviction_ratio and
|
|
388
|
-
* <= 1. Default
|
|
448
|
+
* <= 1. Default 0.75 — a distinct-staker floor as much as a magnitude one,
|
|
449
|
+
* since max_conviction_share_per_member caps any one member's contribution:
|
|
450
|
+
* ceil(0.75 / 0.33) = 3 independent stakers, against 2 for externally
|
|
451
|
+
* assigned work.
|
|
389
452
|
*/
|
|
390
453
|
selfAssignedExternalConvictionRatio: string;
|
|
391
454
|
/**
|
|
@@ -479,6 +542,43 @@ export interface Params {
|
|
|
479
542
|
* Default 0.1.
|
|
480
543
|
*/
|
|
481
544
|
initiativeCompletionBonusRate: string;
|
|
545
|
+
/**
|
|
546
|
+
* Ceiling on the initiative completion bonus, as a multiple of the external
|
|
547
|
+
* DREAM actually staked behind the initiative (default 3.0):
|
|
548
|
+
*
|
|
549
|
+
* bonus_pool = min(initiative_completion_bonus_rate * budget,
|
|
550
|
+
* max_completion_bonus_stake_multiple * external_stake)
|
|
551
|
+
*
|
|
552
|
+
* Default 3.0. Without it the bonus is a fixed share of the budget while the
|
|
553
|
+
* capital needed to unlock that budget falls as 1/N in the number of stakers —
|
|
554
|
+
* required_conviction is conviction_per_dream * sqrt(budget), each of N
|
|
555
|
+
* stakers supplies sqrt(stake), so the total stake that clears the gate is
|
|
556
|
+
* conviction_per_dream^2 * budget / N. The bonus per staker is then
|
|
557
|
+
* 2.5 * N times their own stake: 7.5x at three stakers, 25x at ten, 62.5x at
|
|
558
|
+
* twenty-five, risk-free on any initiative that completes.
|
|
559
|
+
*
|
|
560
|
+
* Pricing the bonus off capital at risk instead of participant count
|
|
561
|
+
* restores the stake-to-budget ratio the conviction formula was designed
|
|
562
|
+
* around (~4%) without touching the sqrt weighting that deliberately rewards
|
|
563
|
+
* breadth. Range: 0 disables the bonus entirely.
|
|
564
|
+
*/
|
|
565
|
+
maxCompletionBonusStakeMultiple: string;
|
|
566
|
+
/**
|
|
567
|
+
* Ceiling on the TOTAL DREAM one member may hold across all content
|
|
568
|
+
* conviction stakes (blog, forum, collection — every item combined), on top
|
|
569
|
+
* of the per-item max_content_stake_per_member.
|
|
570
|
+
*
|
|
571
|
+
* Content stakes neither decay (decayStakes skips them) nor earn, so without
|
|
572
|
+
* an aggregate bound they are an unbounded decay-free store of value: DREAM
|
|
573
|
+
* parked there escapes the unstaked decay nudge entirely while a reward-
|
|
574
|
+
* bearing stake pays for itself in yield only when the seasonal pool is not
|
|
575
|
+
* calendar-bound. The per-item cap alone does not bound the park — one
|
|
576
|
+
* member can hold max_content_stake_per_member on every item ever created.
|
|
577
|
+
* Must be >= max_content_stake_per_member. Default 20,000 DREAM (2x the
|
|
578
|
+
* per-item cap). Author bonds are not counted; they are slashable escrow
|
|
579
|
+
* with their own per-item cap.
|
|
580
|
+
*/
|
|
581
|
+
maxTotalContentStakePerMember: string;
|
|
482
582
|
/**
|
|
483
583
|
* Replacement rounds the acceptance sweep may run per jury review.
|
|
484
584
|
*
|
|
@@ -549,6 +649,63 @@ export interface Params {
|
|
|
549
649
|
* Epochs of history the accuracy ring scores. Default 6.
|
|
550
650
|
*/
|
|
551
651
|
reviewerAccuracyWindowEpochs: bigint;
|
|
652
|
+
/**
|
|
653
|
+
* Reviewer bonded-role policy: the eligibility and exit terms for
|
|
654
|
+
* ROLE_TYPE_INITIATIVE_REVIEWER.
|
|
655
|
+
*
|
|
656
|
+
* These live here rather than only in the BondedRoleConfig store so the
|
|
657
|
+
* reviewer role has the same shape as every other bonded role: params are the
|
|
658
|
+
* source of truth and are written through to rep's enforcement state on
|
|
659
|
+
* InitGenesis and on every operational param update (x/forum does this for
|
|
660
|
+
* the sentinel, x/collect for the curator). Before that, the reviewer was the
|
|
661
|
+
* one role no module owned, so its config was reachable only by editing
|
|
662
|
+
* genesis or shipping an upgrade.
|
|
663
|
+
*
|
|
664
|
+
* Field numbers jump past the reviewer pay knobs above because these were
|
|
665
|
+
* added later; they belong to this block by topic, not by number.
|
|
666
|
+
*
|
|
667
|
+
* min_reviewer_bond is deliberately a LOW barrier to entry (500 DREAM), not a
|
|
668
|
+
* measure of what a bad verdict costs. Per-verdict exposure is the reserve --
|
|
669
|
+
* SlashReviewersOnOverturn charges BondReserved, which is
|
|
670
|
+
* reviewer_bond_reserve_rate x the initiative's budget -- so liability already
|
|
671
|
+
* scales with what the review could mint, whatever the floor is.
|
|
672
|
+
*
|
|
673
|
+
* Reviewers scale up by bonding more when they want bigger work. Free bond
|
|
674
|
+
* above a reviewer's open reserves is what decides which initiatives they can
|
|
675
|
+
* pick up and how many at once: at the default 10% rate the floor alone covers
|
|
676
|
+
* work up to ~5,000 DREAM of budget, while an EPIC initiative (10,000 cap)
|
|
677
|
+
* reserves 1,000. Raising the ceiling is just another MsgBondRole against the
|
|
678
|
+
* same record -- it adds to current_bond and is reservable on the next verdict,
|
|
679
|
+
* with no waiting period and no need to unbond first. Keeping the entry price
|
|
680
|
+
* low is the point: reviewing should be something an ordinary member can start
|
|
681
|
+
* doing and then grow into, rather than something gated on holding a large
|
|
682
|
+
* balance up front.
|
|
683
|
+
*/
|
|
684
|
+
minReviewerBond: string;
|
|
685
|
+
/**
|
|
686
|
+
* Free bond below which a reviewer is demoted out of the role. Conventionally
|
|
687
|
+
* half of min_reviewer_bond.
|
|
688
|
+
*/
|
|
689
|
+
reviewerDemotionThreshold: string;
|
|
690
|
+
/**
|
|
691
|
+
* Trust level a member must hold to bond as a reviewer. The trust ladder
|
|
692
|
+
* already encodes reputation, so this is the whole eligibility gate and
|
|
693
|
+
* min_reviewer_rep_tier stays 0 (see BondedRoleConfig seeding notes).
|
|
694
|
+
*
|
|
695
|
+
* Required, unlike the sentinel's and curator's: BondRole skips the trust
|
|
696
|
+
* check entirely on an empty string, so an omitted level would silently open
|
|
697
|
+
* the one role whose approvals mint DREAM. An ungated roster is still
|
|
698
|
+
* expressible as TRUST_LEVEL_NEW.
|
|
699
|
+
*/
|
|
700
|
+
minReviewerTrustLevel: string;
|
|
701
|
+
minReviewerRepTier: bigint;
|
|
702
|
+
minReviewerAgeBlocks: bigint;
|
|
703
|
+
reviewerDemotionCooldown: bigint;
|
|
704
|
+
/**
|
|
705
|
+
* Bond stays slashable through this window after an unbond request, so open
|
|
706
|
+
* verdicts can age out and still be charged if a jury overturns them.
|
|
707
|
+
*/
|
|
708
|
+
reviewerUnbondCooldown: bigint;
|
|
552
709
|
/**
|
|
553
710
|
* Ceiling on the uspark x/rep may draw from the community pool per UTC day to
|
|
554
711
|
* fund its bonded-role reward pools.
|
|
@@ -841,6 +998,41 @@ export interface ParamsAmino {
|
|
|
841
998
|
* Seasonal staking reward pool
|
|
842
999
|
*/
|
|
843
1000
|
max_staking_rewards_per_season?: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* Ceiling on each epoch's reward slice, as a yield on the DREAM actually
|
|
1003
|
+
* staked (default 0.0005 = 0.05% per epoch, 7.5% over a 150-epoch season
|
|
1004
|
+
* gross, ~3.75% net of staked_decay_rate).
|
|
1005
|
+
*
|
|
1006
|
+
* The slice is otherwise remaining/remaining_epochs no matter how little is
|
|
1007
|
+
* staked, so yield per staked DREAM diverges as the staked base shrinks and
|
|
1008
|
+
* acc_per_share grows without bound: a chain with 1.47 DREAM staked hands the
|
|
1009
|
+
* entire season budget to three dust stakes. Whatever this cap withholds
|
|
1010
|
+
* stays in the pool rather than being distributed or dropped.
|
|
1011
|
+
*/
|
|
1012
|
+
staking_reward_yield_per_epoch?: string;
|
|
1013
|
+
/**
|
|
1014
|
+
* Share of the previous season's non-staking DREAM mints that funds this
|
|
1015
|
+
* season's staking reward pool (default 0.05 = 5%), so emission tracks what
|
|
1016
|
+
* the chain actually produced rather than the calendar.
|
|
1017
|
+
*
|
|
1018
|
+
* Staking rewards are excluded from the base. Counting them would let each
|
|
1019
|
+
* season's pool inflate the next one's, compounding with nothing but the
|
|
1020
|
+
* schedule cap below to stop it.
|
|
1021
|
+
*/
|
|
1022
|
+
staking_pool_mint_share?: string;
|
|
1023
|
+
/**
|
|
1024
|
+
* Schedule ceiling on the seasonal pool:
|
|
1025
|
+
*
|
|
1026
|
+
* cap = staking_pool_cap_base * (season + 1) * staking_pool_cap_rate
|
|
1027
|
+
*
|
|
1028
|
+
* The base is the chain's initial DREAM supply (25,000 DREAM at genesis) and
|
|
1029
|
+
* the rate defaults to 0.05, so the ceiling opens at 1,250 DREAM in season 0
|
|
1030
|
+
* and widens by that much each season. It backstops the mint-share term above
|
|
1031
|
+
* on a chain whose mint volume spikes; max_staking_rewards_per_season remains
|
|
1032
|
+
* the absolute ceiling over both.
|
|
1033
|
+
*/
|
|
1034
|
+
staking_pool_cap_base?: string;
|
|
1035
|
+
staking_pool_cap_rate?: string;
|
|
844
1036
|
/**
|
|
845
1037
|
* Per-epoch decay on staked DREAM (default 0.05% = 0.0005)
|
|
846
1038
|
*/
|
|
@@ -867,6 +1059,31 @@ export interface ParamsAmino {
|
|
|
867
1059
|
* but without this cap, a whale can stake disproportionately and extract most seasonal staking rewards.
|
|
868
1060
|
*/
|
|
869
1061
|
max_initiative_stake_per_member?: string;
|
|
1062
|
+
/**
|
|
1063
|
+
* Anti-dust floor on the DREAM one MsgStake may lock (default 0.002 DREAM =
|
|
1064
|
+
* 2,000 micro-DREAM). There was no floor at all, so a member could open the
|
|
1065
|
+
* ten tranches max_stake_tranches_per_target allows at one micro-DREAM each
|
|
1066
|
+
* and be counted as a participant in every conviction and payout weighting
|
|
1067
|
+
* the initiative runs.
|
|
1068
|
+
*
|
|
1069
|
+
* The default is pinned to 1/staking_reward_yield_per_epoch: the smallest
|
|
1070
|
+
* stake whose own per-epoch accrual (amount * yield, truncated to an integer)
|
|
1071
|
+
* reaches one micro-DREAM. Below that a record can never earn anything, and
|
|
1072
|
+
* should not occupy a state slot. Move it with the yield. What bounds the
|
|
1073
|
+
* return on a small position is max_completion_bonus_stake_multiple, not
|
|
1074
|
+
* this.
|
|
1075
|
+
*/
|
|
1076
|
+
min_stake_amount?: string;
|
|
1077
|
+
/**
|
|
1078
|
+
* Per-season cap on total DREAM minted to pay interim work (default 50,000
|
|
1079
|
+
* DREAM). The initiative cap below has always existed; the interim path had
|
|
1080
|
+
* no season bound at all, which left it as the one DREAM-creating flow whose
|
|
1081
|
+
* total was limited only by max_dream_mint_per_epoch — 250,000 DREAM/day
|
|
1082
|
+
* against a 25,000 DREAM genesis supply. Interims are self-assigned and
|
|
1083
|
+
* self-completed by design, so the per-member active cap alone does not
|
|
1084
|
+
* bound the total: a member can complete and re-create indefinitely.
|
|
1085
|
+
*/
|
|
1086
|
+
max_interim_rewards_per_season?: string;
|
|
870
1087
|
/**
|
|
871
1088
|
* Per-season cap on total DREAM minted via initiative completion rewards (default 100,000 DREAM).
|
|
872
1089
|
* Bounds total extraction even if colluding members rubber-stamp initiatives.
|
|
@@ -980,7 +1197,10 @@ export interface ParamsAmino {
|
|
|
980
1197
|
/**
|
|
981
1198
|
* External-conviction ratio applied instead of external_conviction_ratio when
|
|
982
1199
|
* the initiative is self-assigned. Must be >= external_conviction_ratio and
|
|
983
|
-
* <= 1. Default
|
|
1200
|
+
* <= 1. Default 0.75 — a distinct-staker floor as much as a magnitude one,
|
|
1201
|
+
* since max_conviction_share_per_member caps any one member's contribution:
|
|
1202
|
+
* ceil(0.75 / 0.33) = 3 independent stakers, against 2 for externally
|
|
1203
|
+
* assigned work.
|
|
984
1204
|
*/
|
|
985
1205
|
self_assigned_external_conviction_ratio?: string;
|
|
986
1206
|
/**
|
|
@@ -1074,6 +1294,43 @@ export interface ParamsAmino {
|
|
|
1074
1294
|
* Default 0.1.
|
|
1075
1295
|
*/
|
|
1076
1296
|
initiative_completion_bonus_rate?: string;
|
|
1297
|
+
/**
|
|
1298
|
+
* Ceiling on the initiative completion bonus, as a multiple of the external
|
|
1299
|
+
* DREAM actually staked behind the initiative (default 3.0):
|
|
1300
|
+
*
|
|
1301
|
+
* bonus_pool = min(initiative_completion_bonus_rate * budget,
|
|
1302
|
+
* max_completion_bonus_stake_multiple * external_stake)
|
|
1303
|
+
*
|
|
1304
|
+
* Default 3.0. Without it the bonus is a fixed share of the budget while the
|
|
1305
|
+
* capital needed to unlock that budget falls as 1/N in the number of stakers —
|
|
1306
|
+
* required_conviction is conviction_per_dream * sqrt(budget), each of N
|
|
1307
|
+
* stakers supplies sqrt(stake), so the total stake that clears the gate is
|
|
1308
|
+
* conviction_per_dream^2 * budget / N. The bonus per staker is then
|
|
1309
|
+
* 2.5 * N times their own stake: 7.5x at three stakers, 25x at ten, 62.5x at
|
|
1310
|
+
* twenty-five, risk-free on any initiative that completes.
|
|
1311
|
+
*
|
|
1312
|
+
* Pricing the bonus off capital at risk instead of participant count
|
|
1313
|
+
* restores the stake-to-budget ratio the conviction formula was designed
|
|
1314
|
+
* around (~4%) without touching the sqrt weighting that deliberately rewards
|
|
1315
|
+
* breadth. Range: 0 disables the bonus entirely.
|
|
1316
|
+
*/
|
|
1317
|
+
max_completion_bonus_stake_multiple?: string;
|
|
1318
|
+
/**
|
|
1319
|
+
* Ceiling on the TOTAL DREAM one member may hold across all content
|
|
1320
|
+
* conviction stakes (blog, forum, collection — every item combined), on top
|
|
1321
|
+
* of the per-item max_content_stake_per_member.
|
|
1322
|
+
*
|
|
1323
|
+
* Content stakes neither decay (decayStakes skips them) nor earn, so without
|
|
1324
|
+
* an aggregate bound they are an unbounded decay-free store of value: DREAM
|
|
1325
|
+
* parked there escapes the unstaked decay nudge entirely while a reward-
|
|
1326
|
+
* bearing stake pays for itself in yield only when the seasonal pool is not
|
|
1327
|
+
* calendar-bound. The per-item cap alone does not bound the park — one
|
|
1328
|
+
* member can hold max_content_stake_per_member on every item ever created.
|
|
1329
|
+
* Must be >= max_content_stake_per_member. Default 20,000 DREAM (2x the
|
|
1330
|
+
* per-item cap). Author bonds are not counted; they are slashable escrow
|
|
1331
|
+
* with their own per-item cap.
|
|
1332
|
+
*/
|
|
1333
|
+
max_total_content_stake_per_member?: string;
|
|
1077
1334
|
/**
|
|
1078
1335
|
* Replacement rounds the acceptance sweep may run per jury review.
|
|
1079
1336
|
*
|
|
@@ -1144,6 +1401,63 @@ export interface ParamsAmino {
|
|
|
1144
1401
|
* Epochs of history the accuracy ring scores. Default 6.
|
|
1145
1402
|
*/
|
|
1146
1403
|
reviewer_accuracy_window_epochs?: string;
|
|
1404
|
+
/**
|
|
1405
|
+
* Reviewer bonded-role policy: the eligibility and exit terms for
|
|
1406
|
+
* ROLE_TYPE_INITIATIVE_REVIEWER.
|
|
1407
|
+
*
|
|
1408
|
+
* These live here rather than only in the BondedRoleConfig store so the
|
|
1409
|
+
* reviewer role has the same shape as every other bonded role: params are the
|
|
1410
|
+
* source of truth and are written through to rep's enforcement state on
|
|
1411
|
+
* InitGenesis and on every operational param update (x/forum does this for
|
|
1412
|
+
* the sentinel, x/collect for the curator). Before that, the reviewer was the
|
|
1413
|
+
* one role no module owned, so its config was reachable only by editing
|
|
1414
|
+
* genesis or shipping an upgrade.
|
|
1415
|
+
*
|
|
1416
|
+
* Field numbers jump past the reviewer pay knobs above because these were
|
|
1417
|
+
* added later; they belong to this block by topic, not by number.
|
|
1418
|
+
*
|
|
1419
|
+
* min_reviewer_bond is deliberately a LOW barrier to entry (500 DREAM), not a
|
|
1420
|
+
* measure of what a bad verdict costs. Per-verdict exposure is the reserve --
|
|
1421
|
+
* SlashReviewersOnOverturn charges BondReserved, which is
|
|
1422
|
+
* reviewer_bond_reserve_rate x the initiative's budget -- so liability already
|
|
1423
|
+
* scales with what the review could mint, whatever the floor is.
|
|
1424
|
+
*
|
|
1425
|
+
* Reviewers scale up by bonding more when they want bigger work. Free bond
|
|
1426
|
+
* above a reviewer's open reserves is what decides which initiatives they can
|
|
1427
|
+
* pick up and how many at once: at the default 10% rate the floor alone covers
|
|
1428
|
+
* work up to ~5,000 DREAM of budget, while an EPIC initiative (10,000 cap)
|
|
1429
|
+
* reserves 1,000. Raising the ceiling is just another MsgBondRole against the
|
|
1430
|
+
* same record -- it adds to current_bond and is reservable on the next verdict,
|
|
1431
|
+
* with no waiting period and no need to unbond first. Keeping the entry price
|
|
1432
|
+
* low is the point: reviewing should be something an ordinary member can start
|
|
1433
|
+
* doing and then grow into, rather than something gated on holding a large
|
|
1434
|
+
* balance up front.
|
|
1435
|
+
*/
|
|
1436
|
+
min_reviewer_bond?: string;
|
|
1437
|
+
/**
|
|
1438
|
+
* Free bond below which a reviewer is demoted out of the role. Conventionally
|
|
1439
|
+
* half of min_reviewer_bond.
|
|
1440
|
+
*/
|
|
1441
|
+
reviewer_demotion_threshold?: string;
|
|
1442
|
+
/**
|
|
1443
|
+
* Trust level a member must hold to bond as a reviewer. The trust ladder
|
|
1444
|
+
* already encodes reputation, so this is the whole eligibility gate and
|
|
1445
|
+
* min_reviewer_rep_tier stays 0 (see BondedRoleConfig seeding notes).
|
|
1446
|
+
*
|
|
1447
|
+
* Required, unlike the sentinel's and curator's: BondRole skips the trust
|
|
1448
|
+
* check entirely on an empty string, so an omitted level would silently open
|
|
1449
|
+
* the one role whose approvals mint DREAM. An ungated roster is still
|
|
1450
|
+
* expressible as TRUST_LEVEL_NEW.
|
|
1451
|
+
*/
|
|
1452
|
+
min_reviewer_trust_level?: string;
|
|
1453
|
+
min_reviewer_rep_tier?: string;
|
|
1454
|
+
min_reviewer_age_blocks?: string;
|
|
1455
|
+
reviewer_demotion_cooldown?: string;
|
|
1456
|
+
/**
|
|
1457
|
+
* Bond stays slashable through this window after an unbond request, so open
|
|
1458
|
+
* verdicts can age out and still be charged if a jury overturns them.
|
|
1459
|
+
*/
|
|
1460
|
+
reviewer_unbond_cooldown?: string;
|
|
1147
1461
|
/**
|
|
1148
1462
|
* Ceiling on the uspark x/rep may draw from the community pool per UTC day to
|
|
1149
1463
|
* fund its bonded-role reward pools.
|
|
@@ -1410,6 +1724,14 @@ export interface RepOperationalParams {
|
|
|
1410
1724
|
* Anti-whale staking cap (mirrors Params.max_initiative_stake_per_member)
|
|
1411
1725
|
*/
|
|
1412
1726
|
maxInitiativeStakePerMember: string;
|
|
1727
|
+
/**
|
|
1728
|
+
* Mirrors min_stake_amount in Params.
|
|
1729
|
+
*/
|
|
1730
|
+
minStakeAmount: string;
|
|
1731
|
+
/**
|
|
1732
|
+
* Mirrors max_interim_rewards_per_season in Params.
|
|
1733
|
+
*/
|
|
1734
|
+
maxInterimRewardsPerSeason: string;
|
|
1413
1735
|
/**
|
|
1414
1736
|
* Per-season initiative reward minting cap (mirrors Params.max_initiative_rewards_per_season)
|
|
1415
1737
|
*/
|
|
@@ -1504,6 +1826,15 @@ export interface RepOperationalParams {
|
|
|
1504
1826
|
* Mirrors initiative_completion_bonus_rate in Params.
|
|
1505
1827
|
*/
|
|
1506
1828
|
initiativeCompletionBonusRate: string;
|
|
1829
|
+
/**
|
|
1830
|
+
* Mirrors max_completion_bonus_stake_multiple in Params.
|
|
1831
|
+
*/
|
|
1832
|
+
maxCompletionBonusStakeMultiple: string;
|
|
1833
|
+
/**
|
|
1834
|
+
* Mirrors max_total_content_stake_per_member in Params: the aggregate
|
|
1835
|
+
* per-member ceiling across all content conviction stakes.
|
|
1836
|
+
*/
|
|
1837
|
+
maxTotalContentStakePerMember: string;
|
|
1507
1838
|
/**
|
|
1508
1839
|
* Mirrors jury_acceptance_window_ratio in Params. Validated against
|
|
1509
1840
|
* max_jury_redraws below — the pair must fit inside the review period.
|
|
@@ -1562,6 +1893,25 @@ export interface RepOperationalParams {
|
|
|
1562
1893
|
minEpochVerifications: number;
|
|
1563
1894
|
verifierDreamReward: string;
|
|
1564
1895
|
maxVerifierDreamMintPerEpoch: string;
|
|
1896
|
+
/**
|
|
1897
|
+
* Mirrors the reviewer bonded-role policy in Params. Updating these writes
|
|
1898
|
+
* through to the BondedRoleConfig for ROLE_TYPE_INITIATIVE_REVIEWER, so the
|
|
1899
|
+
* reviewer bond floor is tunable by council vote like every other role's.
|
|
1900
|
+
*/
|
|
1901
|
+
minReviewerBond: string;
|
|
1902
|
+
reviewerDemotionThreshold: string;
|
|
1903
|
+
minReviewerTrustLevel: string;
|
|
1904
|
+
minReviewerRepTier: bigint;
|
|
1905
|
+
minReviewerAgeBlocks: bigint;
|
|
1906
|
+
reviewerDemotionCooldown: bigint;
|
|
1907
|
+
reviewerUnbondCooldown: bigint;
|
|
1908
|
+
/**
|
|
1909
|
+
* Seasonal staking pool shape; see the same fields on Params.
|
|
1910
|
+
*/
|
|
1911
|
+
stakingRewardYieldPerEpoch: string;
|
|
1912
|
+
stakingPoolMintShare: string;
|
|
1913
|
+
stakingPoolCapBase: string;
|
|
1914
|
+
stakingPoolCapRate: string;
|
|
1565
1915
|
}
|
|
1566
1916
|
export interface RepOperationalParamsProtoMsg {
|
|
1567
1917
|
typeUrl: "/sparkdream.rep.v1.RepOperationalParams";
|
|
@@ -1697,6 +2047,14 @@ export interface RepOperationalParamsAmino {
|
|
|
1697
2047
|
* Anti-whale staking cap (mirrors Params.max_initiative_stake_per_member)
|
|
1698
2048
|
*/
|
|
1699
2049
|
max_initiative_stake_per_member?: string;
|
|
2050
|
+
/**
|
|
2051
|
+
* Mirrors min_stake_amount in Params.
|
|
2052
|
+
*/
|
|
2053
|
+
min_stake_amount?: string;
|
|
2054
|
+
/**
|
|
2055
|
+
* Mirrors max_interim_rewards_per_season in Params.
|
|
2056
|
+
*/
|
|
2057
|
+
max_interim_rewards_per_season?: string;
|
|
1700
2058
|
/**
|
|
1701
2059
|
* Per-season initiative reward minting cap (mirrors Params.max_initiative_rewards_per_season)
|
|
1702
2060
|
*/
|
|
@@ -1791,6 +2149,15 @@ export interface RepOperationalParamsAmino {
|
|
|
1791
2149
|
* Mirrors initiative_completion_bonus_rate in Params.
|
|
1792
2150
|
*/
|
|
1793
2151
|
initiative_completion_bonus_rate?: string;
|
|
2152
|
+
/**
|
|
2153
|
+
* Mirrors max_completion_bonus_stake_multiple in Params.
|
|
2154
|
+
*/
|
|
2155
|
+
max_completion_bonus_stake_multiple?: string;
|
|
2156
|
+
/**
|
|
2157
|
+
* Mirrors max_total_content_stake_per_member in Params: the aggregate
|
|
2158
|
+
* per-member ceiling across all content conviction stakes.
|
|
2159
|
+
*/
|
|
2160
|
+
max_total_content_stake_per_member?: string;
|
|
1794
2161
|
/**
|
|
1795
2162
|
* Mirrors jury_acceptance_window_ratio in Params. Validated against
|
|
1796
2163
|
* max_jury_redraws below — the pair must fit inside the review period.
|
|
@@ -1849,6 +2216,25 @@ export interface RepOperationalParamsAmino {
|
|
|
1849
2216
|
min_epoch_verifications?: number;
|
|
1850
2217
|
verifier_dream_reward?: string;
|
|
1851
2218
|
max_verifier_dream_mint_per_epoch?: string;
|
|
2219
|
+
/**
|
|
2220
|
+
* Mirrors the reviewer bonded-role policy in Params. Updating these writes
|
|
2221
|
+
* through to the BondedRoleConfig for ROLE_TYPE_INITIATIVE_REVIEWER, so the
|
|
2222
|
+
* reviewer bond floor is tunable by council vote like every other role's.
|
|
2223
|
+
*/
|
|
2224
|
+
min_reviewer_bond?: string;
|
|
2225
|
+
reviewer_demotion_threshold?: string;
|
|
2226
|
+
min_reviewer_trust_level?: string;
|
|
2227
|
+
min_reviewer_rep_tier?: string;
|
|
2228
|
+
min_reviewer_age_blocks?: string;
|
|
2229
|
+
reviewer_demotion_cooldown?: string;
|
|
2230
|
+
reviewer_unbond_cooldown?: string;
|
|
2231
|
+
/**
|
|
2232
|
+
* Seasonal staking pool shape; see the same fields on Params.
|
|
2233
|
+
*/
|
|
2234
|
+
staking_reward_yield_per_epoch?: string;
|
|
2235
|
+
staking_pool_mint_share?: string;
|
|
2236
|
+
staking_pool_cap_base?: string;
|
|
2237
|
+
staking_pool_cap_rate?: string;
|
|
1852
2238
|
}
|
|
1853
2239
|
export interface RepOperationalParamsAminoMsg {
|
|
1854
2240
|
type: "sparkdream/x/rep/RepOperationalParams";
|