diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-30 04:30:18 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-30 04:30:18 +0800 |
commit | 96092de5cb97430af35a1c03f22fdc34d7100107 (patch) | |
tree | 446b1746c376b3af335a8ec733d983e4b77d938c /src/types.ts | |
parent | 7dddf2010e16167260f7ffbb7c7d2fd83609d8a0 (diff) | |
download | dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar.gz dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar.bz2 dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar.lz dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar.xz dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.tar.zst dexon-sol-tools-96092de5cb97430af35a1c03f22fdc34d7100107.zip |
Add initial implementation of fillOrderAsync
Diffstat (limited to 'src/types.ts')
-rw-r--r-- | src/types.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/types.ts b/src/types.ts index 3bed01547..0c661915e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -26,8 +26,23 @@ export interface ECSignature { s: string; } +export type OrderAddresses = [string, string, string, string, string]; + +export type OrderValues = [ + BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber, + BigNumber.BigNumber, BigNumber.BigNumber, BigNumber.BigNumber +]; + +export interface TxData { + from: string; +} + export interface ExchangeContract { isValidSignature: any; + fill: ( + orderAddresses: OrderAddresses, orderValues: OrderValues, fillAmount: BigNumber.BigNumber, + shouldCheckTransfer: boolean, v: number, r: string, s: string, txData: TxData, + ) => ContractResponse; } export const SolidityTypes = strEnum([ @@ -35,3 +50,21 @@ export const SolidityTypes = strEnum([ 'uint256', ]); export type SolidityTypes = keyof typeof SolidityTypes; + +export enum ExchangeContractErrs { + ERROR_FILL_EXPIRED, // Order has already expired + ERROR_FILL_NO_VALUE, // Order has already been fully filled or cancelled + ERROR_FILL_TRUNCATION, // Rounding error too large + ERROR_FILL_BALANCE_ALLOWANCE, // Insufficient balance or allowance for token transfer + ERROR_CANCEL_EXPIRED, // Order has already expired + ERROR_CANCEL_NO_VALUE, // Order has already been fully filled or cancelled +}; + +export interface ContractResponse { + logs: ContractEvent[]; +} + +export interface ContractEvent { + event: string; + args: any; +} |