@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
61 lines (60 loc) • 1.9 kB
TypeScript
import { Address, Hex, TransactionReceipt } from "viem";
import { BuySwapAmounts, SellSwapAmounts, PermitSingle, PoolSwapEventArgs } from "./types";
/**
* Configuration for Pinata
*/
interface PinataConfig {
jwt: string;
}
interface TokenUriParams {
metadata: {
imageUrl: string;
description: string;
websiteUrl?: string;
discordUrl?: string;
twitterUrl?: string;
telegramUrl?: string;
};
pinataConfig: PinataConfig;
}
export declare const generateTokenUri: (name: string, params: TokenUriParams) => Promise<string>;
export declare const getAmountWithSlippage: (amount: bigint | undefined, slippage: string, swapType: "EXACT_IN" | "EXACT_OUT") => bigint;
export declare const ethToMemecoin: (params: {
sender: Address;
memecoin: Address;
chainId: number;
referrer: Address | null;
swapType: "EXACT_IN" | "EXACT_OUT";
amountIn?: bigint;
amountOutMin?: bigint;
amountOut?: bigint;
amountInMax?: bigint;
}) => {
calldata: `0x${string}`;
commands: `0x${string}`;
inputs: `0x${string}`[];
};
export declare const memecoinToEthWithPermit2: (params: {
chainId: number;
memecoin: Address;
amountIn: bigint;
ethOutMin: bigint;
permitSingle: PermitSingle | undefined;
signature: Hex | undefined;
referrer: Address | null;
}) => {
calldata: `0x${string}`;
commands: `0x${string}`;
inputs: `0x${string}`[];
};
export declare const getSwapAmountsFromLog: ({ filteredPoolSwapEvent, coinAddress, chainId, }: {
filteredPoolSwapEvent: PoolSwapEventArgs;
coinAddress: Address;
chainId: number;
}) => BuySwapAmounts | SellSwapAmounts;
export declare const getSwapAmountsFromReceipt: ({ receipt, coinAddress, chainId, }: {
receipt: TransactionReceipt;
coinAddress: Address;
chainId: number;
}) => BuySwapAmounts | SellSwapAmounts;
export {};