hermes-v2-sdk
Version:
⚒️ An SDK for building applications on top of Hermes V2
55 lines (54 loc) • 2.83 kB
TypeScript
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;
}