@flaunch/sdk
Version:
Flaunch SDK to easily interact with the Flaunch protocol
53 lines • 2.32 kB
TypeScript
import { Address, Hex } from "viem";
import { FlaunchVersion } from "../types";
/**
* Backend class for interacting with Flaunch protocol for generating hookData with signature for swaps.
* Doesn't require any publicClient or walletClient to be initialized.
*/
export declare class FlaunchBackend {
signerPrivateKey: Hex;
readonly chainId: number;
constructor(signerPrivateKey: Hex, chainId: number);
/**
* Generates the hookData for swaps when TrustedSigner is enabled for a coin during fair launch
*
* @param userWallet - The wallet address to generate a signature for
* @param coinAddress - The address of the coin to generate a signature for
* @param deadlineFromNowInSeconds - The deadline from now in seconds
* @param version - The version to get the position manager address for, defaults to the latest version if undefined
* @param referrer - (optional) The referrer address for the swap
* @return The hookData, deadline and signature
*/
generateHookDataWithSignature({ userWallet, coinAddress, deadlineFromNowInSeconds, version, referrer, }: {
userWallet: Address;
coinAddress: Address;
deadlineFromNowInSeconds: number;
version?: FlaunchVersion;
referrer?: Address;
}): Promise<{
hookData: Hex;
deadline: number;
signature: Hex;
}>;
/**
* Gets the position manager address for a given version
* @param version - The version to get the position manager address for, defaults to the latest version if undefined
*/
getPositionManagerAddress(version?: FlaunchVersion): `0x${string}`;
}
/**
* Generates a signature for a given wallet, poolId, deadline and private key.
*
* @param userWallet The wallet address to generate a signature for
* @param poolId The pool id that this signature is valid for (as hex string)
* @param deadline The deadline for the signature
* @param privateKey The private key to use to generate the signature (as hex string)
* @return The encoded signature as hex string
*/
export declare const generateSignatureRaw: ({ userWallet, poolId, deadline, privateKey, }: {
userWallet: Address;
poolId: Hex;
deadline: bigint;
privateKey: Hex;
}) => Promise<Hex>;
//# sourceMappingURL=FlaunchBackend.d.ts.map