diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2017-11-30 14:02:43 +0800 |
---|---|---|
committer | Amir Bandeali <abandeali1@gmail.com> | 2017-11-30 23:10:18 +0800 |
commit | 4b3e0383235ca4ca0127f24c2e05543bb45a56bb (patch) | |
tree | 7a9c1888f99b1121826b09ca28185565ed47cd50 /packages/contracts/util/types.ts | |
parent | c57190dead41846809effb8823bd4e486ca72512 (diff) | |
download | dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar.gz dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar.bz2 dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar.lz dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar.xz dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.tar.zst dexon-sol-tools-4b3e0383235ca4ca0127f24c2e05543bb45a56bb.zip |
Add contracts to packages, fix most linting errors
Diffstat (limited to 'packages/contracts/util/types.ts')
-rw-r--r-- | packages/contracts/util/types.ts | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/packages/contracts/util/types.ts b/packages/contracts/util/types.ts new file mode 100644 index 000000000..2e16fac7a --- /dev/null +++ b/packages/contracts/util/types.ts @@ -0,0 +1,119 @@ +import {BigNumber} from 'bignumber.js'; +import * as Web3 from 'web3'; + +export interface BalancesByOwner { + [ownerAddress: string]: { + [tokenAddress: string]: BigNumber; + }; +} + +export interface BatchFillOrders { + orderAddresses: string[][]; + orderValues: BigNumber[][]; + fillTakerTokenAmounts: BigNumber[]; + shouldThrowOnInsufficientBalanceOrAllowance: boolean; + v: number[]; + r: string[]; + s: string[]; +} + +export interface FillOrdersUpTo { + orderAddresses: string[][]; + orderValues: BigNumber[][]; + fillTakerTokenAmount: BigNumber; + shouldThrowOnInsufficientBalanceOrAllowance: boolean; + v: number[]; + r: string[]; + s: string[]; +} + +export interface BatchCancelOrders { + orderAddresses: string[][]; + orderValues: BigNumber[][]; + cancelTakerTokenAmounts: BigNumber[]; +} + +export interface DefaultOrderParams { + exchangeContractAddress: string; + maker: string; + feeRecipient: string; + makerToken: string; + takerToken: string; + makerTokenAmount: BigNumber; + takerTokenAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; +} + +export interface OptionalOrderParams { + exchangeContractAddress?: string; + maker?: string; + taker?: string; + feeRecipient?: string; + makerToken?: string; + takerToken?: string; + makerTokenAmount?: BigNumber; + takerTokenAmount?: BigNumber; + makerFee?: BigNumber; + takerFee?: BigNumber; + expirationTimestampInSec?: BigNumber; +} + +export interface OrderParams { + exchangeContractAddress: string; + maker: string; + taker: string; + feeRecipient: string; + makerToken: string; + takerToken: string; + makerTokenAmount: BigNumber; + takerTokenAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimestampInSec: BigNumber; + salt: BigNumber; + orderHashHex?: string; + v?: number; + r?: string; + s?: string; +} + +export interface TransactionDataParams { + name: string; + abi: Web3.AbiDefinition[]; + args: any[]; +} + +export interface Token { + address?: string; + name: string; + symbol: string; + decimals: number; + ipfsHash: string; + swarmHash: string; +} + +export interface MultiSigConfig { + owners: string[]; + confirmationsRequired: number; + secondsRequired: number; +} + +export interface MultiSigConfigByNetwork { + [networkName: string]: MultiSigConfig; +} + +export interface TokenInfoByNetwork { + development: Token[]; + live: Token[]; +} + +// Named type aliases to improve readability +export type ContractInstance = any; + +export enum ExchangeContractErrs { + ERROR_ORDER_EXPIRED, + ERROR_ORDER_FULLY_FILLED_OR_CANCELLED, + ERROR_ROUNDING_ERROR_TOO_LARGE, + ERROR_INSUFFICIENT_BALANCE_OR_ALLOWANCE, +} |