* add new packages * `@0x/protocol-utils`: Update with latest code from `@0x/contracs-zero-ex` + misc stuff * @0x/contracts-zero-ex`: Switch to using `@0x/protocol-utils` in most places * @0x/protocol-types`: Delete this package. * regen yarn lock * `@0x/contracts-zero-ex`: Unpin `@0x/protocol-utils` dep. * `@0x/contracts-integrations`: Fix borken test * update changelogs * `@0x/protocol-utils`: Update deps * `@0x/protocol-utils`: add tests * `@0x/protocol-utils`: More tests * `@0x/protocol-utils`: Update readme. * update deps * run prettier * `@0x/contract-artifacts`: Regenerate artifacts * `@0x/contract-wrappers`: Regenerate wrappers * `@0x/protocol-utils`: Update changelog * `@0x/contract-wrappers`: Export stuff for doc gen * `@0x/protocol-utils`: Use `Web3Wrapper.signTypedDataV4Async()` for MM compatibility. * upgrade org deps Co-authored-by: Lawrence Forman <me@merklejerk.com>
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { getRandomInteger, randomAddress } from '@0x/contracts-test-utils';
|
|
import { LimitOrder, LimitOrderFields, RfqOrder, RfqOrderFields } from '@0x/protocol-utils';
|
|
import { BigNumber, hexUtils } from '@0x/utils';
|
|
|
|
/**
|
|
* Generate a random limit order.
|
|
*/
|
|
export function getRandomLimitOrder(fields: Partial<LimitOrderFields> = {}): LimitOrder {
|
|
return new LimitOrder({
|
|
makerToken: randomAddress(),
|
|
takerToken: randomAddress(),
|
|
makerAmount: getRandomInteger('1e18', '100e18'),
|
|
takerAmount: getRandomInteger('1e6', '100e6'),
|
|
takerTokenFeeAmount: getRandomInteger('0.01e18', '1e18'),
|
|
maker: randomAddress(),
|
|
taker: randomAddress(),
|
|
sender: randomAddress(),
|
|
feeRecipient: randomAddress(),
|
|
pool: hexUtils.random(),
|
|
expiry: new BigNumber(Math.floor(Date.now() / 1000 + 60)),
|
|
salt: new BigNumber(hexUtils.random()),
|
|
...fields,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Generate a random RFQ order.
|
|
*/
|
|
export function getRandomRfqOrder(fields: Partial<RfqOrderFields> = {}): RfqOrder {
|
|
return new RfqOrder({
|
|
makerToken: randomAddress(),
|
|
takerToken: randomAddress(),
|
|
makerAmount: getRandomInteger('1e18', '100e18'),
|
|
takerAmount: getRandomInteger('1e6', '100e6'),
|
|
maker: randomAddress(),
|
|
txOrigin: randomAddress(),
|
|
pool: hexUtils.random(),
|
|
expiry: new BigNumber(Math.floor(Date.now() / 1000 + 60)),
|
|
salt: new BigNumber(hexUtils.random()),
|
|
...fields,
|
|
});
|
|
}
|