Skip to content
VaultDock logoVaultDock

Blocks / module / rewards

Composite weight

v1

Combine several weight sources into one multiplier.

One of the rails: a block you deploy as your own copy in one transaction, with the fee and caps shown first.

Deploy this module0 live instances

What it does

composite-weight v1: combine weight sources

A weight plugin for `staking-vault` that combines up to four other plugins:

| mode | result | |---|---| | 0 MAX | the best single reading ("diamond hands **or** questers") | | 1 SUM_BONUSES | 1.00x + every source's bonus over 1.00x | | 2 PRODUCT | the readings multiplied together |

Each source reading is clamped to [1.00x, 5.00x]. The combined result is clamped to [1.00x, `clampBps`], and the vault's own ceiling still applies.

- Each source is read with its own 32k gas budget (4 × 32k fits inside the vault's 150k plugin budget). A source that reverts, returns garbage or runs out of gas counts as 1.00x. `multiplierBpsOf` never reverts. - `_onInit` stores source addresses only and never calls them. In a recipe they may be predicted siblings. - `refresh(vault, ids)` forwards to a vault's permissionless `syncMany`.

**Roles:** the owner can only pause `refresh` and hand over ownership. **Locked:** `sources`, `mode`, `clampBps`. **Value flows / fee lanes:** none.

What if…

- **…one source breaks?** It counts as 1.00x and the others still count. - **…two sources both give a bonus?** MAX takes the best, SUM_BONUSES adds them, PRODUCT multiplies them. All are capped. - **…my multiplier went up but my share did not?** The vault adopts it on sync. Refresh, and it applies from then on.

Risks in plain English

  • Sources, mode and ceiling are fixed at deploy.
  • A source that breaks counts as 1.00x, never more.
  • PRODUCT compounds quickly; the ceiling (and the vault's own ceiling) is what bounds it.

What if…

What if one source stops working?
It is read with its own gas budget and counts as 1.00x; the others still count.
What if two sources both give a bonus?
MAX takes the best one, SUM_BONUSES adds them, PRODUCT multiplies them. All are capped by the ceiling.
What if my multiplier went up but my share did not?
The vault adopts new multipliers when it is synced. Use refresh (or the vault's sync) and it applies from then on.

Fees

No protocol fee on this module.

Evidence

Form check
Verified against the evidence hash
Code hash
0x6a823a043fadf56e895bf9d48bb9d8aafd92dd9ae5c1a8bd54e6414a03258f07
Evidence bundle
0xfc485e093d3d75f960a3013f030aeabf9c5200a4d507f12641d6db214f4a31bc

Settings you choose at deploy

  • Weight sourcesUp to 4 weight plugins (duration, task, ...). Can never change.Locked forever
  • How to combineLocked forever
  • Highest combined multiplierLocked forever