aboutsummaryrefslogtreecommitdiffstats
path: root/src/types.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-05-30 04:30:18 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-05-30 04:30:18 +0800
commit96092de5cb97430af35a1c03f22fdc34d7100107 (patch)
tree446b1746c376b3af335a8ec733d983e4b77d938c /src/types.ts
parent7dddf2010e16167260f7ffbb7c7d2fd83609d8a0 (diff)
downloaddexon-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.ts33
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;
+}