aboutsummaryrefslogtreecommitdiffstats
path: root/test/utils/order_factory.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-06-01 20:53:26 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-06-01 20:53:26 +0800
commitef7ac6ac2df34cc45bce461bbbf0e83be5187aed (patch)
tree1893e749f4f384c8b47615f3df0939ff553a36b8 /test/utils/order_factory.ts
parent448be396cba7265d6ea0d69c9388e32db25773e8 (diff)
downloaddexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar.gz
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar.bz2
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar.lz
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar.xz
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.tar.zst
dexon-sol-tools-ef7ac6ac2df34cc45bce461bbbf0e83be5187aed.zip
Rename order to order_factory
Diffstat (limited to 'test/utils/order_factory.ts')
-rw-r--r--test/utils/order_factory.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/utils/order_factory.ts b/test/utils/order_factory.ts
new file mode 100644
index 000000000..8a7d8430e
--- /dev/null
+++ b/test/utils/order_factory.ts
@@ -0,0 +1,38 @@
+import {SignedOrder, Token} from '../../src/types';
+import * as BigNumber from 'bignumber.js';
+import * as _ from 'lodash';
+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,
+ networkId: number,
+ maker: string,
+ makerTokenAmount: BigNumber.BigNumber|number,
+ makerTokenAddress: string,
+ takerTokenAmount: BigNumber.BigNumber|number,
+ takerTokenAddress: string): Promise<SignedOrder> {
+ // TODO refactor and check
+ const exchangeAddress: string = (ExchangeArtifacts as any).networks[networkId].address;
+ const INF_TIMESTAMP = 2524604400;
+ const order = {
+ maker,
+ taker: undefined,
+ makerFee: new BigNumber(0),
+ takerFee: new BigNumber(0),
+ makerTokenAmount: _.isNumber(makerTokenAmount) ? new BigNumber(makerTokenAmount) : makerTokenAmount,
+ takerTokenAmount: _.isNumber(takerTokenAmount) ? new BigNumber(takerTokenAmount) : takerTokenAmount,
+ makerTokenAddress,
+ takerTokenAddress,
+ salt: ZeroEx.generatePseudoRandomSalt(),
+ feeRecipient: constants.NULL_ADDRESS,
+ expirationUnixTimestampSec: new BigNumber(INF_TIMESTAMP),
+ };
+ const orderHash = ZeroEx.getOrderHashHex(exchangeAddress, order);
+ const ecSignature = await zeroEx.signOrderHashAsync(orderHash);
+ const signedOrder: SignedOrder = _.assign(order, {ecSignature});
+ return signedOrder;
+ }
+}