import type { AugmentedProvider, TransactionEnvelope } from "@saberhq/solana-contrib"; import type { TokenAmount, u64 } from "@saberhq/token-utils"; import type { AccountInfo, PublicKey, Signer } from "@solana/web3.js"; import type { MinterData, MintWrapperData, MintWrapperProgram } from "../../programs/mintWrapper"; import type { QuarrySDK } from "../../sdk"; import type { PendingMintAndWrapper, PendingMintWrapper } from "./types"; export declare class MintWrapper { readonly sdk: QuarrySDK; readonly program: MintWrapperProgram; constructor(sdk: QuarrySDK); get provider(): AugmentedProvider; newWrapperAndMintV1({ mintKP, decimals, ...newWrapperArgs }: { mintKP?: Signer; decimals?: number; hardcap: u64; baseKP?: Signer; tokenProgram?: PublicKey; admin?: PublicKey; payer?: PublicKey; }): Promise; newWrapperV1({ hardcap, tokenMint, baseKP, tokenProgram, admin, payer, }: { hardcap: u64; tokenMint: PublicKey; baseKP?: Signer; tokenProgram?: PublicKey; admin?: PublicKey; payer?: PublicKey; }): Promise; newWrapper({ hardcap, tokenMint, baseKP, tokenProgram, admin, payer, }: { hardcap: u64; tokenMint: PublicKey; baseKP?: Signer; tokenProgram?: PublicKey; admin?: PublicKey; payer?: PublicKey; }): Promise; newWrapperAndMint({ mintKP, decimals, ...newWrapperArgs }: { mintKP?: Signer; decimals?: number; hardcap: u64; baseKP?: Signer; tokenProgram?: PublicKey; admin?: PublicKey; payer?: PublicKey; }): Promise; /** * Fetches info on a Mint Wrapper. * @param minter * @returns */ fetchMintWrapper(wrapper: PublicKey): Promise; /** * Fetches info on a minter. * @param minter * @returns */ fetchMinter(wrapper: PublicKey, authority: PublicKey): Promise; newMinterV1(wrapper: PublicKey, authority: PublicKey): Promise; newMinter(wrapper: PublicKey, authority: PublicKey): Promise; /** * Updates a minter's allowance. * @param minter * @param allowance * @returns */ minterUpdate(wrapper: PublicKey, authority: PublicKey, allowance: u64): Promise; /** * Creates a new Minter with an allowance. * @param wrapper * @param authority * @param allowance * @returns */ newMinterWithAllowance(wrapper: PublicKey, authority: PublicKey, allowance: u64): Promise; transferAdmin(wrapper: PublicKey, nextAdmin: PublicKey): TransactionEnvelope; acceptAdmin(wrapper: PublicKey): TransactionEnvelope; /** * Mints tokens to an address as a Minter on the Mint Wrapper. */ performMintTo({ amount, mintWrapper, minterAuthority, destOwner, }: { amount: TokenAmount; mintWrapper: PublicKey; minterAuthority?: PublicKey; destOwner?: PublicKey; }): Promise; /** * Performs a mint of tokens to an account. * @returns */ performMint({ amount, minter, }: { amount: TokenAmount; minter: { accountId: PublicKey; accountInfo: AccountInfo; }; }): Promise; /** * Transfer mint authority from mintWrapper to new authority. * @returns */ transferAuthority({ mintWrapper, authority, }: { mintWrapper: PublicKey; authority: PublicKey; }): Promise; } //# sourceMappingURL=mintWrapper.d.ts.map