aboutsummaryrefslogtreecommitdiffstats
path: root/packages/asset-buyer/src/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/asset-buyer/src/types.ts')
-rw-r--r--packages/asset-buyer/src/types.ts142
1 files changed, 0 insertions, 142 deletions
diff --git a/packages/asset-buyer/src/types.ts b/packages/asset-buyer/src/types.ts
deleted file mode 100644
index 46a2338ce..000000000
--- a/packages/asset-buyer/src/types.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import { SignedOrder } from '@0x/types';
-import { BigNumber } from '@0x/utils';
-
-/**
- * makerAssetData: The assetData representing the desired makerAsset.
- * takerAssetData: The assetData representing the desired takerAsset.
- * networkId: The networkId that the desired orders should be for.
- */
-export interface OrderProviderRequest {
- makerAssetData: string;
- takerAssetData: string;
-}
-
-/**
- * orders: An array of orders with optional remaining fillable makerAsset amounts. See type for more info.
- */
-export interface OrderProviderResponse {
- orders: SignedOrderWithRemainingFillableMakerAssetAmount[];
-}
-
-/**
- * A normal SignedOrder with one extra optional property `remainingFillableMakerAssetAmount`
- * remainingFillableMakerAssetAmount: The amount of the makerAsset that is available to be filled
- */
-export interface SignedOrderWithRemainingFillableMakerAssetAmount extends SignedOrder {
- remainingFillableMakerAssetAmount?: BigNumber;
-}
-/**
- * gerOrdersAsync: Given an OrderProviderRequest, get an OrderProviderResponse.
- * getAvailableMakerAssetDatasAsync: Given a taker asset data string, return all availabled paired maker asset data strings.
- */
-export interface OrderProvider {
- getOrdersAsync: (orderProviderRequest: OrderProviderRequest) => Promise<OrderProviderResponse>;
- getAvailableMakerAssetDatasAsync: (takerAssetData: string) => Promise<string[]>;
-}
-
-/**
- * assetData: String that represents a specific asset (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md).
- * assetBuyAmount: The amount of asset to buy.
- * orders: An array of objects conforming to SignedOrder. These orders can be used to cover the requested assetBuyAmount plus slippage.
- * feeOrders: An array of objects conforming to SignedOrder. These orders can be used to cover the fees for the orders param above.
- * feePercentage: Optional affiliate fee percentage used to calculate the eth amounts above.
- * bestCaseQuoteInfo: Info about the best case price for the asset.
- * worstCaseQuoteInfo: Info about the worst case price for the asset.
- */
-export interface BuyQuote {
- assetData: string;
- assetBuyAmount: BigNumber;
- orders: SignedOrder[];
- feeOrders: SignedOrder[];
- feePercentage?: number;
- bestCaseQuoteInfo: BuyQuoteInfo;
- worstCaseQuoteInfo: BuyQuoteInfo;
-}
-
-/**
- * assetEthAmount: The amount of eth required to pay for the requested asset.
- * feeEthAmount: The amount of eth required to pay the affiliate fee.
- * totalEthAmount: The total amount of eth required to complete the buy (filling orders, feeOrders, and paying affiliate fee).
- */
-export interface BuyQuoteInfo {
- assetEthAmount: BigNumber;
- feeEthAmount: BigNumber;
- totalEthAmount: BigNumber;
-}
-
-/**
- * feePercentage: The affiliate fee percentage. Defaults to 0.
- * shouldForceOrderRefresh: If set to true, new orders and state will be fetched instead of waiting for the next orderRefreshIntervalMs. Defaults to false.
- * slippagePercentage: The percentage buffer to add to account for slippage. Affects max ETH price estimates. Defaults to 0.2 (20%).
- */
-export interface BuyQuoteRequestOpts {
- feePercentage: number;
- shouldForceOrderRefresh: boolean;
- slippagePercentage: number;
-}
-
-/*
- * Options for checking liquidity
- *
- * shouldForceOrderRefresh: If set to true, new orders and state will be fetched instead of waiting for the next orderRefreshIntervalMs. Defaults to false.
- */
-export type LiquidityRequestOpts = Pick<BuyQuoteRequestOpts, 'shouldForceOrderRefresh'>;
-
-/**
- * ethAmount: The desired amount of eth to spend. Defaults to buyQuote.worstCaseQuoteInfo.totalEthAmount.
- * takerAddress: The address to perform the buy. Defaults to the first available address from the provider.
- * gasLimit: The amount of gas to send with a transaction (in Gwei). Defaults to an eth_estimateGas rpc call.
- * gasPrice: Gas price in Wei to use for a transaction
- * feeRecipient: The address where affiliate fees are sent. Defaults to null address (0x000...000).
- */
-export interface BuyQuoteExecutionOpts {
- ethAmount?: BigNumber;
- takerAddress?: string;
- gasLimit?: number;
- gasPrice?: BigNumber;
- feeRecipient: string;
-}
-
-/**
- * networkId: The ethereum network id. Defaults to 1 (mainnet).
- * orderRefreshIntervalMs: The interval in ms that getBuyQuoteAsync should trigger an refresh of orders and order states. Defaults to 10000ms (10s).
- * expiryBufferSeconds: The number of seconds to add when calculating whether an order is expired or not. Defaults to 300s (5m).
- */
-export interface AssetBuyerOpts {
- networkId: number;
- orderRefreshIntervalMs: number;
- expiryBufferSeconds: number;
-}
-
-/**
- * Possible error messages thrown by an AssetBuyer instance or associated static methods.
- */
-export enum AssetBuyerError {
- NoEtherTokenContractFound = 'NO_ETHER_TOKEN_CONTRACT_FOUND',
- NoZrxTokenContractFound = 'NO_ZRX_TOKEN_CONTRACT_FOUND',
- StandardRelayerApiError = 'STANDARD_RELAYER_API_ERROR',
- InsufficientAssetLiquidity = 'INSUFFICIENT_ASSET_LIQUIDITY',
- InsufficientZrxLiquidity = 'INSUFFICIENT_ZRX_LIQUIDITY',
- NoAddressAvailable = 'NO_ADDRESS_AVAILABLE',
- InvalidOrderProviderResponse = 'INVALID_ORDER_PROVIDER_RESPONSE',
- AssetUnavailable = 'ASSET_UNAVAILABLE',
- SignatureRequestDenied = 'SIGNATURE_REQUEST_DENIED',
- TransactionValueTooLow = 'TRANSACTION_VALUE_TOO_LOW',
-}
-
-/**
- * orders: An array of signed orders
- * remainingFillableMakerAssetAmounts: A list of fillable amounts for the signed orders. The index of an item in the array associates the amount with the corresponding order.
- */
-export interface OrdersAndFillableAmounts {
- orders: SignedOrder[];
- remainingFillableMakerAssetAmounts: BigNumber[];
-}
-
-/**
- * Represents available liquidity for a given assetData
- */
-export interface LiquidityForAssetData {
- tokensAvailableInBaseUnits: BigNumber;
- ethValueAvailableInWei: BigNumber;
-}