UNPKG

hermes-v2-sdk

Version:

⚒️ An SDK for building applications on top of Hermes V2

55 lines (54 loc) 2.83 kB
import { Interface } from '@ethersproject/abi'; import { TDecrementGaugeParams, TDecrementGaugesParams, TDelegateGaugeParams, TIncrementGaugeParams, TIncrementGaugesParams, TUndelegateGaugeParams } from '../../types/bHermesGauges'; /** * @title BHermesGauges class * @notice Provides a set of function to encode calldata for the different bHermes gauges contract interactions. * @dev Actions such as incrementing or decrementing gauge vote allocations. * @author MaiaDAO */ export declare abstract class BHermesGauges { static readonly INTERFACE: Interface; /** * Cannot be constructed. */ private constructor(); /** * Creates the necessary execution params to increment weight on a single gauge. * @param pool The address of the pool for which gauge to increment weight * @param weight The amount of weight to increment * @returns The encoded increment gauge votes params */ static encodeIncrementGaugeCalldata({ pool, weight }: TIncrementGaugeParams): string; /** * Creates the necessary execution params to increment weight on multiple gauges. * @param pools array of uniswap V3 pool addresses * @param weights array of weight to be incremented * @returns The encoded increment gauges params */ static encodeIncrementGaugesCalldata({ pools, weights }: TIncrementGaugesParams): string; /** * Creates the necessary execution params to decrement votes on a given gauge. * @param pool The address of the pool for which gauge to decrement weight from * @param weight The amount of weight to decrement * @returns The encoded decrement gauge votes params */ static encodeDecrementGaugeCalldata({ pool, weight }: TDecrementGaugeParams): string; /** * Creates the necessary execution params to decrement votes on multiple gauges. * @param pools array of uniswap V3 pool addresses * @param weights array of amount of weight to be decremented * @returns The encoded decrement gauges params */ static encodeDecrementGaugesCalldata({ pools, weights }: TDecrementGaugesParams): string; /** * Creates the necessary execution params to delegate bHermes gauge weight to a given address. * @param newDelegatee The address of the gauge to delegate votes to */ static encodeDelegateCalldata({ newDelegatee }: TDelegateGaugeParams): string; /** * Creates the necessary execution params to undelegate bHermes gauge weight from a given address. * @param delegatee The address of the gauge to undelegate votes from * @param weight The amount of gauge weight to undelegate */ static encodeUndelegateCalldata({ delegatee, weight }: TUndelegateGaugeParams): string; }