///
import BN from "bn.js";
import { ContractOptions } from "web3-eth-contract";
import { EventLog } from "web3-core";
import { EventEmitter } from "events";
import { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export declare type TokenPurchase = ContractEventLog<{
buyer: string;
eth_sold: string;
tokens_bought: string;
0: string;
1: string;
2: string;
}>;
export declare type EthPurchase = ContractEventLog<{
buyer: string;
tokens_sold: string;
eth_bought: string;
0: string;
1: string;
2: string;
}>;
export declare type AddLiquidity = ContractEventLog<{
provider: string;
eth_amount: string;
token_amount: string;
0: string;
1: string;
2: string;
}>;
export declare type RemoveLiquidity = ContractEventLog<{
provider: string;
eth_amount: string;
token_amount: string;
0: string;
1: string;
2: string;
}>;
export declare type Transfer = ContractEventLog<{
_from: string;
_to: string;
_value: string;
0: string;
1: string;
2: string;
}>;
export declare type Approval = ContractEventLog<{
_owner: string;
_spender: string;
_value: string;
0: string;
1: string;
2: string;
}>;
export interface UniswapExchangeAbi extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): UniswapExchangeAbi;
clone(): UniswapExchangeAbi;
methods: {
setup(token_addr: string): NonPayableTransactionObject;
addLiquidity(min_liquidity: number | string | BN, max_tokens: number | string | BN, deadline: number | string | BN): PayableTransactionObject;
removeLiquidity(amount: number | string | BN, min_eth: number | string | BN, min_tokens: number | string | BN, deadline: number | string | BN): NonPayableTransactionObject<{
out_a: string;
out_b: string;
0: string;
1: string;
}>;
__default__(): PayableTransactionObject;
ethToTokenSwapInput(min_tokens: number | string | BN, deadline: number | string | BN): PayableTransactionObject;
ethToTokenTransferInput(min_tokens: number | string | BN, deadline: number | string | BN, recipient: string): PayableTransactionObject;
ethToTokenSwapOutput(tokens_bought: number | string | BN, deadline: number | string | BN): PayableTransactionObject;
ethToTokenTransferOutput(tokens_bought: number | string | BN, deadline: number | string | BN, recipient: string): PayableTransactionObject;
tokenToEthSwapInput(tokens_sold: number | string | BN, min_eth: number | string | BN, deadline: number | string | BN): NonPayableTransactionObject;
tokenToEthTransferInput(tokens_sold: number | string | BN, min_eth: number | string | BN, deadline: number | string | BN, recipient: string): NonPayableTransactionObject;
tokenToEthSwapOutput(eth_bought: number | string | BN, max_tokens: number | string | BN, deadline: number | string | BN): NonPayableTransactionObject;
tokenToEthTransferOutput(eth_bought: number | string | BN, max_tokens: number | string | BN, deadline: number | string | BN, recipient: string): NonPayableTransactionObject;
tokenToTokenSwapInput(tokens_sold: number | string | BN, min_tokens_bought: number | string | BN, min_eth_bought: number | string | BN, deadline: number | string | BN, token_addr: string): NonPayableTransactionObject;
tokenToTokenTransferInput(tokens_sold: number | string | BN, min_tokens_bought: number | string | BN, min_eth_bought: number | string | BN, deadline: number | string | BN, recipient: string, token_addr: string): NonPayableTransactionObject;
tokenToTokenSwapOutput(tokens_bought: number | string | BN, max_tokens_sold: number | string | BN, max_eth_sold: number | string | BN, deadline: number | string | BN, token_addr: string): NonPayableTransactionObject;
tokenToTokenTransferOutput(tokens_bought: number | string | BN, max_tokens_sold: number | string | BN, max_eth_sold: number | string | BN, deadline: number | string | BN, recipient: string, token_addr: string): NonPayableTransactionObject;
tokenToExchangeSwapInput(tokens_sold: number | string | BN, min_tokens_bought: number | string | BN, min_eth_bought: number | string | BN, deadline: number | string | BN, exchange_addr: string): NonPayableTransactionObject;
tokenToExchangeTransferInput(tokens_sold: number | string | BN, min_tokens_bought: number | string | BN, min_eth_bought: number | string | BN, deadline: number | string | BN, recipient: string, exchange_addr: string): NonPayableTransactionObject;
tokenToExchangeSwapOutput(tokens_bought: number | string | BN, max_tokens_sold: number | string | BN, max_eth_sold: number | string | BN, deadline: number | string | BN, exchange_addr: string): NonPayableTransactionObject;
tokenToExchangeTransferOutput(tokens_bought: number | string | BN, max_tokens_sold: number | string | BN, max_eth_sold: number | string | BN, deadline: number | string | BN, recipient: string, exchange_addr: string): NonPayableTransactionObject;
getEthToTokenInputPrice(eth_sold: number | string | BN): NonPayableTransactionObject;
getEthToTokenOutputPrice(tokens_bought: number | string | BN): NonPayableTransactionObject;
getTokenToEthInputPrice(tokens_sold: number | string | BN): NonPayableTransactionObject;
getTokenToEthOutputPrice(eth_bought: number | string | BN): NonPayableTransactionObject;
tokenAddress(): NonPayableTransactionObject;
factoryAddress(): NonPayableTransactionObject;
balanceOf(_owner: string): NonPayableTransactionObject;
transfer(_to: string, _value: number | string | BN): NonPayableTransactionObject;
transferFrom(_from: string, _to: string, _value: number | string | BN): NonPayableTransactionObject;
approve(_spender: string, _value: number | string | BN): NonPayableTransactionObject;
allowance(_owner: string, _spender: string): NonPayableTransactionObject;
name(): NonPayableTransactionObject;
symbol(): NonPayableTransactionObject;
decimals(): NonPayableTransactionObject;
totalSupply(): NonPayableTransactionObject;
};
events: {
TokenPurchase(cb?: Callback): EventEmitter;
TokenPurchase(options?: EventOptions, cb?: Callback): EventEmitter;
EthPurchase(cb?: Callback): EventEmitter;
EthPurchase(options?: EventOptions, cb?: Callback): EventEmitter;
AddLiquidity(cb?: Callback): EventEmitter;
AddLiquidity(options?: EventOptions, cb?: Callback): EventEmitter;
RemoveLiquidity(cb?: Callback): EventEmitter;
RemoveLiquidity(options?: EventOptions, cb?: Callback): EventEmitter;
Transfer(cb?: Callback): EventEmitter;
Transfer(options?: EventOptions, cb?: Callback): EventEmitter;
Approval(cb?: Callback): EventEmitter;
Approval(options?: EventOptions, cb?: Callback): EventEmitter;
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
once(event: "TokenPurchase", cb: Callback): void;
once(event: "TokenPurchase", options: EventOptions, cb: Callback): void;
once(event: "EthPurchase", cb: Callback): void;
once(event: "EthPurchase", options: EventOptions, cb: Callback): void;
once(event: "AddLiquidity", cb: Callback): void;
once(event: "AddLiquidity", options: EventOptions, cb: Callback): void;
once(event: "RemoveLiquidity", cb: Callback): void;
once(event: "RemoveLiquidity", options: EventOptions, cb: Callback): void;
once(event: "Transfer", cb: Callback): void;
once(event: "Transfer", options: EventOptions, cb: Callback): void;
once(event: "Approval", cb: Callback): void;
once(event: "Approval", options: EventOptions, cb: Callback): void;
}