diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-07-18 20:51:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-18 20:51:24 +0800 |
commit | 857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba (patch) | |
tree | 5b2394a3d4098d3b07df8f69ef797a77893ad7be /packages/contracts/test/utils | |
parent | ab6bf6edc70d6bfd27cdb7becce838dda8720e39 (diff) | |
parent | 904968cf4a899642d3f4e78abc53352125e17447 (diff) | |
download | dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar.gz dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar.bz2 dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar.lz dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar.xz dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.tar.zst dexon-sol-tools-857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba.zip |
Merge branch 'v2-prototype' into feature/order-watcher-v2
Diffstat (limited to 'packages/contracts/test/utils')
-rw-r--r-- | packages/contracts/test/utils/block_timestamp.ts (renamed from packages/contracts/test/utils/increase_time.ts) | 9 | ||||
-rw-r--r-- | packages/contracts/test/utils/exchange_wrapper.ts | 4 | ||||
-rw-r--r-- | packages/contracts/test/utils/order_factory.ts | 11 |
3 files changed, 19 insertions, 5 deletions
diff --git a/packages/contracts/test/utils/increase_time.ts b/packages/contracts/test/utils/block_timestamp.ts index 4565d8dbc..1159792c4 100644 --- a/packages/contracts/test/utils/increase_time.ts +++ b/packages/contracts/test/utils/block_timestamp.ts @@ -29,3 +29,12 @@ export async function increaseTimeAndMineBlockAsync(seconds: number): Promise<nu return offset; } + +/** + * Returns the timestamp of the latest block in seconds since the Unix epoch. + * @returns a new Promise which will resolve with the timestamp in seconds. + */ +export async function getLatestBlockTimestampAsync(): Promise<number> { + const currentBlock = await web3Wrapper.getBlockAsync('latest'); + return currentBlock.timestamp; +} diff --git a/packages/contracts/test/utils/exchange_wrapper.ts b/packages/contracts/test/utils/exchange_wrapper.ts index 155d0eeb0..a71a0d495 100644 --- a/packages/contracts/test/utils/exchange_wrapper.ts +++ b/packages/contracts/test/utils/exchange_wrapper.ts @@ -223,6 +223,10 @@ export class ExchangeWrapper { const orderInfo = (await this._exchange.getOrderInfo.callAsync(signedOrder)) as OrderInfo; return orderInfo; } + public async getOrdersInfoAsync(signedOrders: SignedOrder[]): Promise<OrderInfo[]> { + const ordersInfo = (await this._exchange.getOrdersInfo.callAsync(signedOrders)) as OrderInfo[]; + return ordersInfo; + } public async matchOrdersAsync( signedOrderLeft: SignedOrder, signedOrderRight: SignedOrder, diff --git a/packages/contracts/test/utils/order_factory.ts b/packages/contracts/test/utils/order_factory.ts index 009dbc396..c81aff269 100644 --- a/packages/contracts/test/utils/order_factory.ts +++ b/packages/contracts/test/utils/order_factory.ts @@ -2,6 +2,7 @@ import { generatePseudoRandomSalt, orderHashUtils } from '@0xproject/order-utils import { Order, SignatureType, SignedOrder } from '@0xproject/types'; import { BigNumber } from '@0xproject/utils'; +import { getLatestBlockTimestampAsync } from './block_timestamp'; import { constants } from './constants'; import { signingUtils } from './signing_utils'; @@ -12,15 +13,15 @@ export class OrderFactory { this._defaultOrderParams = defaultOrderParams; this._privateKey = privateKey; } - public newSignedOrder( + public async newSignedOrderAsync( customOrderParams: Partial<Order> = {}, signatureType: SignatureType = SignatureType.EthSign, - ): SignedOrder { - const tenMinutes = 10 * 60 * 1000; - const randomExpiration = new BigNumber(Date.now() + tenMinutes); + ): Promise<SignedOrder> { + const tenMinutesInSeconds = 10 * 60; + const currentBlockTimestamp = await getLatestBlockTimestampAsync(); const order = ({ senderAddress: constants.NULL_ADDRESS, - expirationTimeSeconds: randomExpiration, + expirationTimeSeconds: new BigNumber(currentBlockTimestamp).add(tenMinutesInSeconds), salt: generatePseudoRandomSalt(), takerAddress: constants.NULL_ADDRESS, ...this._defaultOrderParams, |