diff options
author | Leonid <logvinov.leon@gmail.com> | 2017-06-03 00:53:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-03 00:53:21 +0800 |
commit | c83587a16d016d1efafaf31abb9b39eb54128568 (patch) | |
tree | ac53dfb35344c644096f574802eb64eab5955f90 /test/utils/order_factory.ts | |
parent | b8ff2468776e1c784ff50e5ada1c633ee0d3aeda (diff) | |
parent | 3fad55d118b6a2f8f44ba5dec7fdae276c806eb3 (diff) | |
download | dexon-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.ts | 43 |
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; + }, +}; |