aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/test/utils
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-07-18 20:51:24 +0800
committerGitHub <noreply@github.com>2018-07-18 20:51:24 +0800
commit857bd24c6db8ffd5353c20d0bd4b1c1fa29612ba (patch)
tree5b2394a3d4098d3b07df8f69ef797a77893ad7be /packages/contracts/test/utils
parentab6bf6edc70d6bfd27cdb7becce838dda8720e39 (diff)
parent904968cf4a899642d3f4e78abc53352125e17447 (diff)
downloaddexon-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.ts4
-rw-r--r--packages/contracts/test/utils/order_factory.ts11
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,