@towns-protocol/generated
Version:
## How to generate contract types
492 lines (488 loc) • 10.4 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, Signer, utils } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { ISwapRouter, ISwapRouterInterface } from "../ISwapRouter";
const _abi = [
{
type: "function",
name: "executeSwap",
inputs: [
{
name: "params",
type: "tuple",
internalType: "struct ISwapRouterBase.ExactInputParams",
components: [
{
name: "tokenIn",
type: "address",
internalType: "address",
},
{
name: "tokenOut",
type: "address",
internalType: "address",
},
{
name: "amountIn",
type: "uint256",
internalType: "uint256",
},
{
name: "minAmountOut",
type: "uint256",
internalType: "uint256",
},
{
name: "recipient",
type: "address",
internalType: "address",
},
],
},
{
name: "routerParams",
type: "tuple",
internalType: "struct ISwapRouterBase.RouterParams",
components: [
{
name: "router",
type: "address",
internalType: "address",
},
{
name: "approveTarget",
type: "address",
internalType: "address",
},
{
name: "swapData",
type: "bytes",
internalType: "bytes",
},
],
},
{
name: "poster",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "amountOut",
type: "uint256",
internalType: "uint256",
},
{
name: "protocolFee",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "payable",
},
{
type: "function",
name: "executeSwapWithPermit",
inputs: [
{
name: "params",
type: "tuple",
internalType: "struct ISwapRouterBase.ExactInputParams",
components: [
{
name: "tokenIn",
type: "address",
internalType: "address",
},
{
name: "tokenOut",
type: "address",
internalType: "address",
},
{
name: "amountIn",
type: "uint256",
internalType: "uint256",
},
{
name: "minAmountOut",
type: "uint256",
internalType: "uint256",
},
{
name: "recipient",
type: "address",
internalType: "address",
},
],
},
{
name: "routerParams",
type: "tuple",
internalType: "struct ISwapRouterBase.RouterParams",
components: [
{
name: "router",
type: "address",
internalType: "address",
},
{
name: "approveTarget",
type: "address",
internalType: "address",
},
{
name: "swapData",
type: "bytes",
internalType: "bytes",
},
],
},
{
name: "permit",
type: "tuple",
internalType: "struct ISwapRouterBase.Permit2Params",
components: [
{
name: "owner",
type: "address",
internalType: "address",
},
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
{
name: "deadline",
type: "uint256",
internalType: "uint256",
},
{
name: "signature",
type: "bytes",
internalType: "bytes",
},
],
},
{
name: "poster",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "amountOut",
type: "uint256",
internalType: "uint256",
},
{
name: "protocolFee",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "payable",
},
{
type: "function",
name: "getETHInputFees",
inputs: [
{
name: "amountIn",
type: "uint256",
internalType: "uint256",
},
{
name: "caller",
type: "address",
internalType: "address",
},
{
name: "poster",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "amountInAfterFees",
type: "uint256",
internalType: "uint256",
},
{
name: "protocolFee",
type: "uint256",
internalType: "uint256",
},
{
name: "posterFee",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getPermit2MessageHash",
inputs: [
{
name: "params",
type: "tuple",
internalType: "struct ISwapRouterBase.ExactInputParams",
components: [
{
name: "tokenIn",
type: "address",
internalType: "address",
},
{
name: "tokenOut",
type: "address",
internalType: "address",
},
{
name: "amountIn",
type: "uint256",
internalType: "uint256",
},
{
name: "minAmountOut",
type: "uint256",
internalType: "uint256",
},
{
name: "recipient",
type: "address",
internalType: "address",
},
],
},
{
name: "routerParams",
type: "tuple",
internalType: "struct ISwapRouterBase.RouterParams",
components: [
{
name: "router",
type: "address",
internalType: "address",
},
{
name: "approveTarget",
type: "address",
internalType: "address",
},
{
name: "swapData",
type: "bytes",
internalType: "bytes",
},
],
},
{
name: "poster",
type: "address",
internalType: "address",
},
{
name: "amount",
type: "uint256",
internalType: "uint256",
},
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
{
name: "deadline",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "messageHash",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getPermit2Nonce",
inputs: [
{
name: "owner",
type: "address",
internalType: "address",
},
{
name: "startNonce",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "event",
name: "FeeDistribution",
inputs: [
{
name: "token",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "protocol",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "poster",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "protocolAmount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "posterAmount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "Swap",
inputs: [
{
name: "router",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenIn",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "tokenOut",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "amountIn",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "amountOut",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "recipient",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "SwapRouterInitialized",
inputs: [
{
name: "spaceFactory",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "error",
name: "SwapRouter__InsufficientOutput",
inputs: [],
},
{
type: "error",
name: "SwapRouter__InvalidAmount",
inputs: [],
},
{
type: "error",
name: "SwapRouter__InvalidBps",
inputs: [],
},
{
type: "error",
name: "SwapRouter__InvalidRouter",
inputs: [],
},
{
type: "error",
name: "SwapRouter__NativeTokenNotSupportedWithPermit",
inputs: [],
},
{
type: "error",
name: "SwapRouter__RecipientRequired",
inputs: [],
},
{
type: "error",
name: "SwapRouter__UnexpectedETH",
inputs: [],
},
] as const;
export class ISwapRouter__factory {
static readonly abi = _abi;
static createInterface(): ISwapRouterInterface {
return new utils.Interface(_abi) as ISwapRouterInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): ISwapRouter {
return new Contract(address, _abi, signerOrProvider) as ISwapRouter;
}
}