@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
98 lines • 3.47 kB
TypeScript
import { Connection, Keypair, PublicKey } from '@solana/web3.js';
import { KaminoMarket } from '../classes';
import { UserMetadata } from '../lib';
import Decimal from 'decimal.js';
/**
* Initialize all referrer token states for a given referrer
* @param referrer
* @param kaminoMarket
*/
export declare const initAllReferrerTokenStates: ({ referrer, kaminoMarket, }: {
referrer: Keypair;
kaminoMarket: KaminoMarket;
}) => Promise<string>;
/**
* Initialize referrer state and short url
* @param connection
* @param referrer
* @param shortUrl
*/
export declare const createReferrerStateAndShortUrl: ({ connection, referrer, shortUrl, programId, }: {
connection: Connection;
referrer: Keypair;
shortUrl: string;
programId?: PublicKey;
}) => Promise<string>;
/**
* Initialize referrer state and short url
* @param connection
* @param referrer
* @param newShortUrl
*/
export declare const updateReferrerStateAndShortUrl: ({ connection, referrer, newShortUrl, programId, }: {
connection: Connection;
referrer: Keypair;
newShortUrl: string;
programId?: PublicKey;
}) => Promise<string>;
/**
* Check if short URL available - also checks if short URL is valid (ascii-alphanumeric plus '_' '-', max 32 chars)
* @param connection
* @param shortUrl
* @param programId
*/
export declare function isShortUrlAvailable(connection: Connection, shortUrl: string, programId?: PublicKey): Promise<boolean>;
/**
* Get referrer short URL address and shortUrl
* @param connection
* @param referrer
* @param programId
*/
export declare function getReferrerShortUrl(connection: Connection, referrer: PublicKey, programId?: PublicKey): Promise<[PublicKey | null, string | null]>;
/**
* Get referrer for a given Short URL
* @param connection
* @param shortUrl
* @param programId
*/
export declare function getReferrerForShortUrl(connection: Connection, shortUrl: string, programId?: PublicKey): Promise<PublicKey>;
/**
* Get referrer all UserMetadata user accounts linked to a given referrer
* @param connection
* @param referrer
* @param programId
*/
export declare function getUserMetadatasByReferrer(connection: Connection, referrer: PublicKey, programId?: PublicKey): Promise<UserMetadata[]>;
/**
* Get referrer all UserMetadata user accounts
* @param connection
* @param referrer
* @param programId
*/
export declare function getAllUserMetadatas(connection: Connection, programId?: PublicKey): Promise<UserMetadata[]>;
/**
* Get referrer all UserMetadata user accounts linked to a given referrer
* @param connection
* @param referrer
* @param programId
*/
export declare function getTotalUsersReferred(connection: Connection, referrer: PublicKey, programId?: PublicKey): Promise<number>;
export type ReferralRank = {
referrer: PublicKey;
totalUsersReferred: number;
totalEarningsUsd: Decimal;
};
/**
* Get ReferralRank array of all referrers ordered by how much they've earned in USD
* @param connection
* @param kaminoMarket
*/
export declare function getReferralsRanking(connection: Connection, kaminoMarket: KaminoMarket): Promise<ReferralRank[]>;
/**
* Get ReferralRank array of all referrers ordered by how much they've earned in USD
* @param connection
* @param user
* @param kaminoMarket
*/
export declare function getUserReferralRanking(connection: Connection, user: PublicKey, kaminoMarket: KaminoMarket): Promise<number | undefined>;
//# sourceMappingURL=operations.d.ts.map