aboutsummaryrefslogtreecommitdiffstats
path: root/test/utils/order_factory.ts
diff options
context:
space:
mode:
authorLeonid <logvinov.leon@gmail.com>2017-06-03 00:53:21 +0800
committerGitHub <noreply@github.com>2017-06-03 00:53:21 +0800
commitc83587a16d016d1efafaf31abb9b39eb54128568 (patch)
treeac53dfb35344c644096f574802eb64eab5955f90 /test/utils/order_factory.ts
parentb8ff2468776e1c784ff50e5ada1c633ee0d3aeda (diff)
parent3fad55d118b6a2f8f44ba5dec7fdae276c806eb3 (diff)
downloaddexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar.gz
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar.bz2
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar.lz
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar.xz
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.tar.zst
dexon-sol-tools-c83587a16d016d1efafaf31abb9b39eb54128568.zip
Merge pull request #30 from 0xProject/fillOrderAsync
fillOrderAsync
Diffstat (limited to 'test/utils/order_factory.ts')
-rw-r--r--test/utils/order_factory.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/utils/order_factory.ts b/test/utils/order_factory.ts
new file mode 100644
index 000000000..373dbddc6
--- /dev/null
+++ b/test/utils/order_factory.ts
@@ -0,0 +1,43 @@
+import * as _ from 'lodash';
+import * as BigNumber from 'bignumber.js';
+import {SignedOrder, Token} from '../../src/types';
+import {ZeroEx} from '../../src/0x.js';
+import {constants} from './constants';
+import * as ExchangeArtifacts from '../../src/artifacts/Exchange.json';
+
+export const orderFactory = {
+ async createSignedOrderAsync(
+ zeroEx: ZeroEx,
+ maker: string,
+ taker: string,
+ makerFee: BigNumber.BigNumber,
+ takerFee: BigNumber.BigNumber,
+ makerTokenAmount: BigNumber.BigNumber,
+ makerTokenAddress: string,
+ takerTokenAmount: BigNumber.BigNumber,
+ takerTokenAddress: string,
+ feeRecipient: string,
+ expirationUnixTimestampSec?: BigNumber.BigNumber): Promise<SignedOrder> {
+ const defaultExpirationUnixTimestampSec = new BigNumber(2524604400); // Close to infinite
+ expirationUnixTimestampSec = _.isUndefined(expirationUnixTimestampSec) ?
+ defaultExpirationUnixTimestampSec :
+ expirationUnixTimestampSec;
+ const order = {
+ maker,
+ taker,
+ makerFee,
+ takerFee,
+ makerTokenAmount,
+ takerTokenAmount,
+ makerTokenAddress,
+ takerTokenAddress,
+ salt: ZeroEx.generatePseudoRandomSalt(),
+ feeRecipient,
+ expirationUnixTimestampSec,
+ };
+ const orderHash = await zeroEx.getOrderHashHexAsync(order);
+ const ecSignature = await zeroEx.signOrderHashAsync(orderHash);
+ const signedOrder: SignedOrder = _.assign(order, {ecSignature});
+ return signedOrder;
+ },
+};