aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/test/utils/transaction_factory.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts/test/utils/transaction_factory.ts')
-rw-r--r--packages/contracts/test/utils/transaction_factory.ts34
1 files changed, 4 insertions, 30 deletions
diff --git a/packages/contracts/test/utils/transaction_factory.ts b/packages/contracts/test/utils/transaction_factory.ts
index 47880cca5..6e4cc4b2f 100644
--- a/packages/contracts/test/utils/transaction_factory.ts
+++ b/packages/contracts/test/utils/transaction_factory.ts
@@ -1,9 +1,4 @@
-import {
- EIP712_DOMAIN_NAME,
- EIP712_DOMAIN_SCHEMA,
- EIP712_DOMAIN_VERSION,
- generatePseudoRandomSalt,
-} from '@0xproject/order-utils';
+import { eip712Utils, generatePseudoRandomSalt } from '@0xproject/order-utils';
import { SignatureType } from '@0xproject/types';
import { signTypedDataUtils } from '@0xproject/utils';
import * as ethUtil from 'ethereumjs-util';
@@ -11,15 +6,6 @@ import * as ethUtil from 'ethereumjs-util';
import { signingUtils } from './signing_utils';
import { SignedTransaction } from './types';
-const EIP712_ZEROEX_TRANSACTION_SCHEMA = {
- name: 'ZeroExTransaction',
- parameters: [
- { name: 'salt', type: 'uint256' },
- { name: 'signerAddress', type: 'address' },
- { name: 'data', type: 'bytes' },
- ],
-};
-
export class TransactionFactory {
private readonly _signerBuff: Buffer;
private readonly _exchangeAddress: string;
@@ -33,30 +19,18 @@ export class TransactionFactory {
const salt = generatePseudoRandomSalt();
const signerAddress = `0x${this._signerBuff.toString('hex')}`;
const executeTransactionData = {
- salt: salt.toString(),
+ salt,
signerAddress,
data,
};
- const typedData = {
- types: {
- EIP712Domain: EIP712_DOMAIN_SCHEMA.parameters,
- ZeroExTransaction: EIP712_ZEROEX_TRANSACTION_SCHEMA.parameters,
- },
- domain: {
- name: EIP712_DOMAIN_NAME,
- version: EIP712_DOMAIN_VERSION,
- verifyingContract: this._exchangeAddress,
- },
- message: executeTransactionData,
- primaryType: EIP712_ZEROEX_TRANSACTION_SCHEMA.name,
- };
+
+ const typedData = eip712Utils.createZeroExTransactionTypedData(executeTransactionData, this._exchangeAddress);
const eip712MessageBuffer = signTypedDataUtils.signTypedDataHash(typedData);
const signature = signingUtils.signMessage(eip712MessageBuffer, this._privateKey, signatureType);
const signedTx = {
exchangeAddress: this._exchangeAddress,
signature: `0x${signature.toString('hex')}`,
...executeTransactionData,
- salt,
};
return signedTx;
}