goosefx-amm-sdk
Version:
SDK for the GooseFx AMM
44 lines (41 loc) • 2.23 kB
TypeScript
import BN from 'bn.js';
import { e as CpmmObservationState } from '../../../type-f5818943.js';
import '@solana/web3.js';
import '../../../api/type.js';
import '../../../common/txTool/txType.js';
import '../../../type-4a262146.js';
import '@solana/spl-token';
import '../../../module/amount.js';
import '../../../common/number.js';
import '../../../common/logger.js';
import '../../../module/fraction.js';
import '../../../module/token.js';
import '../../../common/pubKey.js';
import '../../../module/currency.js';
import '../../../api/api.js';
import 'axios';
import '../../../solana/type.js';
import '../../../api/url.js';
import '../../../common/owner.js';
import '../../../common/txTool/lookupTable.js';
import '../../../module/percent.js';
import '../../idl/gamma.type.js';
import 'decimal.js';
import '@coral-xyz/anchor';
declare const ONE_BASIS_POINT: BN;
declare const FEE_RATE_DENOMINATOR_VALUE: BN;
type PriceRange = {
minPrice: BN;
maxPrice: BN;
twapPrice: BN;
};
type FeeType = "volatility";
declare class DynamicFee {
static calculateDynamicFee(amount: BN, blockTimestamp: BN, observationState: CpmmObservationState, feeType: FeeType, baseFees: BN, poolVolatilityFactor: BN, isInvokedWithSignedSegmenter: boolean): BN;
static calculatePreDynamicFee(amount: BN, blockTimestamp: BN, observationState: CpmmObservationState, feeType: FeeType, baseFees: BN, poolVolatilityFactor: BN, isInvokedWithSignedSegmenter: boolean): BN;
static calculateDynamicFeeRate(blockTimestamp: BN, observationState: CpmmObservationState, feeType: FeeType, baseFees: BN, poolVolatilityFactor: BN, isInvokedWithSignedSegmenter: boolean): BN;
static calculateVolatileFee(blockTimestamp: BN, observationState: CpmmObservationState, baseFees: BN, poolSpecifiedVolatilityFactor: BN, isInvokedWithSignedSegmenter: boolean): BN;
static getPriceRange(observationState: CpmmObservationState, currentTime: BN, window: BN): PriceRange;
static calculatePreFeeAmount(blockTimestamp: BN, postFeeAmount: BN, observationState: CpmmObservationState, feeType: FeeType, baseFees: BN, poolVolatilityFactor: BN, isInvokedWithSignedSegmenter: boolean): BN;
}
export { DynamicFee, FEE_RATE_DENOMINATOR_VALUE, ONE_BASIS_POINT };