blob: b2cf786df1d65a5c6465a056f5bb3e36ae074f1f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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,
}
|