/** * @dev Converters for fee tier data between contract and SDK formats * @dev All BigNumber values are normalized to floats with appropriate precision */ import { IFeeTiers } from "../../../contracts/types/generated/GNSMultiCollatDiamond"; import { FeeTier, TraderInfo, TraderEnrollment, StakingInfo } from "./types"; /** * @dev Converts contract fee tier data to SDK format * @param contractData Contract FeeTier struct * @returns Normalized fee tier data */ export declare const convertFeeTier: (contractData: IFeeTiers.FeeTierStructOutput) => FeeTier; /** * @dev Converts array of fee tiers from contract format * @param contractDataArray Array of contract FeeTier structs * @returns Array of normalized fee tiers */ export declare const convertFeeTierArray: (contractDataArray: IFeeTiers.FeeTierStructOutput[]) => FeeTier[]; /** * @dev Converts contract trader info to SDK format * @param contractData Contract TraderInfo struct * @returns Normalized trader info */ export declare const convertTraderInfo: (contractData: IFeeTiers.TraderInfoStructOutput) => TraderInfo; /** * @dev Converts contract trader enrollment to SDK format * @param contractData Contract TraderEnrollment struct * @returns Normalized trader enrollment */ export declare const convertTraderEnrollment: (contractData: IFeeTiers.TraderEnrollmentStructOutput) => TraderEnrollment; /** * @dev Converts contract gns staking info to SDK format * @param contractData Contract GnsStakingInfo struct * @returns Normalized gns staking info */ export declare const convertStakingInfo: (contractData: IFeeTiers.GnsStakingInfoStructOutput) => StakingInfo; /** * @dev Converts the complete fee tiers configuration from contract format * @param tiers Array of volume fee tiers from contract * @param groupVolumeMultipliers Array of group volume multipliers * @param currentDay Current day from contract * @param stakingTiers Array of staking fee tiers from contract * @returns Complete fee tiers configuration */ export declare const convertFeeTiersConfig: (tiers: IFeeTiers.FeeTierStructOutput[], groupVolumeMultipliers: readonly bigint[], currentDay: bigint, stakingTiers: IFeeTiers.FeeTierStructOutput[]) => { tiers: FeeTier[]; groupVolumeMultipliers: number[]; currentDay: number; stakingTiers: FeeTier[]; }; /** * @dev Converts trader's volume and staking fee tier data from contract format * @param traderInfo Trader info from contract * @param traderDailyInfo Array of daily points info * @param traderEnrollment Enrollment status from contract * @param stakingInfo Staking info from contract * @returns Complete trader volume and staking fee tier data */ export declare const convertTraderFeeTiersData: (traderInfo: IFeeTiers.TraderInfoStructOutput, traderDailyInfo: readonly bigint[], traderEnrollment: IFeeTiers.TraderEnrollmentStructOutput, stakingInfo: IFeeTiers.GnsStakingInfoStructOutput) => { traderInfo: TraderInfo; dailyPoints: number[]; traderEnrollment: TraderEnrollment; stakingInfo: StakingInfo; };