aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/test/utils/order_factory.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts/test/utils/order_factory.ts')
-rw-r--r--packages/contracts/test/utils/order_factory.ts15
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/contracts/test/utils/order_factory.ts b/packages/contracts/test/utils/order_factory.ts
index 009dbc396..63a893695 100644
--- a/packages/contracts/test/utils/order_factory.ts
+++ b/packages/contracts/test/utils/order_factory.ts
@@ -2,25 +2,26 @@ 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';
export class OrderFactory {
- private _defaultOrderParams: Partial<Order>;
- private _privateKey: Buffer;
+ private readonly _defaultOrderParams: Partial<Order>;
+ private readonly _privateKey: Buffer;
constructor(privateKey: Buffer, defaultOrderParams: Partial<Order>) {
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,