import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export interface SynapseBridgeInterface extends utils.Interface { functions: { 'DEFAULT_ADMIN_ROLE()': FunctionFragment; 'GOVERNANCE_ROLE()': FunctionFragment; 'NODEGROUP_ROLE()': FunctionFragment; 'WETH_ADDRESS()': FunctionFragment; 'addKappas(bytes32[])': FunctionFragment; 'bridgeVersion()': FunctionFragment; 'chainGasAmount()': FunctionFragment; 'deposit(address,uint256,address,uint256)': FunctionFragment; 'depositAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)': FunctionFragment; 'getFeeBalance(address)': FunctionFragment; 'getRoleAdmin(bytes32)': FunctionFragment; 'getRoleMember(bytes32,uint256)': FunctionFragment; 'getRoleMemberCount(bytes32)': FunctionFragment; 'grantRole(bytes32,address)': FunctionFragment; 'hasRole(bytes32,address)': FunctionFragment; 'initialize()': FunctionFragment; 'kappaExists(bytes32)': FunctionFragment; 'mint(address,address,uint256,uint256,bytes32)': FunctionFragment; 'mintAndSwap(address,address,uint256,uint256,address,uint8,uint8,uint256,uint256,bytes32)': FunctionFragment; 'pause()': FunctionFragment; 'paused()': FunctionFragment; 'redeem(address,uint256,address,uint256)': FunctionFragment; 'redeemAndRemove(address,uint256,address,uint256,uint8,uint256,uint256)': FunctionFragment; 'redeemAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)': FunctionFragment; 'redeemV2(bytes32,uint256,address,uint256)': FunctionFragment; 'renounceRole(bytes32,address)': FunctionFragment; 'revokeRole(bytes32,address)': FunctionFragment; 'setChainGasAmount(uint256)': FunctionFragment; 'setWethAddress(address)': FunctionFragment; 'startBlockNumber()': FunctionFragment; 'unpause()': FunctionFragment; 'withdraw(address,address,uint256,uint256,bytes32)': FunctionFragment; 'withdrawAndRemove(address,address,uint256,uint256,address,uint8,uint256,uint256,bytes32)': FunctionFragment; 'withdrawFees(address,address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'DEFAULT_ADMIN_ROLE' | 'GOVERNANCE_ROLE' | 'NODEGROUP_ROLE' | 'WETH_ADDRESS' | 'addKappas' | 'bridgeVersion' | 'chainGasAmount' | 'deposit' | 'depositAndSwap' | 'getFeeBalance' | 'getRoleAdmin' | 'getRoleMember' | 'getRoleMemberCount' | 'grantRole' | 'hasRole' | 'initialize' | 'kappaExists' | 'mint' | 'mintAndSwap' | 'pause' | 'paused' | 'redeem' | 'redeemAndRemove' | 'redeemAndSwap' | 'redeemV2' | 'renounceRole' | 'revokeRole' | 'setChainGasAmount' | 'setWethAddress' | 'startBlockNumber' | 'unpause' | 'withdraw' | 'withdrawAndRemove' | 'withdrawFees'): FunctionFragment; encodeFunctionData(functionFragment: 'DEFAULT_ADMIN_ROLE', values?: undefined): string; encodeFunctionData(functionFragment: 'GOVERNANCE_ROLE', values?: undefined): string; encodeFunctionData(functionFragment: 'NODEGROUP_ROLE', values?: undefined): string; encodeFunctionData(functionFragment: 'WETH_ADDRESS', values?: undefined): string; encodeFunctionData(functionFragment: 'addKappas', values: [BytesLike[]]): string; encodeFunctionData(functionFragment: 'bridgeVersion', values?: undefined): string; encodeFunctionData(functionFragment: 'chainGasAmount', values?: undefined): string; encodeFunctionData(functionFragment: 'deposit', values: [string, BigNumberish, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'depositAndSwap', values: [string, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'getFeeBalance', values: [string]): string; encodeFunctionData(functionFragment: 'getRoleAdmin', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'getRoleMember', values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'getRoleMemberCount', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'grantRole', values: [BytesLike, string]): string; encodeFunctionData(functionFragment: 'hasRole', values: [BytesLike, string]): string; encodeFunctionData(functionFragment: 'initialize', values?: undefined): string; encodeFunctionData(functionFragment: 'kappaExists', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'mint', values: [string, string, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'mintAndSwap', values: [string, string, BigNumberish, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'pause', values?: undefined): string; encodeFunctionData(functionFragment: 'paused', values?: undefined): string; encodeFunctionData(functionFragment: 'redeem', values: [string, BigNumberish, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'redeemAndRemove', values: [string, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'redeemAndSwap', values: [string, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'redeemV2', values: [BytesLike, BigNumberish, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'renounceRole', values: [BytesLike, string]): string; encodeFunctionData(functionFragment: 'revokeRole', values: [BytesLike, string]): string; encodeFunctionData(functionFragment: 'setChainGasAmount', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'setWethAddress', values: [string]): string; encodeFunctionData(functionFragment: 'startBlockNumber', values?: undefined): string; encodeFunctionData(functionFragment: 'unpause', values?: undefined): string; encodeFunctionData(functionFragment: 'withdraw', values: [string, string, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'withdrawAndRemove', values: [string, string, BigNumberish, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'withdrawFees', values: [string, string]): string; decodeFunctionResult(functionFragment: 'DEFAULT_ADMIN_ROLE', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'GOVERNANCE_ROLE', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'NODEGROUP_ROLE', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'WETH_ADDRESS', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'addKappas', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'bridgeVersion', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'chainGasAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'depositAndSwap', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getFeeBalance', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getRoleAdmin', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getRoleMember', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getRoleMemberCount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'kappaExists', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'mintAndSwap', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeem', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeemAndRemove', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeemAndSwap', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeemV2', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renounceRole', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'revokeRole', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setChainGasAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setWethAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'startBlockNumber', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawAndRemove', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawFees', data: BytesLike): Result; events: { 'Paused(address)': EventFragment; 'RoleAdminChanged(bytes32,bytes32,bytes32)': EventFragment; 'RoleGranted(bytes32,address,address)': EventFragment; 'RoleRevoked(bytes32,address,address)': EventFragment; 'TokenDeposit(address,uint256,address,uint256)': EventFragment; 'TokenDepositAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)': EventFragment; 'TokenMint(address,address,uint256,uint256,bytes32)': EventFragment; 'TokenMintAndSwap(address,address,uint256,uint256,uint8,uint8,uint256,uint256,bool,bytes32)': EventFragment; 'TokenRedeem(address,uint256,address,uint256)': EventFragment; 'TokenRedeemAndRemove(address,uint256,address,uint256,uint8,uint256,uint256)': EventFragment; 'TokenRedeemAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)': EventFragment; 'TokenRedeemV2(bytes32,uint256,address,uint256)': EventFragment; 'TokenWithdraw(address,address,uint256,uint256,bytes32)': EventFragment; 'TokenWithdrawAndRemove(address,address,uint256,uint256,uint8,uint256,uint256,bool,bytes32)': EventFragment; 'Unpaused(address)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RoleAdminChanged'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RoleGranted'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenDeposit'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenDepositAndSwap'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenMint'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenMintAndSwap'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenRedeem'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenRedeemAndRemove'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenRedeemAndSwap'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenRedeemV2'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenWithdraw'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TokenWithdrawAndRemove'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment; } export interface PausedEventObject { account: string; } export declare type PausedEvent = TypedEvent<[string], PausedEventObject>; export declare type PausedEventFilter = TypedEventFilter; export interface RoleAdminChangedEventObject { role: string; previousAdminRole: string; newAdminRole: string; } export declare type RoleAdminChangedEvent = TypedEvent<[string, string, string], RoleAdminChangedEventObject>; export declare type RoleAdminChangedEventFilter = TypedEventFilter; export interface RoleGrantedEventObject { role: string; account: string; sender: string; } export declare type RoleGrantedEvent = TypedEvent<[string, string, string], RoleGrantedEventObject>; export declare type RoleGrantedEventFilter = TypedEventFilter; export interface RoleRevokedEventObject { role: string; account: string; sender: string; } export declare type RoleRevokedEvent = TypedEvent<[string, string, string], RoleRevokedEventObject>; export declare type RoleRevokedEventFilter = TypedEventFilter; export interface TokenDepositEventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; } export declare type TokenDepositEvent = TypedEvent<[string, BigNumber, string, BigNumber], TokenDepositEventObject>; export declare type TokenDepositEventFilter = TypedEventFilter; export interface TokenDepositAndSwapEventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; tokenIndexFrom: number; tokenIndexTo: number; minDy: BigNumber; deadline: BigNumber; } export declare type TokenDepositAndSwapEvent = TypedEvent<[string, BigNumber, string, BigNumber, number, number, BigNumber, BigNumber], TokenDepositAndSwapEventObject>; export declare type TokenDepositAndSwapEventFilter = TypedEventFilter; export interface TokenMintEventObject { to: string; token: string; amount: BigNumber; fee: BigNumber; kappa: string; } export declare type TokenMintEvent = TypedEvent<[string, string, BigNumber, BigNumber, string], TokenMintEventObject>; export declare type TokenMintEventFilter = TypedEventFilter; export interface TokenMintAndSwapEventObject { to: string; token: string; amount: BigNumber; fee: BigNumber; tokenIndexFrom: number; tokenIndexTo: number; minDy: BigNumber; deadline: BigNumber; swapSuccess: boolean; kappa: string; } export declare type TokenMintAndSwapEvent = TypedEvent<[string, string, BigNumber, BigNumber, number, number, BigNumber, BigNumber, boolean, string], TokenMintAndSwapEventObject>; export declare type TokenMintAndSwapEventFilter = TypedEventFilter; export interface TokenRedeemEventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; } export declare type TokenRedeemEvent = TypedEvent<[string, BigNumber, string, BigNumber], TokenRedeemEventObject>; export declare type TokenRedeemEventFilter = TypedEventFilter; export interface TokenRedeemAndRemoveEventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; swapTokenIndex: number; swapMinAmount: BigNumber; swapDeadline: BigNumber; } export declare type TokenRedeemAndRemoveEvent = TypedEvent<[string, BigNumber, string, BigNumber, number, BigNumber, BigNumber], TokenRedeemAndRemoveEventObject>; export declare type TokenRedeemAndRemoveEventFilter = TypedEventFilter; export interface TokenRedeemAndSwapEventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; tokenIndexFrom: number; tokenIndexTo: number; minDy: BigNumber; deadline: BigNumber; } export declare type TokenRedeemAndSwapEvent = TypedEvent<[string, BigNumber, string, BigNumber, number, number, BigNumber, BigNumber], TokenRedeemAndSwapEventObject>; export declare type TokenRedeemAndSwapEventFilter = TypedEventFilter; export interface TokenRedeemV2EventObject { to: string; chainId: BigNumber; token: string; amount: BigNumber; } export declare type TokenRedeemV2Event = TypedEvent<[string, BigNumber, string, BigNumber], TokenRedeemV2EventObject>; export declare type TokenRedeemV2EventFilter = TypedEventFilter; export interface TokenWithdrawEventObject { to: string; token: string; amount: BigNumber; fee: BigNumber; kappa: string; } export declare type TokenWithdrawEvent = TypedEvent<[string, string, BigNumber, BigNumber, string], TokenWithdrawEventObject>; export declare type TokenWithdrawEventFilter = TypedEventFilter; export interface TokenWithdrawAndRemoveEventObject { to: string; token: string; amount: BigNumber; fee: BigNumber; swapTokenIndex: number; swapMinAmount: BigNumber; swapDeadline: BigNumber; swapSuccess: boolean; kappa: string; } export declare type TokenWithdrawAndRemoveEvent = TypedEvent<[string, string, BigNumber, BigNumber, number, BigNumber, BigNumber, boolean, string], TokenWithdrawAndRemoveEventObject>; export declare type TokenWithdrawAndRemoveEventFilter = TypedEventFilter; export interface UnpausedEventObject { account: string; } export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; export declare type UnpausedEventFilter = TypedEventFilter; export interface SynapseBridge extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: SynapseBridgeInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; GOVERNANCE_ROLE(overrides?: CallOverrides): Promise<[string]>; NODEGROUP_ROLE(overrides?: CallOverrides): Promise<[string]>; WETH_ADDRESS(overrides?: CallOverrides): Promise<[string]>; addKappas(kappas: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; bridgeVersion(overrides?: CallOverrides): Promise<[BigNumber]>; chainGasAmount(overrides?: CallOverrides): Promise<[BigNumber]>; deposit(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getFeeBalance(tokenAddress: string, overrides?: CallOverrides): Promise<[BigNumber]>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>; getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<[string]>; getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>; initialize(overrides?: Overrides & { from?: string; }): Promise; kappaExists(kappa: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; mint(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; mintAndSwap(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; pause(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise<[boolean]>; redeem(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndRemove(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemV2(to: BytesLike, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setChainGasAmount(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setWethAddress(_wethAddress: string, overrides?: Overrides & { from?: string; }): Promise; startBlockNumber(overrides?: CallOverrides): Promise<[BigNumber]>; unpause(overrides?: Overrides & { from?: string; }): Promise; withdraw(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAndRemove(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawFees(token: string, to: string, overrides?: Overrides & { from?: string; }): Promise; }; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; GOVERNANCE_ROLE(overrides?: CallOverrides): Promise; NODEGROUP_ROLE(overrides?: CallOverrides): Promise; WETH_ADDRESS(overrides?: CallOverrides): Promise; addKappas(kappas: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; bridgeVersion(overrides?: CallOverrides): Promise; chainGasAmount(overrides?: CallOverrides): Promise; deposit(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getFeeBalance(tokenAddress: string, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise; getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; kappaExists(kappa: BytesLike, overrides?: CallOverrides): Promise; mint(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; mintAndSwap(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; pause(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; redeem(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndRemove(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemV2(to: BytesLike, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setChainGasAmount(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setWethAddress(_wethAddress: string, overrides?: Overrides & { from?: string; }): Promise; startBlockNumber(overrides?: CallOverrides): Promise; unpause(overrides?: Overrides & { from?: string; }): Promise; withdraw(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAndRemove(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawFees(token: string, to: string, overrides?: Overrides & { from?: string; }): Promise; callStatic: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; GOVERNANCE_ROLE(overrides?: CallOverrides): Promise; NODEGROUP_ROLE(overrides?: CallOverrides): Promise; WETH_ADDRESS(overrides?: CallOverrides): Promise; addKappas(kappas: BytesLike[], overrides?: CallOverrides): Promise; bridgeVersion(overrides?: CallOverrides): Promise; chainGasAmount(overrides?: CallOverrides): Promise; deposit(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: CallOverrides): Promise; depositAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides): Promise; getFeeBalance(tokenAddress: string, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise; getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(overrides?: CallOverrides): Promise; kappaExists(kappa: BytesLike, overrides?: CallOverrides): Promise; mint(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: CallOverrides): Promise; mintAndSwap(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, kappa: BytesLike, overrides?: CallOverrides): Promise; pause(overrides?: CallOverrides): Promise; paused(overrides?: CallOverrides): Promise; redeem(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: CallOverrides): Promise; redeemAndRemove(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, overrides?: CallOverrides): Promise; redeemAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides): Promise; redeemV2(to: BytesLike, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; setChainGasAmount(amount: BigNumberish, overrides?: CallOverrides): Promise; setWethAddress(_wethAddress: string, overrides?: CallOverrides): Promise; startBlockNumber(overrides?: CallOverrides): Promise; unpause(overrides?: CallOverrides): Promise; withdraw(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: CallOverrides): Promise; withdrawAndRemove(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, kappa: BytesLike, overrides?: CallOverrides): Promise; withdrawFees(token: string, to: string, overrides?: CallOverrides): Promise; }; filters: { 'Paused(address)'(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; 'RoleAdminChanged(bytes32,bytes32,bytes32)'(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; 'RoleGranted(bytes32,address,address)'(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; 'RoleRevoked(bytes32,address,address)'(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; 'TokenDeposit(address,uint256,address,uint256)'(to?: string | null, chainId?: null, token?: null, amount?: null): TokenDepositEventFilter; TokenDeposit(to?: string | null, chainId?: null, token?: null, amount?: null): TokenDepositEventFilter; 'TokenDepositAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)'(to?: string | null, chainId?: null, token?: null, amount?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null): TokenDepositAndSwapEventFilter; TokenDepositAndSwap(to?: string | null, chainId?: null, token?: null, amount?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null): TokenDepositAndSwapEventFilter; 'TokenMint(address,address,uint256,uint256,bytes32)'(to?: string | null, token?: null, amount?: null, fee?: null, kappa?: BytesLike | null): TokenMintEventFilter; TokenMint(to?: string | null, token?: null, amount?: null, fee?: null, kappa?: BytesLike | null): TokenMintEventFilter; 'TokenMintAndSwap(address,address,uint256,uint256,uint8,uint8,uint256,uint256,bool,bytes32)'(to?: string | null, token?: null, amount?: null, fee?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null, swapSuccess?: null, kappa?: BytesLike | null): TokenMintAndSwapEventFilter; TokenMintAndSwap(to?: string | null, token?: null, amount?: null, fee?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null, swapSuccess?: null, kappa?: BytesLike | null): TokenMintAndSwapEventFilter; 'TokenRedeem(address,uint256,address,uint256)'(to?: string | null, chainId?: null, token?: null, amount?: null): TokenRedeemEventFilter; TokenRedeem(to?: string | null, chainId?: null, token?: null, amount?: null): TokenRedeemEventFilter; 'TokenRedeemAndRemove(address,uint256,address,uint256,uint8,uint256,uint256)'(to?: string | null, chainId?: null, token?: null, amount?: null, swapTokenIndex?: null, swapMinAmount?: null, swapDeadline?: null): TokenRedeemAndRemoveEventFilter; TokenRedeemAndRemove(to?: string | null, chainId?: null, token?: null, amount?: null, swapTokenIndex?: null, swapMinAmount?: null, swapDeadline?: null): TokenRedeemAndRemoveEventFilter; 'TokenRedeemAndSwap(address,uint256,address,uint256,uint8,uint8,uint256,uint256)'(to?: string | null, chainId?: null, token?: null, amount?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null): TokenRedeemAndSwapEventFilter; TokenRedeemAndSwap(to?: string | null, chainId?: null, token?: null, amount?: null, tokenIndexFrom?: null, tokenIndexTo?: null, minDy?: null, deadline?: null): TokenRedeemAndSwapEventFilter; 'TokenRedeemV2(bytes32,uint256,address,uint256)'(to?: BytesLike | null, chainId?: null, token?: null, amount?: null): TokenRedeemV2EventFilter; TokenRedeemV2(to?: BytesLike | null, chainId?: null, token?: null, amount?: null): TokenRedeemV2EventFilter; 'TokenWithdraw(address,address,uint256,uint256,bytes32)'(to?: string | null, token?: null, amount?: null, fee?: null, kappa?: BytesLike | null): TokenWithdrawEventFilter; TokenWithdraw(to?: string | null, token?: null, amount?: null, fee?: null, kappa?: BytesLike | null): TokenWithdrawEventFilter; 'TokenWithdrawAndRemove(address,address,uint256,uint256,uint8,uint256,uint256,bool,bytes32)'(to?: string | null, token?: null, amount?: null, fee?: null, swapTokenIndex?: null, swapMinAmount?: null, swapDeadline?: null, swapSuccess?: null, kappa?: BytesLike | null): TokenWithdrawAndRemoveEventFilter; TokenWithdrawAndRemove(to?: string | null, token?: null, amount?: null, fee?: null, swapTokenIndex?: null, swapMinAmount?: null, swapDeadline?: null, swapSuccess?: null, kappa?: BytesLike | null): TokenWithdrawAndRemoveEventFilter; 'Unpaused(address)'(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; }; estimateGas: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; GOVERNANCE_ROLE(overrides?: CallOverrides): Promise; NODEGROUP_ROLE(overrides?: CallOverrides): Promise; WETH_ADDRESS(overrides?: CallOverrides): Promise; addKappas(kappas: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; bridgeVersion(overrides?: CallOverrides): Promise; chainGasAmount(overrides?: CallOverrides): Promise; deposit(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getFeeBalance(tokenAddress: string, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise; getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; kappaExists(kappa: BytesLike, overrides?: CallOverrides): Promise; mint(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; mintAndSwap(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; pause(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; redeem(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndRemove(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemV2(to: BytesLike, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setChainGasAmount(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setWethAddress(_wethAddress: string, overrides?: Overrides & { from?: string; }): Promise; startBlockNumber(overrides?: CallOverrides): Promise; unpause(overrides?: Overrides & { from?: string; }): Promise; withdraw(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAndRemove(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawFees(token: string, to: string, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; GOVERNANCE_ROLE(overrides?: CallOverrides): Promise; NODEGROUP_ROLE(overrides?: CallOverrides): Promise; WETH_ADDRESS(overrides?: CallOverrides): Promise; addKappas(kappas: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; bridgeVersion(overrides?: CallOverrides): Promise; chainGasAmount(overrides?: CallOverrides): Promise; deposit(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getFeeBalance(tokenAddress: string, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise; getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; kappaExists(kappa: BytesLike, overrides?: CallOverrides): Promise; mint(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; mintAndSwap(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; pause(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; redeem(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndRemove(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemAndSwap(to: string, chainId: BigNumberish, token: string, amount: BigNumberish, tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemV2(to: BytesLike, chainId: BigNumberish, token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setChainGasAmount(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setWethAddress(_wethAddress: string, overrides?: Overrides & { from?: string; }): Promise; startBlockNumber(overrides?: CallOverrides): Promise; unpause(overrides?: Overrides & { from?: string; }): Promise; withdraw(to: string, token: string, amount: BigNumberish, fee: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAndRemove(to: string, token: string, amount: BigNumberish, fee: BigNumberish, pool: string, swapTokenIndex: BigNumberish, swapMinAmount: BigNumberish, swapDeadline: BigNumberish, kappa: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawFees(token: string, to: string, overrides?: Overrides & { from?: string; }): Promise; }; }