UNPKG

@faktoryfun/core-sdk

Version:

The official SDK for interacting with Faktory tokens and DEX contracts

138 lines (137 loc) 4.92 kB
import { AnchorMode, PostConditionMode } from "@stacks/transactions"; import type { UIntCV, ContractPrincipalCV } from "@stacks/transactions"; import type { FaktorySDKConfig, ReadResponse, TokenDeploymentInput, TokenDeploymentResponse, TokenTradesResponse, TransferVerification, VerifiedTokensResponse } from "./types"; export declare class FaktorySDK { SBTC_CONTRACT: { mainnet: { address: string; name: string; assetName: string; }; testnet: { address: string; name: string; assetName: string; }; devnet: { address: string; name: string; assetName: string; }; mocknet: { address: string; name: string; assetName: string; }; }; private readonly apiHost; private readonly apiKey; private readonly network; private readonly hiroApiKey?; constructor(config: FaktorySDKConfig); private fetch; getTokenDeployParams(input: TokenDeploymentInput): Promise<TokenDeploymentResponse>; getBuyParams({ dexContract, inAmount, // amount is in STX or BTC units senderAddress, slippage, }: { dexContract: string; inAmount: number; senderAddress: string; slippage?: number; }): Promise<{ contractAddress: string; contractName: string; functionName: string; functionArgs: Array<UIntCV | ContractPrincipalCV>; network: import("@stacks/network").StacksNetwork; anchorMode: AnchorMode; postConditionMode: PostConditionMode; postConditions: (import("@stacks/transactions").FungiblePostCondition | import("@stacks/transactions").STXPostCondition)[]; }>; getSellParams({ dexContract, amount, // amount is in TOKEN units senderAddress, slippage, }: { dexContract: string; amount: number; senderAddress: string; slippage?: number; }): Promise<{ contractAddress: string; contractName: string; functionName: string; functionArgs: Array<UIntCV | ContractPrincipalCV>; network: import("@stacks/network").StacksNetwork; anchorMode: AnchorMode; postConditionMode: PostConditionMode; postConditions: (import("@stacks/transactions").FungiblePostCondition | import("@stacks/transactions").STXPostCondition)[]; }>; private isExternalDex; getIn(dexContract: string, senderAddress: string, stx: number): Promise<ReadResponse>; getOut(dexContract: string, senderAddress: string, amount: number): Promise<ReadResponse>; getOpen(dexContract: string, senderAddress: string): Promise<ReadResponse>; getVerifiedTokens(options?: { search?: string; sortOrder?: string; page?: number; limit?: number; daoOnly?: boolean; }): Promise<VerifiedTokensResponse>; getDaoTokens(options?: { search?: string; sortOrder?: string; page?: number; limit?: number; }): Promise<VerifiedTokensResponse>; private getTokenInfo; verifyTransfer(tokenAddress: string): Promise<TransferVerification>; getToken(dexContract: string): Promise<{ success: boolean; data: { id: string; name: string; symbol: string; description: string; tokenContract: string; dexContract: string; txId: string | null; targetAmm: string; supply: number; decimals: number; targetStx: number; progress: number; price: number; price24hChanges: number; tradingVolume: number; holders: number; tokenToDex: string; tokenToDeployer: string; stxToDex: number; stxBuyFirstFee: number; logoUrl: string | null; mediaUrl: string | null; uri: string | null; twitter: string | null; website: string | null; telegram: string | null; discord: string | null; chatCount: number; txsCount: number; creatorAddress: string; deployedAt: string; tokenHash: string; tokenVerified: number; dexHash: string; dexVerified: number; tokenVerifiedAt: string; dexVerifiedAt: string; status: string; tokenChainhookUuid: string | null; tradingHookUuid: string | null; lastBuyHash: string | null; daoToken: boolean; priceUsd?: number; volumeUsd?: number; marketCap?: number; denomination: string; }; }>; getTokenTrades(tokenContract: string): Promise<TokenTradesResponse>; }