Skip to content

Implement slashing logic #1

@The-3D

Description

@The-3D

The current StakeTokenV2 implementation does not have slashing capabilities. Right now there is no way of executing a slash of the stake without governance intervention and a token upgrade. This issue tracks the introduction of slashing capabilities on the StakeTokenV2.

The functionality will be implemented as follows:

  1. Introduction of an exchangeRate() function that tracks the ratio between the total supply of the StakeToken and the underlying. A ratio of 1:1 means no slashes happened. An eventual slashing of the stake will seize some of the underlying asset reducing the exchange rate of underlying:stake token of an amount proportional to the underlying seized
  2. Introduction of a SlashingAdmin role. The Slashing admin will be the the sole entity able to execute the slashing of the underlying asset. For the Aave stake, it will be configured as 0xEE56e2B3D491590B5b31738cC34d5232F378a8D5, that is the current governance V2 short executor
  3. introduce a CooldownAdmin. The Cooldown admin will be able to pause all the cooldown periods in case of a shortfall event, to allow proper resolution of the event. The pauseCooldown() function allows the admin to pause all the cooldowns.Cooldowns are expected to be resumed once the slashing event is resolved by the CooldownAdmin. If the pause is 4. longer than 10 days, the cooldowns are expected to expire.
  4. Introduce a slash() function. The slash() function allows the SlashingAdmin to seize some of the underlying stored in the stake to be transferred to a different address, for subsequent auctioning and recollateralization of the protocol. The exchange rate will automatically update to reflect the change in the underlying/total stake shares ratio.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions