aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/utils/types.ts
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-05-11 05:22:49 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-05-19 08:01:05 +0800
commit9b1015bbce81b3f2a245e3dab6eea7c9028ce93b (patch)
tree3c698977176d907e04a8cfe0716f5d1f36167398 /packages/contracts/src/utils/types.ts
parenta4c821eb60c227df4512d6c24ce0e5239b8bb6ce (diff)
downloaddexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar.gz
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar.bz2
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar.lz
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar.xz
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.tar.zst
dexon-sol-tools-9b1015bbce81b3f2a245e3dab6eea7c9028ce93b.zip
Atomic Order Matching - Tests
Diffstat (limited to 'packages/contracts/src/utils/types.ts')
-rw-r--r--packages/contracts/src/utils/types.ts48
1 files changed, 42 insertions, 6 deletions
diff --git a/packages/contracts/src/utils/types.ts b/packages/contracts/src/utils/types.ts
index 234b14ef9..ce7fbcbe1 100644
--- a/packages/contracts/src/utils/types.ts
+++ b/packages/contracts/src/utils/types.ts
@@ -74,12 +74,27 @@ export interface Token {
swarmHash: string;
}
-export enum ExchangeContractErrs {
- ERROR_ORDER_EXPIRED,
- ERROR_ORDER_FULLY_FILLED,
- ERROR_ORDER_CANCELLED,
- ERROR_ROUNDING_ERROR_TOO_LARGE,
- ERROR_INSUFFICIENT_BALANCE_OR_ALLOWANCE,
+export enum ExchangeStatus {
+ /// Default Status ///
+ INVALID, // General invalid status
+
+ /// General Exchange Statuses ///
+ SUCCESS, // Indicates a successful operation
+ ROUNDING_ERROR_TOO_LARGE, // Rounding error too large
+ INSUFFICIENT_BALANCE_OR_ALLOWANCE, // Insufficient balance or allowance for token transfer
+ TAKER_ASSET_FILL_AMOUNT_TOO_LOW, // takerAssetFillAmount is <= 0
+ INVALID_SIGNATURE, // Invalid signature
+ INVALID_SENDER, // Invalid sender
+ INVALID_TAKER, // Invalid taker
+ INVALID_MAKER, // Invalid maker
+
+ /// Order State Statuses ///
+ ORDER_INVALID_MAKER_ASSET_AMOUNT, // Order does not have a valid maker asset amount
+ ORDER_INVALID_TAKER_ASSET_AMOUNT, // Order does not have a valid taker asset amount
+ ORDER_FILLABLE, // Order is fillable
+ ORDER_EXPIRED, // Order has already expired
+ ORDER_FULLY_FILLED, // Order is fully filled
+ ORDER_CANCELLED, // Order has been cancelled
}
export enum ContractName {
@@ -143,3 +158,24 @@ export interface SignedTransaction {
data: string;
signature: string;
}
+
+export interface TransferAmountsByMatchOrders {
+ // Left Maker
+ amountBoughtByLeftMaker: BigNumber;
+ amountSoldByLeftMaker: BigNumber;
+ amountReceivedByLeftMaker: BigNumber;
+ feePaidByLeftMaker: BigNumber;
+ // Right Maker
+ amountBoughtByRightMaker: BigNumber;
+ amountSoldByRightMaker: BigNumber;
+ amountReceivedByRightMaker: BigNumber;
+ feePaidByRightMaker: BigNumber;
+ // Taker
+ amountReceivedByTaker: BigNumber;
+ feePaidByTakerLeft: BigNumber;
+ feePaidByTakerRight: BigNumber;
+ totalFeePaidByTaker: BigNumber;
+ // Fee Recipients
+ feeReceivedLeft: BigNumber;
+ feeReceivedRight: BigNumber;
+}