@bagsfm/bags-sdk
Version:
TypeScript SDK for Bags
100 lines • 3.56 kB
TypeScript
import { BAGS_FEE_SHARE_V1_PROGRAM_ID, BAGS_FEE_SHARE_V2_PROGRAM_ID } from '../constants';
export interface GetClaimTransactionForTokenRequest {
feeClaimer: string;
tokenMint: string;
isCustomFeeVault: boolean;
claimVirtualPoolFees?: boolean;
claimDammV2Fees?: boolean;
virtualPoolAddress?: string;
dammV2Position?: string;
dammV2Pool?: string;
dammV2PositionNftAccount?: string;
tokenAMint?: string;
tokenBMint?: string;
tokenAVault?: string;
tokenBVault?: string;
customFeeVaultClaimerA?: string;
customFeeVaultClaimerB?: string;
customFeeVaultClaimerSide?: 'A' | 'B';
feeShareProgramId?: string;
}
export type MeteoraDbcClaimPositionFeeParams = {
owner: string;
position: string;
pool: string;
positionNftAccount: string;
tokenAMint: string;
tokenBMint: string;
tokenAVault: string;
tokenBVault: string;
tokenAProgram: string;
tokenBProgram: string;
};
type MeteoraDbcClaimablePosition = {
isCustomFeeVault: false;
virtualPool: string;
baseMint: string;
virtualPoolClaimableAmount: number;
dammPoolClaimableAmount?: number;
virtualPoolAddress: string;
isMigrated: boolean;
dammPoolAddress?: string;
dammPositionInfo?: MeteoraDbcClaimPositionFeeParams;
claimableDisplayAmount: number;
totalClaimableLamportsUserShare: number;
};
type MeteoraDbcClaimablePositionWithCustomFeeVault = {
programId: typeof BAGS_FEE_SHARE_V1_PROGRAM_ID;
isCustomFeeVault: true;
customFeeVault: string;
customFeeVaultBalance: number;
customFeeVaultBps: number;
customFeeVaultClaimOwner: string;
customFeeVaultClaimerA: string;
customFeeVaultClaimerB: string;
customFeeVaultClaimerSide: 'A' | 'B';
virtualPool: string;
baseMint: string;
virtualPoolClaimableAmount: number;
dammPoolClaimableAmount?: number;
virtualPoolAddress: string;
isMigrated: boolean;
dammPoolAddress?: string;
dammPositionInfo?: MeteoraDbcClaimPositionFeeParams;
claimableDisplayAmount: number;
totalClaimableLamportsUserShare: number;
};
export type MeteoraClaimablePositionWithCustomFeeVaultV2PreMigration = {
programId: typeof BAGS_FEE_SHARE_V2_PROGRAM_ID;
isCustomFeeVault: true;
user: string;
baseMint: string;
quoteMint: string;
isMigrated: false;
claimerIndex: number;
userBps: number;
virtualPool: string;
virtualPoolClaimableLamportsUserShare: number;
totalClaimableLamportsUserShare: number;
};
export type MeteoraClaimablePositionWithCustomFeeVaultV2PostMigration = {
programId: typeof BAGS_FEE_SHARE_V2_PROGRAM_ID;
isCustomFeeVault: true;
user: string;
baseMint: string;
quoteMint: string;
isMigrated: true;
claimerIndex: number;
userBps: number;
virtualPool: string;
virtualPoolClaimableLamportsUserShare: number;
dammPool: string;
dammPoolClaimableLamportsUserShare: number;
dammPositionInfo: MeteoraDbcClaimPositionFeeParams;
totalClaimableLamportsUserShare: number;
};
type MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault = MeteoraDbcClaimablePosition | MeteoraDbcClaimablePositionWithCustomFeeVault;
type MeteoraDbcClaimablePositionWithCustomFeeVaultV2 = MeteoraClaimablePositionWithCustomFeeVaultV2PreMigration | MeteoraClaimablePositionWithCustomFeeVaultV2PostMigration;
export type BagsClaimablePosition = MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault | MeteoraDbcClaimablePositionWithCustomFeeVaultV2;
export {};
//# sourceMappingURL=meteora.d.ts.map