/* Generated by ts-generator ver. 0.0.8 */ /* tslint:disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction } from 'ethers'; import { Contract, ContractTransaction, Overrides, CallOverrides } from '@ethersproject/contracts'; import {BytesLike} from '@ethersproject/bytes'; import {Listener, Provider} from '@ethersproject/providers'; import {FunctionFragment, EventFragment, Result} from '@ethersproject/abi'; interface ObligationInterface extends ethers.utils.Interface { functions: { 'allWriters()': FunctionFragment; 'allowance(address,address)': FunctionFragment; 'approve(address,uint256)': FunctionFragment; 'available(address)': FunctionFragment; 'balanceOf(address)': FunctionFragment; 'calculateAmountIn(uint256)': FunctionFragment; 'calculateAmountOut(uint256)': FunctionFragment; 'canExit()': FunctionFragment; 'decimals()': FunctionFragment; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)': FunctionFragment; 'expiryTime()': FunctionFragment; 'getBtcAddress(address)': FunctionFragment; 'getDetails()': FunctionFragment; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)': FunctionFragment; 'mintToPool(address,uint256)': FunctionFragment; 'mintToWriter(address,uint256)': FunctionFragment; 'name()': FunctionFragment; 'obligations(address)': FunctionFragment; 'option()': FunctionFragment; 'owner()': FunctionFragment; 'referee()': FunctionFragment; 'renounceOwnership()': FunctionFragment; 'requestExercise(address,uint256)': FunctionFragment; 'setBtcAddress(bytes20,uint8)': FunctionFragment; 'strikePrice()': FunctionFragment; 'symbol()': FunctionFragment; 'totalSupply()': FunctionFragment; 'transfer(address,uint256)': FunctionFragment; 'transferFrom(address,address,uint256)': FunctionFragment; 'transferOwnership(address)': FunctionFragment; 'treasury()': FunctionFragment; 'uniswap()': FunctionFragment; 'windowSize()': FunctionFragment; 'withdraw(uint256,address)': FunctionFragment; }; encodeFunctionData( functionFragment: 'allWriters', values?: undefined ): string; encodeFunctionData( functionFragment: 'allowance', values: [string, string] ): string; encodeFunctionData( functionFragment: 'approve', values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: 'available', values: [string]): string; encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; encodeFunctionData( functionFragment: 'calculateAmountIn', values: [BigNumberish] ): string; encodeFunctionData( functionFragment: 'calculateAmountOut', values: [BigNumberish] ): string; encodeFunctionData(functionFragment: 'canExit', values?: undefined): string; encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; encodeFunctionData( functionFragment: 'executeExercise', values: [ BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: 'expiryTime', values?: undefined ): string; encodeFunctionData( functionFragment: 'getBtcAddress', values: [string] ): string; encodeFunctionData( functionFragment: 'getDetails', values?: undefined ): string; encodeFunctionData( functionFragment: 'initialize', values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, string, string, string, string ] ): string; encodeFunctionData( functionFragment: 'mintToPool', values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'mintToWriter', values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'obligations', values: [string]): string; encodeFunctionData(functionFragment: 'option', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'referee', values?: undefined): string; encodeFunctionData( functionFragment: 'renounceOwnership', values?: undefined ): string; encodeFunctionData( functionFragment: 'requestExercise', values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'setBtcAddress', values: [BytesLike, BigNumberish] ): string; encodeFunctionData( functionFragment: 'strikePrice', values?: undefined ): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; encodeFunctionData( functionFragment: 'totalSupply', values?: undefined ): string; encodeFunctionData( functionFragment: 'transfer', values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'transferFrom', values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'transferOwnership', values: [string] ): string; encodeFunctionData(functionFragment: 'treasury', values?: undefined): string; encodeFunctionData(functionFragment: 'uniswap', values?: undefined): string; encodeFunctionData( functionFragment: 'windowSize', values?: undefined ): string; encodeFunctionData( functionFragment: 'withdraw', values: [BigNumberish, string] ): string; decodeFunctionResult(functionFragment: 'allWriters', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'available', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'calculateAmountIn', data: BytesLike ): Result; decodeFunctionResult( functionFragment: 'calculateAmountOut', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'canExit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'executeExercise', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'expiryTime', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'getBtcAddress', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'getDetails', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'mintToPool', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'mintToWriter', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'obligations', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'option', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'referee', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'renounceOwnership', data: BytesLike ): Result; decodeFunctionResult( functionFragment: 'requestExercise', data: BytesLike ): Result; decodeFunctionResult( functionFragment: 'setBtcAddress', data: BytesLike ): Result; decodeFunctionResult( functionFragment: 'strikePrice', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'totalSupply', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result; decodeFunctionResult( functionFragment: 'transferFrom', data: BytesLike ): Result; decodeFunctionResult( functionFragment: 'transferOwnership', data: BytesLike ): Result; decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'uniswap', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'windowSize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; events: { 'Approval(address,address,uint256)': EventFragment; 'ExecuteExercise(address,address,uint256)': EventFragment; 'OwnershipTransferred(address,address)': EventFragment; 'Refund(address,uint256)': EventFragment; 'RequestExercise(address,address,bytes32,uint256)': EventFragment; 'Transfer(address,address,uint256)': EventFragment; 'Withdraw(address,address,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ExecuteExercise'): EventFragment; getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Refund'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RequestExercise'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; } export class Obligation extends Contract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; on(event: EventFilter | string, listener: Listener): this; once(event: EventFilter | string, listener: Listener): this; addListener(eventName: EventFilter | string, listener: Listener): this; removeAllListeners(eventName: EventFilter | string): this; removeListener(eventName: any, listener: Listener): this; interface: ObligationInterface; functions: { allWriters( overrides?: CallOverrides ): Promise<{ 0: string[]; }>; 'allWriters()'( overrides?: CallOverrides ): Promise<{ 0: string[]; }>; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'allowance(address,address)'( owner: string, spender: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'approve(address,uint256)'( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; available( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'available(address)'( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; balanceOf( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'balanceOf(address)'( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; calculateAmountIn( satoshis: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'calculateAmountIn(uint256)'( satoshis: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; calculateAmountOut( amount: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'calculateAmountOut(uint256)'( amount: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; canExit(overrides?: Overrides): Promise; 'canExit()'(overrides?: Overrides): Promise; decimals( overrides?: CallOverrides ): Promise<{ 0: number; }>; 'decimals()'( overrides?: CallOverrides ): Promise<{ 0: number; }>; executeExercise( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)'( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; expiryTime( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'expiryTime()'( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; getBtcAddress( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; 'getBtcAddress(address)'( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; getDetails( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; 'getDetails()'( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; initialize( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)'( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; mintToPool( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToPool(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; mintToWriter( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToWriter(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; name( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'name()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; obligations( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'obligations(address)'( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; option( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'option()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; owner( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'owner()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; referee( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'referee()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; renounceOwnership(overrides?: Overrides): Promise; 'renounceOwnership()'(overrides?: Overrides): Promise; requestExercise( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; 'requestExercise(address,uint256)'( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; setBtcAddress( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; 'setBtcAddress(bytes20,uint8)'( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; strikePrice( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'strikePrice()'( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; symbol( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'symbol()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; totalSupply( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'totalSupply()'( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transfer(address,uint256)'( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transferFrom(address,address,uint256)'( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferOwnership( newOwner: string, overrides?: Overrides ): Promise; 'transferOwnership(address)'( newOwner: string, overrides?: Overrides ): Promise; treasury( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'treasury()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; uniswap( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'uniswap()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; windowSize( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 'windowSize()'( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; withdraw( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; 'withdraw(uint256,address)'( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; }; allWriters(overrides?: CallOverrides): Promise; 'allWriters()'(overrides?: CallOverrides): Promise; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; 'allowance(address,address)'( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'approve(address,uint256)'( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; available(account: string, overrides?: CallOverrides): Promise; 'available(address)'( account: string, overrides?: CallOverrides ): Promise; balanceOf(account: string, overrides?: CallOverrides): Promise; 'balanceOf(address)'( account: string, overrides?: CallOverrides ): Promise; calculateAmountIn( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountIn(uint256)'( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; calculateAmountOut( amount: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountOut(uint256)'( amount: BigNumberish, overrides?: CallOverrides ): Promise; canExit(overrides?: Overrides): Promise; 'canExit()'(overrides?: Overrides): Promise; decimals(overrides?: CallOverrides): Promise; 'decimals()'(overrides?: CallOverrides): Promise; executeExercise( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)'( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; expiryTime(overrides?: CallOverrides): Promise; 'expiryTime()'(overrides?: CallOverrides): Promise; getBtcAddress( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; 'getBtcAddress(address)'( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; getDetails( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; 'getDetails()'( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; initialize( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)'( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; mintToPool( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToPool(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; mintToWriter( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToWriter(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; name(overrides?: CallOverrides): Promise; 'name()'(overrides?: CallOverrides): Promise; obligations(account: string, overrides?: CallOverrides): Promise; 'obligations(address)'( account: string, overrides?: CallOverrides ): Promise; option(overrides?: CallOverrides): Promise; 'option()'(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; 'owner()'(overrides?: CallOverrides): Promise; referee(overrides?: CallOverrides): Promise; 'referee()'(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides): Promise; 'renounceOwnership()'(overrides?: Overrides): Promise; requestExercise( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; 'requestExercise(address,uint256)'( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; setBtcAddress( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; 'setBtcAddress(bytes20,uint8)'( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; strikePrice(overrides?: CallOverrides): Promise; 'strikePrice()'(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; 'symbol()'(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; 'totalSupply()'(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transfer(address,uint256)'( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transferFrom(address,address,uint256)'( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferOwnership( newOwner: string, overrides?: Overrides ): Promise; 'transferOwnership(address)'( newOwner: string, overrides?: Overrides ): Promise; treasury(overrides?: CallOverrides): Promise; 'treasury()'(overrides?: CallOverrides): Promise; uniswap(overrides?: CallOverrides): Promise; 'uniswap()'(overrides?: CallOverrides): Promise; windowSize(overrides?: CallOverrides): Promise; 'windowSize()'(overrides?: CallOverrides): Promise; withdraw( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; 'withdraw(uint256,address)'( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; callStatic: { allWriters(overrides?: CallOverrides): Promise; 'allWriters()'(overrides?: CallOverrides): Promise; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; 'allowance(address,address)'( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; 'approve(address,uint256)'( spender: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; available(account: string, overrides?: CallOverrides): Promise; 'available(address)'( account: string, overrides?: CallOverrides ): Promise; balanceOf(account: string, overrides?: CallOverrides): Promise; 'balanceOf(address)'( account: string, overrides?: CallOverrides ): Promise; calculateAmountIn( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountIn(uint256)'( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; calculateAmountOut( amount: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountOut(uint256)'( amount: BigNumberish, overrides?: CallOverrides ): Promise; canExit(overrides?: CallOverrides): Promise; 'canExit()'(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; 'decimals()'(overrides?: CallOverrides): Promise; executeExercise( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: CallOverrides ): Promise; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)'( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: CallOverrides ): Promise; expiryTime(overrides?: CallOverrides): Promise; 'expiryTime()'(overrides?: CallOverrides): Promise; getBtcAddress( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; 'getBtcAddress(address)'( account: string, overrides?: CallOverrides ): Promise<{ btcHash: string; format: number; 0: string; 1: number; }>; getDetails( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; 'getDetails()'( overrides?: CallOverrides ): Promise<{ _expiryTime: BigNumber; _windowSize: BigNumber; _strikePrice: BigNumber; _decimals: BigNumber; _collateral: string; _option: string; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: string; 5: string; }>; initialize( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: CallOverrides ): Promise; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)'( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: CallOverrides ): Promise; mintToPool( writer: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; 'mintToPool(address,uint256)'( writer: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; mintToWriter( writer: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; 'mintToWriter(address,uint256)'( writer: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; name(overrides?: CallOverrides): Promise; 'name()'(overrides?: CallOverrides): Promise; obligations(account: string, overrides?: CallOverrides): Promise; 'obligations(address)'( account: string, overrides?: CallOverrides ): Promise; option(overrides?: CallOverrides): Promise; 'option()'(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; 'owner()'(overrides?: CallOverrides): Promise; referee(overrides?: CallOverrides): Promise; 'referee()'(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; 'renounceOwnership()'(overrides?: CallOverrides): Promise; requestExercise( seller: string, satoshis: BigNumberish, overrides?: CallOverrides ): Promise; 'requestExercise(address,uint256)'( seller: string, satoshis: BigNumberish, overrides?: CallOverrides ): Promise; setBtcAddress( btcHash: BytesLike, format: BigNumberish, overrides?: CallOverrides ): Promise; 'setBtcAddress(bytes20,uint8)'( btcHash: BytesLike, format: BigNumberish, overrides?: CallOverrides ): Promise; strikePrice(overrides?: CallOverrides): Promise; 'strikePrice()'(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; 'symbol()'(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; 'totalSupply()'(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; 'transfer(address,uint256)'( recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; 'transferFrom(address,address,uint256)'( sender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; transferOwnership( newOwner: string, overrides?: CallOverrides ): Promise; 'transferOwnership(address)'( newOwner: string, overrides?: CallOverrides ): Promise; treasury(overrides?: CallOverrides): Promise; 'treasury()'(overrides?: CallOverrides): Promise; uniswap(overrides?: CallOverrides): Promise; 'uniswap()'(overrides?: CallOverrides): Promise; windowSize(overrides?: CallOverrides): Promise; 'windowSize()'(overrides?: CallOverrides): Promise; withdraw( amount: BigNumberish, pool: string, overrides?: CallOverrides ): Promise; 'withdraw(uint256,address)'( amount: BigNumberish, pool: string, overrides?: CallOverrides ): Promise; }; filters: { Approval( owner: string | null, spender: string | null, value: null ): EventFilter; ExecuteExercise( buyer: string | null, seller: string | null, amount: null ): EventFilter; OwnershipTransferred( previousOwner: string | null, newOwner: string | null ): EventFilter; Refund(seller: string | null, amount: null): EventFilter; RequestExercise( buyer: string | null, seller: string | null, id: null, amount: null ): EventFilter; Transfer(from: string | null, to: string | null, value: null): EventFilter; Withdraw(seller: string | null, pool: null, amount: null): EventFilter; }; estimateGas: { allWriters(overrides?: CallOverrides): Promise; 'allWriters()'(overrides?: CallOverrides): Promise; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; 'allowance(address,address)'( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'approve(address,uint256)'( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; available(account: string, overrides?: CallOverrides): Promise; 'available(address)'( account: string, overrides?: CallOverrides ): Promise; balanceOf(account: string, overrides?: CallOverrides): Promise; 'balanceOf(address)'( account: string, overrides?: CallOverrides ): Promise; calculateAmountIn( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountIn(uint256)'( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; calculateAmountOut( amount: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountOut(uint256)'( amount: BigNumberish, overrides?: CallOverrides ): Promise; canExit(overrides?: Overrides): Promise; 'canExit()'(overrides?: Overrides): Promise; decimals(overrides?: CallOverrides): Promise; 'decimals()'(overrides?: CallOverrides): Promise; executeExercise( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)'( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; expiryTime(overrides?: CallOverrides): Promise; 'expiryTime()'(overrides?: CallOverrides): Promise; getBtcAddress( account: string, overrides?: CallOverrides ): Promise; 'getBtcAddress(address)'( account: string, overrides?: CallOverrides ): Promise; getDetails(overrides?: CallOverrides): Promise; 'getDetails()'(overrides?: CallOverrides): Promise; initialize( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)'( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; mintToPool( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToPool(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; mintToWriter( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToWriter(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; name(overrides?: CallOverrides): Promise; 'name()'(overrides?: CallOverrides): Promise; obligations(account: string, overrides?: CallOverrides): Promise; 'obligations(address)'( account: string, overrides?: CallOverrides ): Promise; option(overrides?: CallOverrides): Promise; 'option()'(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; 'owner()'(overrides?: CallOverrides): Promise; referee(overrides?: CallOverrides): Promise; 'referee()'(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides): Promise; 'renounceOwnership()'(overrides?: Overrides): Promise; requestExercise( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; 'requestExercise(address,uint256)'( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; setBtcAddress( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; 'setBtcAddress(bytes20,uint8)'( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; strikePrice(overrides?: CallOverrides): Promise; 'strikePrice()'(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; 'symbol()'(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; 'totalSupply()'(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transfer(address,uint256)'( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transferFrom(address,address,uint256)'( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferOwnership( newOwner: string, overrides?: Overrides ): Promise; 'transferOwnership(address)'( newOwner: string, overrides?: Overrides ): Promise; treasury(overrides?: CallOverrides): Promise; 'treasury()'(overrides?: CallOverrides): Promise; uniswap(overrides?: CallOverrides): Promise; 'uniswap()'(overrides?: CallOverrides): Promise; windowSize(overrides?: CallOverrides): Promise; 'windowSize()'(overrides?: CallOverrides): Promise; withdraw( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; 'withdraw(uint256,address)'( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; }; populateTransaction: { allWriters(overrides?: CallOverrides): Promise; 'allWriters()'(overrides?: CallOverrides): Promise; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; 'allowance(address,address)'( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'approve(address,uint256)'( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise; available( account: string, overrides?: CallOverrides ): Promise; 'available(address)'( account: string, overrides?: CallOverrides ): Promise; balanceOf( account: string, overrides?: CallOverrides ): Promise; 'balanceOf(address)'( account: string, overrides?: CallOverrides ): Promise; calculateAmountIn( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountIn(uint256)'( satoshis: BigNumberish, overrides?: CallOverrides ): Promise; calculateAmountOut( amount: BigNumberish, overrides?: CallOverrides ): Promise; 'calculateAmountOut(uint256)'( amount: BigNumberish, overrides?: CallOverrides ): Promise; canExit(overrides?: Overrides): Promise; 'canExit()'(overrides?: Overrides): Promise; decimals(overrides?: CallOverrides): Promise; 'decimals()'(overrides?: CallOverrides): Promise; executeExercise( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; 'executeExercise(bytes32,uint32,uint256,bytes32,bytes,bytes,bytes)'( id: BytesLike, height: BigNumberish, index: BigNumberish, txid: BytesLike, header: BytesLike, proof: BytesLike, rawtx: BytesLike, overrides?: Overrides ): Promise; expiryTime(overrides?: CallOverrides): Promise; 'expiryTime()'(overrides?: CallOverrides): Promise; getBtcAddress( account: string, overrides?: CallOverrides ): Promise; 'getBtcAddress(address)'( account: string, overrides?: CallOverrides ): Promise; getDetails(overrides?: CallOverrides): Promise; 'getDetails()'(overrides?: CallOverrides): Promise; initialize( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; 'initialize(uint8,uint256,uint256,uint256,address,address,address,address)'( _decimals: BigNumberish, _expiryTime: BigNumberish, _windowSize: BigNumberish, _strikePrice: BigNumberish, _option: string, _referee: string, _treasury: string, _uniswap: string, overrides?: Overrides ): Promise; mintToPool( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToPool(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; mintToWriter( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'mintToWriter(address,uint256)'( writer: string, amount: BigNumberish, overrides?: Overrides ): Promise; name(overrides?: CallOverrides): Promise; 'name()'(overrides?: CallOverrides): Promise; obligations( account: string, overrides?: CallOverrides ): Promise; 'obligations(address)'( account: string, overrides?: CallOverrides ): Promise; option(overrides?: CallOverrides): Promise; 'option()'(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; 'owner()'(overrides?: CallOverrides): Promise; referee(overrides?: CallOverrides): Promise; 'referee()'(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides): Promise; 'renounceOwnership()'(overrides?: Overrides): Promise; requestExercise( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; 'requestExercise(address,uint256)'( seller: string, satoshis: BigNumberish, overrides?: Overrides ): Promise; setBtcAddress( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; 'setBtcAddress(bytes20,uint8)'( btcHash: BytesLike, format: BigNumberish, overrides?: Overrides ): Promise; strikePrice(overrides?: CallOverrides): Promise; 'strikePrice()'(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; 'symbol()'(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; 'totalSupply()'(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transfer(address,uint256)'( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; 'transferFrom(address,address,uint256)'( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise; transferOwnership( newOwner: string, overrides?: Overrides ): Promise; 'transferOwnership(address)'( newOwner: string, overrides?: Overrides ): Promise; treasury(overrides?: CallOverrides): Promise; 'treasury()'(overrides?: CallOverrides): Promise; uniswap(overrides?: CallOverrides): Promise; 'uniswap()'(overrides?: CallOverrides): Promise; windowSize(overrides?: CallOverrides): Promise; 'windowSize()'(overrides?: CallOverrides): Promise; withdraw( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; 'withdraw(uint256,address)'( amount: BigNumberish, pool: string, overrides?: Overrides ): Promise; }; }