import { Transaction } from '@mysten/sui/transactions'; import { ObjectInput } from '@interest-protocol/sui-core-sdk'; import { MemezBaseSDK } from './sdk'; import { DevClaimArgs, GetCurveDataArgs, MigrateArgs, PumpData, SdkConstructorArgs } from './types/memez.types'; import { DistributeStakeHoldersAllocationArgs, DumpArgs, NewPumpPoolArgs, NewUncheckedPumpPoolArgs, PumpArgs, QuoteArgs, QuoteDumpReturnValues, QuotePumpReturnValues, GetMetadataCapsArgs, UpdateMetadataArgs, BurnMemeArgs, UpdatePoolMetadataArgs, NewPumpPoolWithDevRevenueShareArgs } from './types/pump.types'; export declare class MemezPumpSDK extends MemezBaseSDK { #private; /** * Initiates the MemezPump SDK. * * @param args - An object containing the necessary arguments to initialize the SDK. * @param args.fullNodeUrl - The full node URL to use for the SDK. * @param args.packages - The package addresses to use for the SDK. * @param args.sharedObjects - A record of shared objects to use for the SDK. * @param args.network - The network to use for the SDK. Either `mainnet` or `testnet`. */ constructor(args?: SdkConstructorArgs | undefined | null); /** * Creates a new MemezPool using the Pump invariant. * * @param args - An object containing the necessary arguments to create a new MemezPool. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.creationSuiFee - The Sui fee to use for the creation of the MemezPool. * @param args.memeCoinTreasuryCap - The meme coin treasury cap. * @param args.totalSupply - The total supply of the meme coin. * @param args.developer - The developer address. It will be eligible for fees after migration. * @param args.firstPurchase - The first purchase in Sui. * @param args.isProtected - Whether the requires a signature from the backend to submit pump txs. * @param args.metadata - A record of social metadata of the meme coin. * @param args.configurationKey - The configuration key to use for the MemezPool. * @param args.migrationWitness - The migration witness to use for the MemezPool. * @param args.memeCoinType - The meme coin type to use for the MemezPool. * @param args.quote - The quote type of the meme coin. * @param args.burnTax - The burn tax to use for the MemezPool. * @param args.virtualLiquidity - The virtual liquidity to use for the MemezPool. * @param args.targetQuoteLiquidity - The target quote liquidity to use for the MemezPool. * @param args.liquidityProvision - The liquidity provision to use for the MemezPool. * * @returns An object containing the meme coin MetadataCap and the transaction. * @returns values.metadataCap - The meme coin MetadataCap. * @returns values.tx - The Transaction. */ newPool({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, developer, firstPurchase, metadata, configurationKey, migrationWitness, stakeHolders, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, }: NewPumpPoolArgs): Promise<{ metadataCap: { $kind: "NestedResult"; NestedResult: [number, number]; }; tx: Transaction; }>; newPoolReturnObject({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, developer, firstPurchase, metadata, configurationKey, migrationWitness, stakeHolders, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, }: NewPumpPoolArgs): Promise<{ metadataCap: { $kind: "NestedResult"; NestedResult: [number, number]; }; tx: Transaction; pool: { $kind: "NestedResult"; NestedResult: [number, number]; }; }>; newPoolWithFirstBuy({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, developer, firstPurchase, metadata, configurationKey, migrationWitness, stakeHolders, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, }: NewPumpPoolArgs & { firstPurchase: ObjectInput; }): Promise<{ metadataCap: { $kind: "NestedResult"; NestedResult: [number, number]; }; tx: Transaction; firstBuy: import("@mysten/sui/dist/cjs/transactions").TransactionResult; }>; newPoolWithDevRevenueShare({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, metadata, configurationKey, migrationWitness, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, }: NewPumpPoolWithDevRevenueShareArgs): Promise<{ metadataCap: { $kind: "NestedResult"; NestedResult: [number, number]; }; tx: Transaction; }>; newPoolWithFirstBuyAndDevRevenueShare({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, firstPurchase, metadata, configurationKey, migrationWitness, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, }: NewPumpPoolWithDevRevenueShareArgs & { firstPurchase: ObjectInput; }): Promise<{ metadataCap: { $kind: "NestedResult"; NestedResult: [number, number]; }; tx: Transaction; firstBuy: import("@mysten/sui/dist/cjs/transactions").TransactionResult; }>; newUncheckedPool({ tx, creationSuiFee, memeCoinTreasuryCap, totalSupply, isProtected, developer, firstPurchase, metadata, configurationKey, migrationWitness, stakeHolders, quoteCoinType, burnTax, virtualLiquidity, targetQuoteLiquidity, liquidityProvision, coinMetadataId, memeCoinType, }: NewUncheckedPumpPoolArgs): Promise<{ metadataCap: import("@mysten/sui/dist/cjs/transactions").TransactionResult; tx: Transaction; }>; /** * Swaps Sui for the meme coin. * * @param args - An object containing the necessary arguments to pump the meme coin into the pool. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * @param args.quoteCoin - The quote coin to sell for the meme coin. * @param args.minAmountOut - The minimum amount meme coin expected to be received. * * @returns An object containing the meme coin and the transaction. * @returns values.memeCoin - The meme coin. * @returns values.tx - The Transaction. */ pump({ tx, pool, quoteCoin, minAmountOut, referrer, signature, }: PumpArgs): Promise<{ memeCoin: import("@mysten/sui/dist/cjs/transactions").TransactionResult; tx: Transaction; }>; /** * Swaps the meme coin for Sui. * * @param args - An object containing the necessary arguments to dump the meme coin into the pool. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * @param args.memeCoin - The meme coin to sell for Sui. * @param args.minAmountOut - The minimum amount Sui expected to be received. * * @returns An object containing the Sui coin and the transaction. * @returns values.quoteCoin - The quote coin. * @returns values.tx - The Transaction. */ dump({ tx, pool, memeCoin, referrer, minAmountOut, }: DumpArgs): Promise<{ quoteCoin: import("@mysten/sui/dist/cjs/transactions").TransactionResult; tx: Transaction; }>; /** * Allows the developer to claim the first purchase coins. It can only be done after the pool migrates. * * @param args - An object containing the necessary arguments to claim the first purchase coins. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * * @returns An object containing the meme coin and the transaction. * @returns values.memeCoin - The meme coin. * @returns values.tx - The Transaction. */ devClaim({ tx, pool }: DevClaimArgs): Promise<{ memeCoin: import("@mysten/sui/dist/cjs/transactions").TransactionResult; tx: Transaction; }>; /** * Migrates the pool to DEX based on the MigrationWitness. * * @param args - An object containing the necessary arguments to migrate the pool. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * * @returns An object containing the migrator and the transaction. * @returns values.migrator - The migrator. * @returns values.tx - The Transaction. */ migrate({ tx, pool }: MigrateArgs): Promise<{ migrator: import("@mysten/sui/dist/cjs/transactions").TransactionResult; tx: Transaction; }>; /** * Distributes the stake holders allocation. It can only be done after the pool migrates. * * @param args - An object containing the necessary arguments to distribute the stake holders allocation. * @param args.tx - Sui client Transaction class to chain move calls. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * * @returns An object containing the transaction. */ distributeStakeHoldersAllocation({ tx, pool, }: DistributeStakeHoldersAllocationArgs): Promise<{ tx: Transaction; }>; /** * Quotes the amount of meme coin received after selling Sui. The swap fee is from the coin in (Sui). * * @param args - An object containing the necessary arguments to quote the amount of meme coin received after selling Sui. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * @param args.amount - The amount of Sui to sell. * * @returns An object containing the amount of meme coin received and the swap in fee. * @returns values.memeAmountOut - The amount of meme coin received. * @returns values.swapFeeIn - The swap fee in paid in Sui. */ quotePump({ pool, amount, }: QuoteArgs): Promise; /** * Quotes the amount of Sui received after selling meme coin. The swap fee is from the coin in (MemeCoin). * * @param args - An object containing the necessary arguments to quote the amount of Sui received after selling meme coin. * @param args.pool - The objectId of the MemezPool or the full parsed pool. * @param args.amount - The amount of meme coin to sell. * * @returns An object containing the amount of Sui received and the swap in fee. * @returns values.quoteAmountOut - The amount of Sui received. * @returns values.swapFeeIn - The swap fee in paid in MemeCoin. * @returns values.burnFee - The burn fee in MemeCoin. */ quoteDump({ pool, amount, }: QuoteArgs): Promise; /** * Gets the pump data for an integrator. The supply must coin the decimal houses. E.g. for Sui would be 1e9. * * @param args - An object containing the necessary arguments to get the pump data for an integrator. * @param args.configurationKey - The configuration key to find an integrator's fee configuration. * @param args.totalSupply - The total supply of the meme coin. * @param args.quote - The quote type of the meme coin. * * @returns The pump data for the integrator. */ getPumpData({ configurationKey, totalSupply, quoteCoinType, }: GetCurveDataArgs): Promise; getWalletAddress(owner: string): Promise; getMetadataCaps({ owner, nextCursor, limit, }: GetMetadataCapsArgs): Promise<{ hasNextPage: boolean; nextCursor: string | null | undefined; caps: import("./types/pump.types").MetadataCap[]; }>; updateName({ metadataCap, value, tx, }: UpdateMetadataArgs): Promise<{ tx: Transaction; }>; updateSymbol({ metadataCap, value, tx, }: UpdateMetadataArgs): Promise<{ tx: Transaction; }>; updateDescription({ metadataCap, value, tx, }: UpdateMetadataArgs): Promise<{ tx: Transaction; }>; updateIconUrl({ metadataCap, value, tx, }: UpdateMetadataArgs): Promise<{ tx: Transaction; }>; updatePoolMetadata({ pool, newMetadata, metadataCap, fieldsToRemove, tx, }: UpdatePoolMetadataArgs): Promise<{ tx: Transaction; }>; burnMeme({ ipxTreasury, memeCoin, coinType, tx, }: BurnMemeArgs): { tx: Transaction; }; } //# sourceMappingURL=pump.d.ts.map