Remove domain from Order type
This commit is contained in:
@@ -111,10 +111,8 @@ describe('Coordinator tests', () => {
|
||||
takerAssetData: assetDataUtils.encodeERC20AssetData(erc20TokenB.address),
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(makerFeeToken.address),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(makerFeeToken.address),
|
||||
domain: {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const makerPrivateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
const takerPrivateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(takerAddress)];
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
} from '@0x/contracts-test-utils';
|
||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||
import { transactionHashUtils } from '@0x/order-utils';
|
||||
import { EIP712DomainWithDefaultSchema, RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
||||
import { RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
||||
import { BigNumber, LibBytesRevertErrors, providerUtils } from '@0x/utils';
|
||||
import * as chai from 'chai';
|
||||
import * as ethUtil from 'ethereumjs-util';
|
||||
@@ -34,7 +34,6 @@ describe('Mixins tests', () => {
|
||||
let approvalFactory2: ApprovalFactory;
|
||||
let defaultOrder: SignedOrder;
|
||||
const exchangeAddress = randomAddress();
|
||||
let exchangeDomain: EIP712DomainWithDefaultSchema;
|
||||
|
||||
before(async () => {
|
||||
await blockchainLifecycle.startAsync();
|
||||
@@ -54,10 +53,6 @@ describe('Mixins tests', () => {
|
||||
);
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
[transactionSignerAddress, approvalSignerAddress1, approvalSignerAddress2] = accounts.slice(0, 3);
|
||||
exchangeDomain = {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId,
|
||||
};
|
||||
defaultOrder = {
|
||||
makerAddress: constants.NULL_ADDRESS,
|
||||
takerAddress: constants.NULL_ADDRESS,
|
||||
@@ -74,7 +69,8 @@ describe('Mixins tests', () => {
|
||||
expirationTimeSeconds: constants.ZERO_AMOUNT,
|
||||
salt: constants.ZERO_AMOUNT,
|
||||
signature: constants.NULL_BYTES,
|
||||
domain: exchangeDomain,
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId,
|
||||
};
|
||||
const transactionSignerPrivateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(transactionSignerAddress)];
|
||||
const approvalSignerPrivateKey1 = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(approvalSignerAddress1)];
|
||||
@@ -152,7 +148,8 @@ describe('Mixins tests', () => {
|
||||
const decodedSignedOrders = decodedOrders.map(order => ({
|
||||
...order,
|
||||
signature: constants.NULL_BYTES,
|
||||
domain: exchangeDomain,
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId,
|
||||
}));
|
||||
expect(orders).to.deep.eq(decodedSignedOrders);
|
||||
});
|
||||
@@ -165,7 +162,8 @@ describe('Mixins tests', () => {
|
||||
const decodedSignedOrders = decodedOrders.map(order => ({
|
||||
...order,
|
||||
signature: constants.NULL_BYTES,
|
||||
domain: exchangeDomain,
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId,
|
||||
}));
|
||||
expect(orders).to.deep.eq(decodedSignedOrders);
|
||||
});
|
||||
@@ -178,7 +176,8 @@ describe('Mixins tests', () => {
|
||||
const decodedSignedOrders = decodedOrders.map(order => ({
|
||||
...order,
|
||||
signature: constants.NULL_BYTES,
|
||||
domain: exchangeDomain,
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId,
|
||||
}));
|
||||
expect(orders).to.deep.eq(decodedSignedOrders);
|
||||
});
|
||||
|
||||
@@ -120,10 +120,8 @@ describe('OrderValidationUtils/OrderTransferSimulatorUtils', () => {
|
||||
takerAssetData: erc20AssetData2,
|
||||
makerFeeAssetData: feeAssetData,
|
||||
takerFeeAssetData: feeAssetData,
|
||||
domain: {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
orderFactory = new OrderFactory(privateKey, defaultOrderParams);
|
||||
|
||||
@@ -120,10 +120,8 @@ blockchainTests(ContractName.Forwarder, env => {
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress),
|
||||
makerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT),
|
||||
takerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT),
|
||||
domain: {
|
||||
verifyingContract: exchangeInstance.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchangeInstance.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
orderFactory = new OrderFactory(privateKey, defaultOrderParams);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ReferenceFunctions } from '@0x/contracts-utils';
|
||||
import { LibMathRevertErrors } from '@0x/order-utils';
|
||||
import { FillResults, OrderWithoutDomain } from '@0x/types';
|
||||
import { FillResults, Order } from '@0x/types';
|
||||
import { BigNumber } from '@0x/utils';
|
||||
|
||||
const { safeAdd, safeSub, safeMul, safeDiv } = ReferenceFunctions;
|
||||
@@ -94,7 +94,7 @@ export function addFillResults(a: FillResults, b: FillResults): FillResults {
|
||||
* Calculates amounts filled and fees paid by maker and taker.
|
||||
*/
|
||||
export function calculateFillResults(
|
||||
order: OrderWithoutDomain,
|
||||
order: Order,
|
||||
takerAssetFilledAmount: BigNumber,
|
||||
protocolFeeMultiplier: BigNumber,
|
||||
gasPrice: BigNumber,
|
||||
|
||||
@@ -536,10 +536,8 @@ blockchainTests('LibFillResults', env => {
|
||||
feeRecipientAddress: randomAddress(),
|
||||
expirationTimeSeconds: randomUint256(),
|
||||
salt: randomUint256(),
|
||||
domain: {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
},
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
};
|
||||
|
||||
function makeOrder(details?: Partial<Order>): Order {
|
||||
@@ -547,7 +545,7 @@ blockchainTests('LibFillResults', env => {
|
||||
}
|
||||
|
||||
before(async () => {
|
||||
ORDER_DEFAULTS.domain.verifyingContract = libsContract.address;
|
||||
ORDER_DEFAULTS.exchangeAddress = libsContract.address;
|
||||
});
|
||||
|
||||
it('should correctly calculate the results when only the right order is fully filled', async () => {
|
||||
@@ -1209,10 +1207,8 @@ blockchainTests('LibFillResults', env => {
|
||||
feeRecipientAddress: randomAddress(),
|
||||
expirationTimeSeconds: randomUint256(),
|
||||
salt: randomUint256(),
|
||||
domain: {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
},
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
};
|
||||
|
||||
function makeOrder(details?: Partial<Order>): Order {
|
||||
@@ -1220,7 +1216,7 @@ blockchainTests('LibFillResults', env => {
|
||||
}
|
||||
|
||||
before(async () => {
|
||||
ORDER_DEFAULTS.domain.verifyingContract = libsContract.address;
|
||||
ORDER_DEFAULTS.exchangeAddress = libsContract.address;
|
||||
});
|
||||
|
||||
it('should transfer correct amounts when right order is fully filled', async () => {
|
||||
|
||||
@@ -16,10 +16,8 @@ blockchainTests('LibOrder', env => {
|
||||
const randomAssetData = () => hexRandom(36);
|
||||
|
||||
const EMPTY_ORDER: Order = {
|
||||
domain: {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId: 0,
|
||||
},
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId: 0,
|
||||
senderAddress: constants.NULL_ADDRESS,
|
||||
makerAddress: constants.NULL_ADDRESS,
|
||||
takerAddress: constants.NULL_ADDRESS,
|
||||
@@ -52,7 +50,8 @@ blockchainTests('LibOrder', env => {
|
||||
const expectedHash = orderHashUtils.getOrderHashHex(order);
|
||||
const domainHash = ethUtil.bufferToHex(
|
||||
signTypedDataUtils.generateDomainHash({
|
||||
...order.domain,
|
||||
chainId: order.chainId,
|
||||
exchangeAddress: order.exchangeAddress,
|
||||
name: constants.EIP712_DOMAIN_NAME,
|
||||
version: constants.EIP712_DOMAIN_VERSION,
|
||||
}),
|
||||
@@ -65,19 +64,14 @@ blockchainTests('LibOrder', env => {
|
||||
it('should correctly hash an empty order', async () => {
|
||||
await testGetTypedDataHashAsync({
|
||||
...EMPTY_ORDER,
|
||||
domain: {
|
||||
...EMPTY_ORDER.domain,
|
||||
verifyingContract: libOrderContract.address,
|
||||
},
|
||||
exchangeAddress: libOrderContract.address,
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly hash a non-empty order', async () => {
|
||||
await testGetTypedDataHashAsync({
|
||||
domain: {
|
||||
verifyingContract: libOrderContract.address,
|
||||
chainId: 1337,
|
||||
},
|
||||
exchangeAddress: libOrderContract.address,
|
||||
chainId: 1337,
|
||||
senderAddress: randomAddress(),
|
||||
makerAddress: randomAddress(),
|
||||
takerAddress: randomAddress(),
|
||||
@@ -98,14 +92,15 @@ blockchainTests('LibOrder', env => {
|
||||
it('orderHash should differ if the domain hash is different', async () => {
|
||||
const domainHash1 = ethUtil.bufferToHex(
|
||||
signTypedDataUtils.generateDomainHash({
|
||||
...EMPTY_ORDER.domain,
|
||||
chainId: EMPTY_ORDER.chainId,
|
||||
exchangeAddress: EMPTY_ORDER.exchangeAddress,
|
||||
name: constants.EIP712_DOMAIN_NAME,
|
||||
version: constants.EIP712_DOMAIN_VERSION,
|
||||
}),
|
||||
);
|
||||
const domainHash2 = ethUtil.bufferToHex(
|
||||
signTypedDataUtils.generateDomainHash({
|
||||
...EMPTY_ORDER.domain,
|
||||
exchangeAddress: EMPTY_ORDER.exchangeAddress,
|
||||
name: constants.EIP712_DOMAIN_NAME,
|
||||
version: constants.EIP712_DOMAIN_VERSION,
|
||||
chainId: 1337,
|
||||
@@ -135,10 +130,8 @@ blockchainTests('LibOrder', env => {
|
||||
it('should correctly hash a non-empty order', async () => {
|
||||
await testGetStructHashAsync({
|
||||
// The domain is not used in this test, so it's okay if it is left empty.
|
||||
domain: {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId: 0,
|
||||
},
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId: 0,
|
||||
senderAddress: randomAddress(),
|
||||
makerAddress: randomAddress(),
|
||||
takerAddress: randomAddress(),
|
||||
|
||||
@@ -217,10 +217,8 @@ blockchainTests.resets('Exchange core', () => {
|
||||
takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerAssetAddress),
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeAssetAddress),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeAssetAddress),
|
||||
domain: {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
orderFactory = new OrderFactory(privateKey, defaultOrderParams);
|
||||
|
||||
@@ -56,10 +56,8 @@ blockchainTests('Exchange core internal functions', env => {
|
||||
salt: new BigNumber(_.random(0, 1e8)),
|
||||
feeRecipientAddress: randomAddress(),
|
||||
expirationTimeSeconds: new BigNumber(_.random(0, 1e8)),
|
||||
domain: {
|
||||
verifyingContract: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
},
|
||||
exchangeAddress: constants.NULL_ADDRESS,
|
||||
chainId: 1337, // The chain id for the isolated exchange
|
||||
};
|
||||
|
||||
function makeOrder(details?: Partial<Order>): Order {
|
||||
@@ -67,7 +65,7 @@ blockchainTests('Exchange core internal functions', env => {
|
||||
}
|
||||
|
||||
before(async () => {
|
||||
ORDER_DEFAULTS.domain.verifyingContract = testExchange.address;
|
||||
ORDER_DEFAULTS.exchangeAddress = testExchange.address;
|
||||
});
|
||||
|
||||
it('should revert if the maker asset multiplication should overflow', async () => {
|
||||
@@ -292,7 +290,7 @@ blockchainTests('Exchange core internal functions', env => {
|
||||
);
|
||||
const logs = receipt.logs as Array<
|
||||
LogWithDecodedArgs<TestExchangeInternalsDispatchTransferFromCalledEventArgs>
|
||||
>;
|
||||
>;
|
||||
expect(logs.length === 4);
|
||||
expect(_.every(logs, log => log.event === 'DispatchTransferFromCalled')).to.be.true();
|
||||
// taker -> maker
|
||||
@@ -472,7 +470,7 @@ blockchainTests('Exchange core internal functions', env => {
|
||||
);
|
||||
const logs = receipt.logs as Array<
|
||||
LogWithDecodedArgs<TestExchangeInternalsDispatchTransferFromCalledEventArgs>
|
||||
>;
|
||||
>;
|
||||
|
||||
// Ensure that the logs have the correct lengths and names
|
||||
expect(logs.length).to.be.eq(7);
|
||||
@@ -566,7 +564,7 @@ blockchainTests('Exchange core internal functions', env => {
|
||||
);
|
||||
const logs = receipt.logs as Array<
|
||||
LogWithDecodedArgs<TestExchangeInternalsDispatchTransferFromCalledEventArgs>
|
||||
>;
|
||||
>;
|
||||
|
||||
// Ensure that the logs have the correct lengths and names
|
||||
expect(logs.length).to.be.eq(8);
|
||||
|
||||
@@ -198,10 +198,7 @@ describe('matchOrders', () => {
|
||||
defaultFeeTokenAddress = erc20Tokens[2].address;
|
||||
defaultERC721AssetAddress = erc721Token.address;
|
||||
defaultERC1155AssetAddress = erc1155Token.address;
|
||||
const domain = {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
|
||||
// Create default order parameters
|
||||
const defaultOrderParamsLeft = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
@@ -211,7 +208,8 @@ describe('matchOrders', () => {
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeTokenAddress),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeTokenAddress),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
domain,
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const defaultOrderParamsRight = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
@@ -221,7 +219,8 @@ describe('matchOrders', () => {
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeTokenAddress),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeTokenAddress),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
domain,
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKeyLeft = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddressLeft)];
|
||||
orderFactoryLeft = new OrderFactory(privateKeyLeft, defaultOrderParamsLeft);
|
||||
|
||||
@@ -435,10 +435,8 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(randomAddress()),
|
||||
makerFee: constants.ZERO_AMOUNT,
|
||||
takerFee: constants.ZERO_AMOUNT,
|
||||
domain: {
|
||||
verifyingContract: signatureValidator.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: signatureValidator.address,
|
||||
chainId,
|
||||
};
|
||||
orderFactory = new OrderFactory(signerPrivateKey, defaultOrderParams);
|
||||
});
|
||||
@@ -1148,7 +1146,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
expect(res.logs.length).to.equal(1);
|
||||
const log = signatureValidatorLogDecoder.decodeLogOrThrow(res.logs[0]) as LogWithDecodedArgs<
|
||||
TestSignatureValidatorSignatureValidatorApprovalEventArgs
|
||||
>;
|
||||
>;
|
||||
const logArgs = log.args;
|
||||
expect(logArgs.signerAddress).to.equal(signerAddress);
|
||||
expect(logArgs.validatorAddress).to.equal(validatorWallet.address);
|
||||
@@ -1166,7 +1164,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
expect(res.logs.length).to.equal(1);
|
||||
const log = signatureValidatorLogDecoder.decodeLogOrThrow(res.logs[0]) as LogWithDecodedArgs<
|
||||
TestSignatureValidatorSignatureValidatorApprovalEventArgs
|
||||
>;
|
||||
>;
|
||||
const logArgs = log.args;
|
||||
expect(logArgs.signerAddress).to.equal(signerAddress);
|
||||
expect(logArgs.validatorAddress).to.equal(validatorWallet.address);
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
TransactionFactory,
|
||||
} from '@0x/contracts-test-utils';
|
||||
import { assetDataUtils, ExchangeRevertErrors, orderHashUtils, transactionHashUtils } from '@0x/order-utils';
|
||||
import { EIP712DomainWithDefaultSchema, FillResults, OrderStatus } from '@0x/types';
|
||||
import { FillResults, OrderStatus } from '@0x/types';
|
||||
import { AbiEncoder, BigNumber } from '@0x/utils';
|
||||
import { LogWithDecodedArgs, MethodAbi } from 'ethereum-types';
|
||||
import * as ethUtil from 'ethereumjs-util';
|
||||
@@ -51,7 +51,6 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
let exchangeInstance: ExchangeContract;
|
||||
let erc20Proxy: ERC20ProxyContract;
|
||||
|
||||
let domain: EIP712DomainWithDefaultSchema;
|
||||
let orderFactory: OrderFactory;
|
||||
let makerTransactionFactory: TransactionFactory;
|
||||
let takerTransactionFactory: TransactionFactory;
|
||||
@@ -107,11 +106,6 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
defaultMakerFeeTokenAddress = makerFeeToken.address;
|
||||
defaultTakerFeeTokenAddress = takerFeeToken.address;
|
||||
|
||||
domain = {
|
||||
verifyingContract: exchangeInstance.address,
|
||||
chainId,
|
||||
};
|
||||
|
||||
const defaultOrderParams = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
makerAddress,
|
||||
@@ -120,7 +114,8 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerTokenAddress),
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerFeeTokenAddress),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerFeeTokenAddress),
|
||||
domain,
|
||||
exchangeAddress: exchangeInstance.address,
|
||||
chainId,
|
||||
};
|
||||
makerPrivateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
takerPrivateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(takerAddress)];
|
||||
@@ -146,7 +141,7 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
expect(transactionExecutionLogs.length).to.eq(1);
|
||||
const executionLogArgs = (transactionExecutionLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(executionLogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction),
|
||||
);
|
||||
@@ -611,7 +606,7 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
expect(validatorApprovalLogs.length).to.eq(1);
|
||||
const validatorApprovalLogArgs = (validatorApprovalLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeSignatureValidatorApprovalEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(validatorApprovalLogArgs.signerAddress).to.eq(takerAddress);
|
||||
expect(validatorApprovalLogArgs.validatorAddress).to.eq(validatorAddress);
|
||||
expect(validatorApprovalLogArgs.isApproved).to.eq(shouldApprove);
|
||||
@@ -633,7 +628,7 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
expect(validatorApprovalLogs.length).to.eq(1);
|
||||
const validatorApprovalLogArgs = (validatorApprovalLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeSignatureValidatorApprovalEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(validatorApprovalLogArgs.signerAddress).to.eq(takerAddress);
|
||||
expect(validatorApprovalLogArgs.validatorAddress).to.eq(validatorAddress);
|
||||
expect(validatorApprovalLogArgs.isApproved).to.eq(shouldApprove);
|
||||
@@ -661,14 +656,14 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
|
||||
const execution1LogArgs = (transactionExecutionLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution1LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction1),
|
||||
);
|
||||
|
||||
const execution2LogArgs = (transactionExecutionLogs[1] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution2LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction2),
|
||||
);
|
||||
@@ -727,14 +722,14 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
|
||||
const execution1LogArgs = (transactionExecutionLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution1LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction1),
|
||||
);
|
||||
|
||||
const execution2LogArgs = (transactionExecutionLogs[1] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution2LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction2),
|
||||
);
|
||||
@@ -792,14 +787,14 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
|
||||
const execution1LogArgs = (transactionExecutionLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution1LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction1),
|
||||
);
|
||||
|
||||
const execution2LogArgs = (transactionExecutionLogs[1] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution2LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction2),
|
||||
);
|
||||
@@ -886,14 +881,14 @@ blockchainTests.resets('Exchange transactions', env => {
|
||||
|
||||
const execution1LogArgs = (transactionExecutionLogs[0] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution1LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction1),
|
||||
);
|
||||
|
||||
const execution2LogArgs = (transactionExecutionLogs[1] as LogWithDecodedArgs<
|
||||
ExchangeTransactionExecutionEventArgs
|
||||
>).args;
|
||||
>).args;
|
||||
expect(execution2LogArgs.transactionHash).to.equal(
|
||||
transactionHashUtils.getTransactionHashHex(transaction2),
|
||||
);
|
||||
|
||||
@@ -101,11 +101,11 @@ export class IsolatedExchangeWrapper {
|
||||
}
|
||||
|
||||
public getOrderHash(order: Order): string {
|
||||
const domain = {
|
||||
verifyingContract: this.instance.address,
|
||||
const domainInfo = {
|
||||
exchangeAddress: this.instance.address,
|
||||
chainId: IsolatedExchangeWrapper.CHAIN_ID,
|
||||
};
|
||||
return orderHashUtils.getOrderHashHex({ ...order, domain });
|
||||
return orderHashUtils.getOrderHashHex({ ...order, ...domainInfo });
|
||||
}
|
||||
|
||||
public async getOrderInfoAsync(order: Order): Promise<OrderInfo> {
|
||||
@@ -126,11 +126,11 @@ export class IsolatedExchangeWrapper {
|
||||
TCallAsyncArgs extends any[],
|
||||
TAwaitTransactionSuccessAsyncArgs extends any[],
|
||||
TResult
|
||||
>(
|
||||
contractFunction: MutatorContractFunction<TCallAsyncArgs, TAwaitTransactionSuccessAsyncArgs, TResult>,
|
||||
// tslint:disable-next-line: trailing-comma
|
||||
...args: TAwaitTransactionSuccessAsyncArgs
|
||||
): Promise<TResult> {
|
||||
>(
|
||||
contractFunction: MutatorContractFunction<TCallAsyncArgs, TAwaitTransactionSuccessAsyncArgs, TResult>,
|
||||
// tslint:disable-next-line: trailing-comma
|
||||
...args: TAwaitTransactionSuccessAsyncArgs
|
||||
): Promise<TResult> {
|
||||
this.lastTxEvents = createEmptyEvents();
|
||||
this.lastTxBalanceChanges = {};
|
||||
const [result, receipt] = await this.txHelper.getResultAndReceiptAsync(contractFunction, ...args);
|
||||
|
||||
@@ -430,10 +430,8 @@ export class OrderFactoryFromScenario {
|
||||
salt: generatePseudoRandomSalt(),
|
||||
feeRecipientAddress,
|
||||
expirationTimeSeconds,
|
||||
domain: {
|
||||
verifyingContract: this._exchangeAddress,
|
||||
chainId: this._chainId,
|
||||
},
|
||||
exchangeAddress: this._exchangeAddress,
|
||||
chainId: this._chainId,
|
||||
};
|
||||
|
||||
return order;
|
||||
|
||||
@@ -97,10 +97,8 @@ blockchainTests.resets('Exchange wrappers', env => {
|
||||
takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerAssetAddress),
|
||||
makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeAssetAddress),
|
||||
takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultFeeAssetAddress),
|
||||
domain: {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)];
|
||||
orderFactory = new OrderFactory(privateKey, defaultOrderParams);
|
||||
@@ -607,7 +605,7 @@ blockchainTests.resets('Exchange wrappers', env => {
|
||||
protocolFeePaid: totalFillResults.protocolFeePaid.plus(currentFillResults.protocolFeePaid),
|
||||
}),
|
||||
nullFillResults,
|
||||
);
|
||||
);
|
||||
|
||||
expect(fillResults).to.deep.equal(expectedFillResults);
|
||||
expect(newBalances).to.be.deep.equal(erc20Balances);
|
||||
@@ -683,7 +681,7 @@ blockchainTests.resets('Exchange wrappers', env => {
|
||||
protocolFeePaid: totalFillResults.protocolFeePaid.plus(currentFillResults.protocolFeePaid),
|
||||
}),
|
||||
nullFillResults,
|
||||
);
|
||||
);
|
||||
|
||||
expect(fillResults).to.deep.equal(expectedFillResults);
|
||||
expect(newBalances).to.be.deep.equal(erc20Balances);
|
||||
@@ -799,7 +797,7 @@ blockchainTests.resets('Exchange wrappers', env => {
|
||||
protocolFeePaid: totalFillResults.protocolFeePaid.plus(currentFillResults.protocolFeePaid),
|
||||
}),
|
||||
nullFillResults,
|
||||
);
|
||||
);
|
||||
|
||||
expect(fillResults).to.deep.equal(expectedFillResults);
|
||||
expect(newBalances).to.be.deep.equal(erc20Balances);
|
||||
@@ -876,7 +874,7 @@ blockchainTests.resets('Exchange wrappers', env => {
|
||||
protocolFeePaid: totalFillResults.protocolFeePaid.plus(currentFillResults.protocolFeePaid),
|
||||
}),
|
||||
nullFillResults,
|
||||
);
|
||||
);
|
||||
|
||||
expect(fillResults).to.deep.equal(expectedFillResults);
|
||||
expect(newBalances).to.be.deep.equal(erc20Balances);
|
||||
|
||||
@@ -90,10 +90,8 @@ blockchainTests('Exchange wrapper functions unit tests.', env => {
|
||||
function getExpectedOrderHash(order: Order): string {
|
||||
return orderHashUtils.getOrderHashHex({
|
||||
...order,
|
||||
domain: {
|
||||
verifyingContract: testContract.address,
|
||||
chainId: CHAIN_ID,
|
||||
},
|
||||
exchangeAddress: testContract.address,
|
||||
chainId: CHAIN_ID,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -177,10 +177,8 @@ describe(ContractName.BalanceThresholdFilter, () => {
|
||||
makerFee: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), DECIMALS_DEFAULT),
|
||||
takerFee: Web3Wrapper.toBaseUnitAmount(new BigNumber(150), DECIMALS_DEFAULT),
|
||||
senderAddress: erc721BalanceThresholdFilterInstance.address,
|
||||
domain: {
|
||||
verifyingContract: exchangeInstance.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchangeInstance.address,
|
||||
chainId,
|
||||
};
|
||||
// Create two order factories with valid makers (who meet the threshold balance), and
|
||||
// one factory for an invalid address (that does not meet the threshold balance)
|
||||
|
||||
@@ -163,10 +163,8 @@ describe(ContractName.DutchAuction, () => {
|
||||
expirationTimeSeconds: auctionEndTimeSeconds,
|
||||
makerFee: constants.ZERO_AMOUNT,
|
||||
takerFee: constants.ZERO_AMOUNT,
|
||||
domain: {
|
||||
verifyingContract: exchangeInstance.address,
|
||||
chainId,
|
||||
},
|
||||
exchangeAddress: exchangeInstance.address,
|
||||
chainId,
|
||||
};
|
||||
// Default buy order is for the auction begin price
|
||||
const buyerDefaultOrderParams = {
|
||||
|
||||
@@ -166,11 +166,6 @@ describe('OrderMatcher', () => {
|
||||
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||
);
|
||||
|
||||
const domain = {
|
||||
verifyingContract: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
|
||||
// Create default order parameters
|
||||
const defaultOrderParamsLeft = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
@@ -180,7 +175,8 @@ describe('OrderMatcher', () => {
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
makerFee: constants.ZERO_AMOUNT,
|
||||
takerFee: constants.ZERO_AMOUNT,
|
||||
domain,
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const defaultOrderParamsRight = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
@@ -190,7 +186,8 @@ describe('OrderMatcher', () => {
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
makerFee: constants.ZERO_AMOUNT,
|
||||
takerFee: constants.ZERO_AMOUNT,
|
||||
domain,
|
||||
exchangeAddress: exchange.address,
|
||||
chainId,
|
||||
};
|
||||
const privateKeyLeft = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddressLeft)];
|
||||
orderFactoryLeft = new OrderFactory(privateKeyLeft, defaultOrderParamsLeft);
|
||||
|
||||
@@ -31,7 +31,7 @@ export const orderUtils = {
|
||||
return cancel;
|
||||
},
|
||||
getOrderWithoutDomain(signedOrder: SignedOrder): OrderWithoutDomain {
|
||||
return _.omit(signedOrder, ['signature', 'domain']) as OrderWithoutDomain;
|
||||
return _.omit(signedOrder, ['signature', 'exchangeAddress', 'chainId']) as OrderWithoutDomain;
|
||||
},
|
||||
createBatchMatchOrders(signedOrdersLeft: SignedOrder[], signedOrdersRight: SignedOrder[]): BatchMatchOrder {
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user