import { Address, Hex } from "viem"; import { PointsState, Module } from ".."; /** * Redistribute the market points of a vault to the users of the vault * * Map over the metamorpho positions and redistribute the points to the users of the vault */ export declare const redistributeOneMarketToOneMetaMorpho: (_state: PointsState, mmAddress: Address, marketId: Hex) => { markets: { [x: string]: import("../types").MarketPoints; }; positions: { [x: string]: import("../types").PositionPoints; }; metaMorphos: { [x: string]: import("../types").MetaMorphoPoints; }; metaMorphoPositions: { [x: string]: import("../types").MetaMorphoPositionPoints; }; }; /** * Redistribute the points of the metamorpho to the users of the vault * * Map over the vault positions into the different markets and redistribute the points to the users of the vault */ export declare const redistributeOneMetaMorpho: (state: PointsState, mmAddress: Address) => { markets: { [x: string]: import("../types").MarketPoints; }; positions: { [x: string]: import("../types").PositionPoints; }; metaMorphos: { [x: string]: import("../types").MetaMorphoPoints; }; metaMorphoPositions: { [x: string]: import("../types").MetaMorphoPositionPoints; }; }; /** * Redistribute the market points to the MetaMorpho users. * * Map over each vault, check the metamorpho positions and redistribute the points to the users of the vault. */ export declare const redistributeMetaMorpho: (state: PointsState) => PointsState; export declare class RedistributorModule implements Module { handle(state: PointsState): { markets: { [x: string]: import("../types").MarketPoints; }; positions: { [x: string]: import("../types").PositionPoints; }; metaMorphos: { [x: string]: import("../types").MetaMorphoPoints; }; metaMorphoPositions: { [x: string]: import("../types").MetaMorphoPositionPoints; }; }; } /** * We first need to redistribute to the users that have used the vault as collateral * And then, we spread the vault market points to the vault users. * Finally, we blacklist the remaining points of blue (due to roundings during the redistribution) */ export declare const redistributeAll: (state: PointsState) => { markets: { [x: string]: import("../types").MarketPoints; }; positions: { [x: string]: import("../types").PositionPoints; }; metaMorphos: { [x: string]: import("../types").MetaMorphoPoints; }; metaMorphoPositions: { [x: string]: import("../types").MetaMorphoPositionPoints; }; };