import { BigNumber } from '@0xproject/utils'; import { OrderState, SignedOrder } from '@0xproject/types'; import { BlockParam, ContractEventArg, DecodedLogArgs, LogEntryEvent, LogWithDecodedArgs } from 'ethereum-types'; import { ERC20TokenEventArgs, ERC20TokenEvents } from './contract_wrappers/generated/erc20_token'; import { ERC721TokenEventArgs, ERC721TokenEvents } from './contract_wrappers/generated/erc721_token'; import { ExchangeEventArgs, ExchangeEvents } from './contract_wrappers/generated/exchange'; import { WETH9EventArgs, WETH9Events } from './contract_wrappers/generated/weth9'; export declare enum ExchangeWrapperError { AssetDataMismatch = "ASSET_DATA_MISMATCH" } export declare enum ContractWrappersError { ExchangeContractDoesNotExist = "EXCHANGE_CONTRACT_DOES_NOT_EXIST", ZRXContractDoesNotExist = "ZRX_CONTRACT_DOES_NOT_EXIST", EtherTokenContractDoesNotExist = "ETHER_TOKEN_CONTRACT_DOES_NOT_EXIST", ERC20ProxyContractDoesNotExist = "ERC20_PROXY_CONTRACT_DOES_NOT_EXIST", ERC721ProxyContractDoesNotExist = "ERC721_PROXY_CONTRACT_DOES_NOT_EXIST", ERC20TokenContractDoesNotExist = "ERC20_TOKEN_CONTRACT_DOES_NOT_EXIST", ERC721TokenContractDoesNotExist = "ERC721_TOKEN_CONTRACT_DOES_NOT_EXIST", ContractNotDeployedOnNetwork = "CONTRACT_NOT_DEPLOYED_ON_NETWORK", InsufficientAllowanceForTransfer = "INSUFFICIENT_ALLOWANCE_FOR_TRANSFER", InsufficientBalanceForTransfer = "INSUFFICIENT_BALANCE_FOR_TRANSFER", InsufficientEthBalanceForDeposit = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT", InsufficientWEthBalanceForWithdrawal = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL", InvalidJump = "INVALID_JUMP", OutOfGas = "OUT_OF_GAS", SubscriptionNotFound = "SUBSCRIPTION_NOT_FOUND", SubscriptionAlreadyPresent = "SUBSCRIPTION_ALREADY_PRESENT", ERC721OwnerNotFound = "ERC_721_OWNER_NOT_FOUND", ERC721NoApproval = "ERC_721_NO_APPROVAL" } export declare enum InternalContractWrappersError { NoAbiDecoder = "NO_ABI_DECODER" } export declare type LogEvent = LogEntryEvent; export interface DecodedLogEvent { isRemoved: boolean; log: LogWithDecodedArgs; } export declare type EventCallback = (err: null | Error, log?: DecodedLogEvent) => void; export interface ContractEvent { logIndex: number; transactionIndex: number; transactionHash: string; blockHash: string; blockNumber: number; address: string; type: string; event: string; args: ContractEventArgs; } export declare type ContractEventArgs = ExchangeEventArgs | ERC20TokenEventArgs | ERC721TokenEventArgs | WETH9EventArgs; export declare type TokenMetadata = [string, string, string, number, string, string]; export interface Token { name: string; address: string; symbol: string; decimals: number; } export interface TxOpts { from: string; gas?: number; value?: BigNumber; gasPrice?: BigNumber; } export interface TokenAddressBySymbol { [symbol: string]: string; } export declare type ContractEvents = ERC20TokenEvents | ERC721TokenEvents | ExchangeEvents | WETH9Events; export interface IndexedFilterValues { [index: string]: ContractEventArg; } export interface BlockRange { fromBlock: BlockParam; toBlock: BlockParam; } export interface OrderFillRequest { signedOrder: SignedOrder; takerAssetFillAmount: BigNumber; } export declare type AsyncMethod = (...args: any[]) => Promise; export declare type SyncMethod = (...args: any[]) => any; /** * networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 3-ropsten, 4-rinkeby, 42-kovan, 50-testrpc) * gasPrice: Gas price to use with every transaction * exchangeContractAddress: The address of an exchange contract to use * zrxContractAddress: The address of the ZRX contract to use * erc20ProxyContractAddress: The address of the erc20 token transfer proxy contract to use * erc721ProxyContractAddress: The address of the erc721 token transfer proxy contract to use * forwarderContractAddress: The address of the forwarder contract to use * orderWatcherConfig: All the configs related to the orderWatcher * blockPollingIntervalMs: The interval to use for block polling in event watching methods (defaults to 1000) */ export interface ContractWrappersConfig { networkId: number; gasPrice?: BigNumber; exchangeContractAddress?: string; zrxContractAddress?: string; erc20ProxyContractAddress?: string; erc721ProxyContractAddress?: string; forwarderContractAddress?: string; blockPollingIntervalMs?: number; } /** * expectedFillTakerTokenAmount: If specified, the validation method will ensure that the * supplied order maker has a sufficient allowance/balance to fill this amount of the order's * takerTokenAmount. If not specified, the validation method ensures that the maker has a sufficient * allowance/balance to fill the entire remaining order amount. */ export interface ValidateOrderFillableOpts { expectedFillTakerTokenAmount?: BigNumber; } /** * defaultBlock: The block up to which to query the blockchain state. Setting this to a historical block number * let's the user query the blockchain's state at an arbitrary point in time. In order for this to work, the * backing Ethereum node must keep the entire historical state of the chain (e.g setting `--pruning=archive` * flag when running Parity). */ export interface MethodOpts { defaultBlock?: BlockParam; } /** * gasPrice: Gas price in Wei to use for a transaction * gasLimit: The amount of gas to send with a transaction (in Gwei) */ export interface TransactionOpts { gasPrice?: BigNumber; gasLimit?: number; } /** * shouldValidate: Flag indicating whether the library should make attempts to validate a transaction before * broadcasting it. For example, order has a valid signature, maker has sufficient funds, etc. Default=true. */ export interface OrderTransactionOpts extends TransactionOpts { shouldValidate?: boolean; } export declare enum TradeSide { Maker = "maker", Taker = "taker" } export declare enum TransferType { Trade = "trade", Fee = "fee" } export declare type OnOrderStateChangeCallback = (err: Error | null, orderState?: OrderState) => void; export interface OrderInfo { orderStatus: OrderStatus; orderHash: string; orderTakerAssetFilledAmount: BigNumber; } export declare enum OrderStatus { INVALID = 0, INVALID_MAKER_ASSET_AMOUNT = 1, INVALID_TAKER_ASSET_AMOUNT = 2, FILLABLE = 3, EXPIRED = 4, FULLY_FILLED = 5, CANCELLED = 6 } export interface TraderInfo { makerBalance: BigNumber; makerAllowance: BigNumber; takerBalance: BigNumber; takerAllowance: BigNumber; makerZrxBalance: BigNumber; makerZrxAllowance: BigNumber; takerZrxBalance: BigNumber; takerZrxAllowance: BigNumber; } export interface OrderAndTraderInfo { orderInfo: OrderInfo; traderInfo: TraderInfo; } export interface BalanceAndAllowance { balance: BigNumber; allowance: BigNumber; } //# sourceMappingURL=types.d.ts.map