Removed takerTokenAddress and makerTokenAddress from Order struct.
This commit is contained in:
committed by
Amir Bandeali
parent
167654c9a0
commit
6be5fe928e
@@ -35,8 +35,8 @@ contract IExchange {
|
||||
address indexed maker,
|
||||
address taker,
|
||||
address indexed feeRecipient,
|
||||
address makerToken,
|
||||
address takerToken,
|
||||
bytes makerAssetData,
|
||||
bytes takerAssetData,
|
||||
uint256 makerTokenFilledAmount,
|
||||
uint256 takerTokenFilledAmount,
|
||||
uint256 makerFeePaid,
|
||||
@@ -47,8 +47,8 @@ contract IExchange {
|
||||
event LogCancel(
|
||||
address indexed maker,
|
||||
address indexed feeRecipient,
|
||||
address makerToken,
|
||||
address takerToken,
|
||||
bytes makerAssetData,
|
||||
bytes takerAssetData,
|
||||
uint256 makerTokenCancelledAmount,
|
||||
uint256 takerTokenCancelledAmount,
|
||||
bytes32 indexed orderHash
|
||||
|
||||
@@ -25,8 +25,6 @@ contract LibOrder {
|
||||
"address exchangeAddress",
|
||||
"address makerAddress",
|
||||
"address takerAddress",
|
||||
"address makerTokenAddress",
|
||||
"address takerTokenAddress",
|
||||
"address feeRecipientAddress",
|
||||
"uint256 makerTokenAmount",
|
||||
"uint256 takerTokenAmount",
|
||||
@@ -41,8 +39,6 @@ contract LibOrder {
|
||||
struct Order {
|
||||
address makerAddress;
|
||||
address takerAddress;
|
||||
address makerTokenAddress;
|
||||
address takerTokenAddress;
|
||||
address feeRecipientAddress;
|
||||
uint256 makerTokenAmount;
|
||||
uint256 takerTokenAmount;
|
||||
@@ -69,8 +65,6 @@ contract LibOrder {
|
||||
address(this),
|
||||
order.makerAddress,
|
||||
order.takerAddress,
|
||||
order.makerTokenAddress,
|
||||
order.takerTokenAddress,
|
||||
order.feeRecipientAddress,
|
||||
order.makerTokenAmount,
|
||||
order.takerTokenAmount,
|
||||
|
||||
@@ -53,8 +53,8 @@ contract MixinExchangeCore is
|
||||
address indexed makerAddress,
|
||||
address takerAddress,
|
||||
address indexed feeRecipientAddress,
|
||||
address makerTokenAddress,
|
||||
address takerTokenAddress,
|
||||
bytes makerAssetData,
|
||||
bytes takerAssetData,
|
||||
uint256 makerTokenFilledAmount,
|
||||
uint256 takerTokenFilledAmount,
|
||||
uint256 makerFeePaid,
|
||||
@@ -65,8 +65,8 @@ contract MixinExchangeCore is
|
||||
event Cancel(
|
||||
address indexed makerAddress,
|
||||
address indexed feeRecipientAddress,
|
||||
address makerTokenAddress,
|
||||
address takerTokenAddress,
|
||||
bytes makerAssetData,
|
||||
bytes takerAssetData,
|
||||
bytes32 indexed orderHash
|
||||
);
|
||||
|
||||
@@ -153,8 +153,8 @@ contract MixinExchangeCore is
|
||||
order.makerAddress,
|
||||
msg.sender,
|
||||
order.feeRecipientAddress,
|
||||
order.makerTokenAddress,
|
||||
order.takerTokenAddress,
|
||||
order.makerAssetData,
|
||||
order.takerAssetData,
|
||||
fillResults.makerTokenFilledAmount,
|
||||
fillResults.takerTokenFilledAmount,
|
||||
fillResults.makerFeePaid,
|
||||
@@ -195,8 +195,8 @@ contract MixinExchangeCore is
|
||||
emit Cancel(
|
||||
order.makerAddress,
|
||||
order.feeRecipientAddress,
|
||||
order.makerTokenAddress,
|
||||
order.takerTokenAddress,
|
||||
order.makerAssetData,
|
||||
order.takerAssetData,
|
||||
orderHash
|
||||
);
|
||||
return true;
|
||||
|
||||
@@ -22,11 +22,13 @@ pragma experimental ABIEncoderV2;
|
||||
import "./mixins/MExchangeCore.sol";
|
||||
import "./LibPartialAmount.sol";
|
||||
import "../../utils/SafeMath/SafeMath.sol";
|
||||
import "../../utils/LibBytes/LibBytes.sol";
|
||||
|
||||
/// @dev Consumes MExchangeCore
|
||||
contract MixinWrapperFunctions is
|
||||
MExchangeCore,
|
||||
SafeMath,
|
||||
LibBytes,
|
||||
LibPartialAmount
|
||||
{
|
||||
/// @dev Fills the input order. Reverts if exact takerTokenFillAmount not filled.
|
||||
@@ -73,26 +75,24 @@ contract MixinWrapperFunctions is
|
||||
// | | 0x00 | | 1. offset to order (*) |
|
||||
// | | 0x20 | | 2. takerTokenFillAmount |
|
||||
// | | 0x40 | | 3. offset to signature (*) |
|
||||
// | Data | | 13 * 32 | order: |
|
||||
// | Data | | 11 * 32 | order: |
|
||||
// | | 0x000 | | 1. makerAddress |
|
||||
// | | 0x020 | | 2. takerAddress |
|
||||
// | | 0x040 | | 3. makerTokenAddress |
|
||||
// | | 0x060 | | 4. takerTokenAddress |
|
||||
// | | 0x080 | | 5. feeRecipientAddress |
|
||||
// | | 0x0A0 | | 6. makerTokenAmount |
|
||||
// | | 0x0C0 | | 7. takerTokenAmount |
|
||||
// | | 0x0E0 | | 8. makerFeeAmount |
|
||||
// | | 0x100 | | 9. takerFeeAmount |
|
||||
// | | 0x120 | | 10. expirationTimeSeconds |
|
||||
// | | 0x140 | | 11. salt |
|
||||
// | | 0x160 | | 12. Offset to makerAssetProxyMetadata (*) |
|
||||
// | | 0x180 | | 13. Offset to takerAssetProxyMetadata (*) |
|
||||
// | | 0x1A0 | 32 | makerAssetProxyMetadata Length |
|
||||
// | | 0x1C0 | ** | makerAssetProxyMetadata Contents |
|
||||
// | | 0x1E0 | 32 | takerAssetProxyMetadata Length |
|
||||
// | | 0x200 | ** | takerAssetProxyMetadata Contents |
|
||||
// | | 0x220 | 32 | signature Length |
|
||||
// | | 0x240 | ** | signature Contents |
|
||||
// | | 0x040 | | 3. feeRecipientAddress |
|
||||
// | | 0x060 | | 4. makerTokenAmount |
|
||||
// | | 0x080 | | 5. takerTokenAmount |
|
||||
// | | 0x0A0 | | 6. makerFeeAmount |
|
||||
// | | 0x0C0 | | 7. takerFeeAmount |
|
||||
// | | 0x0E0 | | 8. expirationTimeSeconds |
|
||||
// | | 0x100 | | 9. salt |
|
||||
// | | 0x120 | | 10. Offset to makerAssetProxyMetadata (*) |
|
||||
// | | 0x140 | | 11. Offset to takerAssetProxyMetadata (*) |
|
||||
// | | 0x160 | 32 | makerAssetProxyMetadata Length |
|
||||
// | | 0x180 | ** | makerAssetProxyMetadata Contents |
|
||||
// | | 0x1A0 | 32 | takerAssetProxyMetadata Length |
|
||||
// | | 0x1C0 | ** | takerAssetProxyMetadata Contents |
|
||||
// | | 0x1E0 | 32 | signature Length |
|
||||
// | | 0x200 | ** | signature Contents |
|
||||
|
||||
// * Offsets are calculated from the beginning of the current area: Header, Params, Data:
|
||||
// An offset stored in the Params area is calculated from the beginning of the Params section.
|
||||
@@ -149,22 +149,20 @@ contract MixinWrapperFunctions is
|
||||
// the stores sequentially.
|
||||
mstore(dataAreaEnd, mload(sourceOffset)) // makerAddress
|
||||
mstore(add(dataAreaEnd, 0x20), mload(add(sourceOffset, 0x20))) // takerAddress
|
||||
mstore(add(dataAreaEnd, 0x40), mload(add(sourceOffset, 0x40))) // makerTokenAddress
|
||||
mstore(add(dataAreaEnd, 0x60), mload(add(sourceOffset, 0x60))) // takerTokenAddress
|
||||
mstore(add(dataAreaEnd, 0x80), mload(add(sourceOffset, 0x80))) // feeRecipientAddress
|
||||
mstore(add(dataAreaEnd, 0xA0), mload(add(sourceOffset, 0xA0))) // makerTokenAmount
|
||||
mstore(add(dataAreaEnd, 0xC0), mload(add(sourceOffset, 0xC0))) // takerTokenAmount
|
||||
mstore(add(dataAreaEnd, 0xE0), mload(add(sourceOffset, 0xE0))) // makerFeeAmount
|
||||
mstore(add(dataAreaEnd, 0x100), mload(add(sourceOffset, 0x100))) // takerFeeAmount
|
||||
mstore(add(dataAreaEnd, 0x120), mload(add(sourceOffset, 0x120))) // expirationTimeSeconds
|
||||
mstore(add(dataAreaEnd, 0x140), mload(add(sourceOffset, 0x140))) // salt
|
||||
mstore(add(dataAreaEnd, 0x160), mload(add(sourceOffset, 0x160))) // Offset to makerAssetProxyMetadata
|
||||
mstore(add(dataAreaEnd, 0x180), mload(add(sourceOffset, 0x180))) // Offset to takerAssetProxyMetadata
|
||||
dataAreaEnd := add(dataAreaEnd, 0x1A0)
|
||||
sourceOffset := add(sourceOffset, 0x1A0)
|
||||
mstore(add(dataAreaEnd, 0x40), mload(add(sourceOffset, 0x40))) // feeRecipientAddress
|
||||
mstore(add(dataAreaEnd, 0x60), mload(add(sourceOffset, 0x60))) // makerTokenAmount
|
||||
mstore(add(dataAreaEnd, 0x80), mload(add(sourceOffset, 0x80))) // takerTokenAmount
|
||||
mstore(add(dataAreaEnd, 0xA0), mload(add(sourceOffset, 0xA0))) // makerFeeAmount
|
||||
mstore(add(dataAreaEnd, 0xC0), mload(add(sourceOffset, 0xC0))) // takerFeeAmount
|
||||
mstore(add(dataAreaEnd, 0xE0), mload(add(sourceOffset, 0xE0))) // expirationTimeSeconds
|
||||
mstore(add(dataAreaEnd, 0x100), mload(add(sourceOffset, 0x100))) // salt
|
||||
mstore(add(dataAreaEnd, 0x120), mload(add(sourceOffset, 0x120))) // Offset to makerAssetProxyMetadata
|
||||
mstore(add(dataAreaEnd, 0x140), mload(add(sourceOffset, 0x140))) // Offset to takerAssetProxyMetadata
|
||||
dataAreaEnd := add(dataAreaEnd, 0x160)
|
||||
sourceOffset := add(sourceOffset, 0x160)
|
||||
|
||||
// Write offset to <order.makerAssetProxyMetadata>
|
||||
mstore(add(dataAreaStart, mul(11, 0x20)), sub(dataAreaEnd, dataAreaStart))
|
||||
mstore(add(dataAreaStart, mul(9, 0x20)), sub(dataAreaEnd, dataAreaStart))
|
||||
|
||||
// Calculate length of <order.makerAssetProxyMetadata>
|
||||
arrayLenBytes := mload(sourceOffset)
|
||||
@@ -183,7 +181,7 @@ contract MixinWrapperFunctions is
|
||||
}
|
||||
|
||||
// Write offset to <order.takerAssetProxyMetadata>
|
||||
mstore(add(dataAreaStart, mul(12, 0x20)), sub(dataAreaEnd, dataAreaStart))
|
||||
mstore(add(dataAreaStart, mul(10, 0x20)), sub(dataAreaEnd, dataAreaStart))
|
||||
|
||||
// Calculate length of <order.takerAssetProxyMetadata>
|
||||
arrayLenBytes := mload(sourceOffset)
|
||||
@@ -325,7 +323,7 @@ contract MixinWrapperFunctions is
|
||||
for (uint256 i = 0; i < orders.length; i++) {
|
||||
|
||||
// Token being sold by taker must be the same for each order
|
||||
require(orders[i].takerTokenAddress == orders[0].takerTokenAddress);
|
||||
require(areBytesEqual(orders[i].takerAssetData, orders[0].takerAssetData));
|
||||
|
||||
// Calculate the remaining amount of takerToken to sell
|
||||
uint256 remainingTakerTokenFillAmount = safeSub(takerTokenFillAmount, totalFillResults.takerTokenFilledAmount);
|
||||
@@ -364,7 +362,7 @@ contract MixinWrapperFunctions is
|
||||
for (uint256 i = 0; i < orders.length; i++) {
|
||||
|
||||
// Token being sold by taker must be the same for each order
|
||||
require(orders[i].takerTokenAddress == orders[0].takerTokenAddress);
|
||||
require(areBytesEqual(orders[i].takerAssetData, orders[0].takerAssetData));
|
||||
|
||||
// Calculate the remaining amount of takerToken to sell
|
||||
uint256 remainingTakerTokenFillAmount = safeSub(takerTokenFillAmount, totalFillResults.takerTokenFilledAmount);
|
||||
@@ -402,7 +400,7 @@ contract MixinWrapperFunctions is
|
||||
for (uint256 i = 0; i < orders.length; i++) {
|
||||
|
||||
// Token being bought by taker must be the same for each order
|
||||
require(orders[i].makerTokenAddress == orders[0].makerTokenAddress);
|
||||
require(areBytesEqual(orders[i].makerAssetData, orders[0].makerAssetData));
|
||||
|
||||
// Calculate the remaining amount of makerToken to buy
|
||||
uint256 remainingMakerTokenFillAmount = safeSub(makerTokenFillAmount, totalFillResults.makerTokenFilledAmount);
|
||||
@@ -449,7 +447,7 @@ contract MixinWrapperFunctions is
|
||||
for (uint256 i = 0; i < orders.length; i++) {
|
||||
|
||||
// Token being bought by taker must be the same for each order
|
||||
require(orders[i].makerTokenAddress == orders[0].makerTokenAddress);
|
||||
require(areBytesEqual(orders[i].makerAssetData, orders[0].makerAssetData));
|
||||
|
||||
// Calculate the remaining amount of makerToken to buy
|
||||
uint256 remainingMakerTokenFillAmount = safeSub(makerTokenFillAmount, totalFillResults.makerTokenFilledAmount);
|
||||
|
||||
@@ -20,6 +20,37 @@ pragma solidity ^0.4.21;
|
||||
|
||||
contract LibBytes {
|
||||
|
||||
/// @dev Compares two byte arrays.
|
||||
/// @param lhs First byte array to compare.
|
||||
/// @param rhs Second byte array.
|
||||
/// @return True if arrays are the same.
|
||||
function areBytesEqual(bytes memory lhs, bytes memory rhs)
|
||||
public
|
||||
returns (bool equal)
|
||||
{
|
||||
assembly {
|
||||
// Get the number of words occupied by <lhs>
|
||||
let lenFullWords := div(add(mload(lhs), 0x1F), 0x20)
|
||||
|
||||
// Add 1 to the number of words, to account for the length field
|
||||
lenFullWords := add(lenFullWords, 0x1)
|
||||
|
||||
// Verify equality word-by-word.
|
||||
// Terminates early if there is a mismatch.
|
||||
for {let i := 0} lt(i, lenFullWords) {i := add(i, 1)} {
|
||||
let lhsWord := mload(add(lhs, mul(i, 0x20)))
|
||||
let rhsWord := mload(add(rhs, mul(i, 0x20)))
|
||||
equal := eq(lhsWord, rhsWord)
|
||||
if eq(equal, 0) {
|
||||
// Break
|
||||
i := lenFullWords
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return equal;
|
||||
}
|
||||
|
||||
/// @dev Reads an address from a position in a byte array.
|
||||
/// @param b Byte array containing an address.
|
||||
/// @param index Index in byte array of address.
|
||||
|
||||
@@ -26,8 +26,6 @@ export const orderUtils = {
|
||||
const orderStruct = {
|
||||
makerAddress: signedOrder.makerAddress,
|
||||
takerAddress: signedOrder.takerAddress,
|
||||
makerTokenAddress: signedOrder.makerTokenAddress,
|
||||
takerTokenAddress: signedOrder.takerTokenAddress,
|
||||
feeRecipientAddress: signedOrder.feeRecipientAddress,
|
||||
makerTokenAmount: signedOrder.makerTokenAmount,
|
||||
takerTokenAmount: signedOrder.takerTokenAmount,
|
||||
@@ -45,8 +43,6 @@ export const orderUtils = {
|
||||
'address exchangeAddress',
|
||||
'address makerAddress',
|
||||
'address takerAddress',
|
||||
'address makerTokenAddress',
|
||||
'address takerTokenAddress',
|
||||
'address feeRecipientAddress',
|
||||
'uint256 makerTokenAmount',
|
||||
'uint256 takerTokenAmount',
|
||||
@@ -61,8 +57,6 @@ export const orderUtils = {
|
||||
order.exchangeAddress,
|
||||
order.makerAddress,
|
||||
order.takerAddress,
|
||||
order.makerTokenAddress,
|
||||
order.takerTokenAddress,
|
||||
order.feeRecipientAddress,
|
||||
order.makerTokenAmount,
|
||||
order.takerTokenAmount,
|
||||
|
||||
@@ -139,8 +139,6 @@ export interface SignedOrder extends UnsignedOrder {
|
||||
export interface OrderStruct {
|
||||
makerAddress: string;
|
||||
takerAddress: string;
|
||||
makerTokenAddress: string;
|
||||
takerTokenAddress: string;
|
||||
feeRecipientAddress: string;
|
||||
makerTokenAmount: BigNumber;
|
||||
takerTokenAmount: BigNumber;
|
||||
|
||||
@@ -78,6 +78,9 @@ describe('Exchange', () => {
|
||||
new BigNumber('0x4040404040404040404040404040404040404040404040404040404040404040'),
|
||||
];
|
||||
|
||||
let defaultMakerTokenAddress: string;
|
||||
let defaultTakerTokenAddress: string;
|
||||
|
||||
let zeroEx: ZeroEx;
|
||||
|
||||
before(async () => {
|
||||
@@ -176,12 +179,13 @@ describe('Exchange', () => {
|
||||
});
|
||||
exWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
|
||||
defaultMakerTokenAddress = rep.address;
|
||||
defaultTakerTokenAddress = dgd.address;
|
||||
|
||||
const defaultOrderParams = {
|
||||
exchangeAddress: exchange.address,
|
||||
makerAddress,
|
||||
feeRecipientAddress,
|
||||
makerTokenAddress: rep.address,
|
||||
takerTokenAddress: dgd.address,
|
||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerFee: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
@@ -327,20 +331,20 @@ describe('Exchange', () => {
|
||||
const takerFeePaid = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFeePaid),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFeePaid),
|
||||
@@ -380,20 +384,20 @@ describe('Exchange', () => {
|
||||
const takerFeePaid = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFeePaid),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFeePaid),
|
||||
@@ -433,20 +437,20 @@ describe('Exchange', () => {
|
||||
const takerFeePaid = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFeePaid),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFeePaid),
|
||||
@@ -488,20 +492,20 @@ describe('Exchange', () => {
|
||||
const takerFeePaid = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFeePaid),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFeePaid),
|
||||
@@ -524,20 +528,20 @@ describe('Exchange', () => {
|
||||
);
|
||||
const newBalances = await dmyBalances.getAsync();
|
||||
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(signedOrder.makerTokenAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(signedOrder.makerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(signedOrder.takerTokenAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(signedOrder.takerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(signedOrder.makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(signedOrder.takerTokenAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(signedOrder.takerTokenAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(signedOrder.makerTokenAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(signedOrder.makerTokenAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(signedOrder.takerFee),
|
||||
@@ -564,8 +568,8 @@ describe('Exchange', () => {
|
||||
expect(signedOrder.makerAddress).to.be.equal(logArgs.makerAddress);
|
||||
expect(takerAddress).to.be.equal(logArgs.takerAddress);
|
||||
expect(signedOrder.feeRecipientAddress).to.be.equal(logArgs.feeRecipientAddress);
|
||||
expect(signedOrder.makerTokenAddress).to.be.equal(logArgs.makerTokenAddress);
|
||||
expect(signedOrder.takerTokenAddress).to.be.equal(logArgs.takerTokenAddress);
|
||||
expect(signedOrder.makerAssetData).to.be.equal(logArgs.makerAssetData);
|
||||
expect(signedOrder.takerAssetData).to.be.equal(logArgs.takerAssetData);
|
||||
expect(expectedFilledMakerTokenAmount).to.be.bignumber.equal(logArgs.makerTokenFilledAmount);
|
||||
expect(expectedFilledTakerTokenAmount).to.be.bignumber.equal(logArgs.takerTokenFilledAmount);
|
||||
expect(expectedFeeMPaid).to.be.bignumber.equal(logArgs.makerFeePaid);
|
||||
@@ -593,8 +597,8 @@ describe('Exchange', () => {
|
||||
expect(signedOrder.makerAddress).to.be.equal(logArgs.makerAddress);
|
||||
expect(takerAddress).to.be.equal(logArgs.takerAddress);
|
||||
expect(signedOrder.feeRecipientAddress).to.be.equal(logArgs.feeRecipientAddress);
|
||||
expect(signedOrder.makerTokenAddress).to.be.equal(logArgs.makerTokenAddress);
|
||||
expect(signedOrder.takerTokenAddress).to.be.equal(logArgs.takerTokenAddress);
|
||||
expect(signedOrder.makerAssetData).to.be.equal(logArgs.makerAssetData);
|
||||
expect(signedOrder.takerAssetData).to.be.equal(logArgs.takerAssetData);
|
||||
expect(expectedFilledMakerTokenAmount).to.be.bignumber.equal(logArgs.makerTokenFilledAmount);
|
||||
expect(expectedFilledTakerTokenAmount).to.be.bignumber.equal(logArgs.takerTokenFilledAmount);
|
||||
expect(expectedFeeMPaid).to.be.bignumber.equal(logArgs.makerFeePaid);
|
||||
@@ -767,8 +771,8 @@ describe('Exchange', () => {
|
||||
|
||||
expect(signedOrder.makerAddress).to.be.equal(logArgs.makerAddress);
|
||||
expect(signedOrder.feeRecipientAddress).to.be.equal(logArgs.feeRecipientAddress);
|
||||
expect(signedOrder.makerTokenAddress).to.be.equal(logArgs.makerTokenAddress);
|
||||
expect(signedOrder.takerTokenAddress).to.be.equal(logArgs.takerTokenAddress);
|
||||
expect(signedOrder.makerAssetData).to.be.equal(logArgs.makerAssetData);
|
||||
expect(signedOrder.takerAssetData).to.be.equal(logArgs.takerAssetData);
|
||||
expect(orderUtils.getOrderHashHex(signedOrder)).to.be.equal(logArgs.orderHash);
|
||||
});
|
||||
|
||||
@@ -850,20 +854,20 @@ describe('Exchange', () => {
|
||||
const fillTakerTokenAmount = signedOrders[2].takerTokenAmount.add(signedOrders[3].takerTokenAmount);
|
||||
const makerFee = signedOrders[2].makerFee.add(signedOrders[3].makerFee);
|
||||
const takerFee = signedOrders[2].takerFee.add(signedOrders[3].takerFee);
|
||||
expect(newBalances[makerAddress][signedOrders[3].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[3].makerTokenAddress].minus(fillMakerTokenAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(fillMakerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrders[3].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[3].takerTokenAddress].add(fillTakerTokenAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(fillTakerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[3].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[3].takerTokenAddress].minus(fillTakerTokenAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(fillTakerTokenAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[3].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[3].makerTokenAddress].add(fillMakerTokenAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(fillMakerTokenAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -880,8 +884,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
const takerTokenId = erc721TakerTokenIds[1];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -907,8 +909,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721TakerTokenIds[0];
|
||||
const takerTokenId = erc721TakerTokenIds[1];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -931,8 +931,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
const takerTokenId = erc721MakerTokenIds[1];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -955,8 +953,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
const takerTokenId = erc721TakerTokenIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(2),
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -979,8 +975,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
const takerTokenId = erc721TakerTokenIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(500),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -1003,8 +997,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
const takerTokenId = erc721TakerTokenIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(0),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -1026,12 +1018,10 @@ describe('Exchange', () => {
|
||||
// Construct Exchange parameters
|
||||
const makerTokenId = erc721MakerTokenIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: dgd.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
takerAssetData: encodeERC20ProxyData(dgd.address),
|
||||
takerAssetData: encodeERC20ProxyData(defaultTakerTokenAddress),
|
||||
});
|
||||
// Verify pre-conditions
|
||||
const initialOwnerMakerToken = await erc721Token.ownerOf.callAsync(makerTokenId);
|
||||
@@ -1045,11 +1035,11 @@ describe('Exchange', () => {
|
||||
expect(newOwnerMakerToken).to.be.bignumber.equal(takerAddress);
|
||||
// Verify ERC20 tokens were transferred from Taker to Maker & fees were paid correctly
|
||||
const newBalances = await dmyBalances.getAsync();
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(signedOrder.makerFee),
|
||||
@@ -1066,12 +1056,10 @@ describe('Exchange', () => {
|
||||
// Construct Exchange parameters
|
||||
const takerTokenId = erc721TakerTokenIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAddress: dgd.address,
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetData: encodeERC721ProxyData(erc721Token.address, takerTokenId),
|
||||
makerAssetData: encodeERC20ProxyData(dgd.address),
|
||||
makerAssetData: encodeERC20ProxyData(defaultMakerTokenAddress),
|
||||
});
|
||||
// Verify pre-conditions
|
||||
const initialOwnerTakerToken = await erc721Token.ownerOf.callAsync(takerTokenId);
|
||||
@@ -1085,11 +1073,11 @@ describe('Exchange', () => {
|
||||
expect(newOwnerTakerToken).to.be.bignumber.equal(makerAddress);
|
||||
// Verify ERC20 tokens were transferred from Maker to Taker & fees were paid correctly
|
||||
const newBalances = await dmyBalances.getAsync();
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(signedOrder.makerTokenAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(signedOrder.makerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(signedOrder.makerTokenAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(signedOrder.makerTokenAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(signedOrder.makerFee),
|
||||
|
||||
@@ -56,8 +56,6 @@ describe('Exchange', () => {
|
||||
exchangeAddress: exchange.address,
|
||||
makerAddress,
|
||||
feeRecipientAddress,
|
||||
makerTokenAddress: rep.address,
|
||||
takerTokenAddress: dgd.address,
|
||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerFee: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
|
||||
@@ -55,6 +55,9 @@ describe('Exchange', () => {
|
||||
const erc721MakerTokenId = new BigNumber('0x1010101010101010101010101010101010101010101010101010101010101010');
|
||||
const erc721TakerTokenId = new BigNumber('0x3030303030303030303030303030303030303030303030303030303030303030');
|
||||
|
||||
let defaultMakerTokenAddress: string;
|
||||
let defaultTakerTokenAddress: string;
|
||||
|
||||
before(async () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
tokenOwner = accounts[0];
|
||||
@@ -123,12 +126,12 @@ describe('Exchange', () => {
|
||||
const zeroEx = new ZeroEx(provider, { networkId: constants.TESTRPC_NETWORK_ID });
|
||||
exWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
|
||||
defaultMakerTokenAddress = rep.address;
|
||||
defaultTakerTokenAddress = dgd.address;
|
||||
const defaultOrderParams = {
|
||||
exchangeAddress: exchange.address,
|
||||
makerAddress,
|
||||
feeRecipientAddress,
|
||||
makerTokenAddress: rep.address,
|
||||
takerTokenAddress: dgd.address,
|
||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerFee: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
@@ -192,20 +195,20 @@ describe('Exchange', () => {
|
||||
const takerFee = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -260,20 +263,20 @@ describe('Exchange', () => {
|
||||
const takerFee = signedOrder.takerFee
|
||||
.times(makerTokenFilledAmount)
|
||||
.dividedToIntegerBy(signedOrder.makerTokenAmount);
|
||||
expect(newBalances[makerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrder.takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrder.makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrder.makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -334,7 +337,6 @@ describe('Exchange', () => {
|
||||
it('should not change balances if makerTokenAddress is ZRX, makerTokenAmount + makerFee > maker balance', async () => {
|
||||
const makerZRXBalance = new BigNumber(balances[makerAddress][zrx.address]);
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: zrx.address,
|
||||
makerTokenAmount: makerZRXBalance,
|
||||
makerFee: new BigNumber(1),
|
||||
makerAssetData: encodeERC20ProxyData(zrx.address),
|
||||
@@ -347,7 +349,6 @@ describe('Exchange', () => {
|
||||
it('should not change balances if makerTokenAddress is ZRX, makerTokenAmount + makerFee > maker allowance', async () => {
|
||||
const makerZRXAllowance = await zrx.allowance.callAsync(makerAddress, erc20TransferProxy.address);
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: zrx.address,
|
||||
makerTokenAmount: new BigNumber(makerZRXAllowance),
|
||||
makerFee: new BigNumber(1),
|
||||
makerAssetData: encodeERC20ProxyData(zrx.address),
|
||||
@@ -360,7 +361,6 @@ describe('Exchange', () => {
|
||||
it('should not change balances if takerTokenAddress is ZRX, takerTokenAmount + takerFee > taker balance', async () => {
|
||||
const takerZRXBalance = new BigNumber(balances[takerAddress][zrx.address]);
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
takerTokenAddress: zrx.address,
|
||||
takerTokenAmount: takerZRXBalance,
|
||||
takerFee: new BigNumber(1),
|
||||
takerAssetData: encodeERC20ProxyData(zrx.address),
|
||||
@@ -373,7 +373,6 @@ describe('Exchange', () => {
|
||||
it('should not change balances if takerTokenAddress is ZRX, takerTokenAmount + takerFee > taker allowance', async () => {
|
||||
const takerZRXAllowance = await zrx.allowance.callAsync(takerAddress, erc20TransferProxy.address);
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
takerTokenAddress: zrx.address,
|
||||
takerTokenAmount: new BigNumber(takerZRXAllowance),
|
||||
takerFee: new BigNumber(1),
|
||||
takerAssetData: encodeERC20ProxyData(zrx.address),
|
||||
@@ -388,8 +387,6 @@ describe('Exchange', () => {
|
||||
const makerTokenId = erc721MakerTokenId;
|
||||
const takerTokenId = erc721TakerTokenId;
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerTokenAddress: erc721Token.address,
|
||||
takerTokenAddress: erc721Token.address,
|
||||
makerTokenAmount: new BigNumber(1),
|
||||
takerTokenAmount: new BigNumber(1),
|
||||
makerAssetData: encodeERC721ProxyData(erc721Token.address, makerTokenId),
|
||||
@@ -640,20 +637,20 @@ describe('Exchange', () => {
|
||||
);
|
||||
const makerFee = signedOrders[0].makerFee.add(signedOrders[1].makerFee.dividedToIntegerBy(2));
|
||||
const takerFee = signedOrders[0].takerFee.add(signedOrders[1].takerFee.dividedToIntegerBy(2));
|
||||
expect(newBalances[makerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -666,20 +663,20 @@ describe('Exchange', () => {
|
||||
it('should fill all signedOrders if cannot fill entire takerTokenFillAmount', async () => {
|
||||
const takerTokenFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
balances[makerAddress][signedOrder.makerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[makerAddress][defaultMakerTokenAddress] = balances[makerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].minus(signedOrder.makerTokenAmount);
|
||||
balances[makerAddress][signedOrder.takerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[makerAddress][defaultTakerTokenAddress] = balances[makerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].add(signedOrder.takerTokenAmount);
|
||||
balances[makerAddress][zrx.address] = balances[makerAddress][zrx.address].minus(
|
||||
signedOrder.makerFee,
|
||||
);
|
||||
balances[takerAddress][signedOrder.makerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[takerAddress][defaultMakerTokenAddress] = balances[takerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].add(signedOrder.makerTokenAmount);
|
||||
balances[takerAddress][signedOrder.takerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[takerAddress][defaultTakerTokenAddress] = balances[takerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].minus(signedOrder.takerTokenAmount);
|
||||
balances[takerAddress][zrx.address] = balances[takerAddress][zrx.address].minus(
|
||||
signedOrder.takerFee,
|
||||
@@ -699,7 +696,7 @@ describe('Exchange', () => {
|
||||
it('should throw when an signedOrder does not use the same takerTokenAddress', async () => {
|
||||
signedOrders = [
|
||||
orderFactory.newSignedOrder(),
|
||||
orderFactory.newSignedOrder({ takerTokenAddress: zrx.address }),
|
||||
orderFactory.newSignedOrder({ takerAssetData: encodeERC20ProxyData(zrx.address) }),
|
||||
orderFactory.newSignedOrder(),
|
||||
];
|
||||
|
||||
@@ -727,20 +724,20 @@ describe('Exchange', () => {
|
||||
);
|
||||
const makerFee = signedOrders[0].makerFee.add(signedOrders[1].makerFee.dividedToIntegerBy(2));
|
||||
const takerFee = signedOrders[0].takerFee.add(signedOrders[1].takerFee.dividedToIntegerBy(2));
|
||||
expect(newBalances[makerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].makerTokenAddress].minus(makerTokenFilledAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].takerTokenAddress].add(takerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].takerTokenAddress].minus(takerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(takerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].makerTokenAddress].add(makerTokenFilledAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFilledAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -753,20 +750,20 @@ describe('Exchange', () => {
|
||||
it('should fill all signedOrders if cannot fill entire takerTokenFillAmount', async () => {
|
||||
const takerTokenFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
balances[makerAddress][signedOrder.makerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[makerAddress][defaultMakerTokenAddress] = balances[makerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].minus(signedOrder.makerTokenAmount);
|
||||
balances[makerAddress][signedOrder.takerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[makerAddress][defaultTakerTokenAddress] = balances[makerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].add(signedOrder.takerTokenAmount);
|
||||
balances[makerAddress][zrx.address] = balances[makerAddress][zrx.address].minus(
|
||||
signedOrder.makerFee,
|
||||
);
|
||||
balances[takerAddress][signedOrder.makerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[takerAddress][defaultMakerTokenAddress] = balances[takerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].add(signedOrder.makerTokenAmount);
|
||||
balances[takerAddress][signedOrder.takerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[takerAddress][defaultTakerTokenAddress] = balances[takerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].minus(signedOrder.takerTokenAmount);
|
||||
balances[takerAddress][zrx.address] = balances[takerAddress][zrx.address].minus(
|
||||
signedOrder.takerFee,
|
||||
@@ -786,7 +783,7 @@ describe('Exchange', () => {
|
||||
it('should throw when a signedOrder does not use the same takerTokenAddress', async () => {
|
||||
signedOrders = [
|
||||
orderFactory.newSignedOrder(),
|
||||
orderFactory.newSignedOrder({ takerTokenAddress: zrx.address }),
|
||||
orderFactory.newSignedOrder({ takerAssetData: encodeERC20ProxyData(zrx.address) }),
|
||||
orderFactory.newSignedOrder(),
|
||||
];
|
||||
|
||||
@@ -814,20 +811,20 @@ describe('Exchange', () => {
|
||||
);
|
||||
const makerFee = signedOrders[0].makerFee.add(signedOrders[1].makerFee.dividedToIntegerBy(2));
|
||||
const takerFee = signedOrders[0].takerFee.add(signedOrders[1].takerFee.dividedToIntegerBy(2));
|
||||
expect(newBalances[makerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].makerTokenAddress].minus(makerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].takerTokenAddress].add(makerAmountBought),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(makerAmountBought),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].takerTokenAddress].minus(makerAmountBought),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(makerAmountBought),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].makerTokenAddress].add(makerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -840,20 +837,20 @@ describe('Exchange', () => {
|
||||
it('should fill all signedOrders if cannot fill entire makerTokenFillAmount', async () => {
|
||||
const makerTokenFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
balances[makerAddress][signedOrder.makerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[makerAddress][defaultMakerTokenAddress] = balances[makerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].minus(signedOrder.makerTokenAmount);
|
||||
balances[makerAddress][signedOrder.takerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[makerAddress][defaultTakerTokenAddress] = balances[makerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].add(signedOrder.takerTokenAmount);
|
||||
balances[makerAddress][zrx.address] = balances[makerAddress][zrx.address].minus(
|
||||
signedOrder.makerFee,
|
||||
);
|
||||
balances[takerAddress][signedOrder.makerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[takerAddress][defaultMakerTokenAddress] = balances[takerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].add(signedOrder.makerTokenAmount);
|
||||
balances[takerAddress][signedOrder.takerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[takerAddress][defaultTakerTokenAddress] = balances[takerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].minus(signedOrder.takerTokenAmount);
|
||||
balances[takerAddress][zrx.address] = balances[takerAddress][zrx.address].minus(
|
||||
signedOrder.takerFee,
|
||||
@@ -873,7 +870,7 @@ describe('Exchange', () => {
|
||||
it('should throw when an signedOrder does not use the same makerTokenAddress', async () => {
|
||||
signedOrders = [
|
||||
orderFactory.newSignedOrder(),
|
||||
orderFactory.newSignedOrder({ makerTokenAddress: zrx.address }),
|
||||
orderFactory.newSignedOrder({ makerAssetData: encodeERC20ProxyData(zrx.address) }),
|
||||
orderFactory.newSignedOrder(),
|
||||
];
|
||||
|
||||
@@ -901,20 +898,20 @@ describe('Exchange', () => {
|
||||
);
|
||||
const makerFee = signedOrders[0].makerFee.add(signedOrders[1].makerFee.dividedToIntegerBy(2));
|
||||
const takerFee = signedOrders[0].takerFee.add(signedOrders[1].takerFee.dividedToIntegerBy(2));
|
||||
expect(newBalances[makerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].makerTokenAddress].minus(makerTokenFillAmount),
|
||||
expect(newBalances[makerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultMakerTokenAddress].minus(makerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[makerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][signedOrders[0].takerTokenAddress].add(makerAmountBought),
|
||||
expect(newBalances[makerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[makerAddress][defaultTakerTokenAddress].add(makerAmountBought),
|
||||
);
|
||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[makerAddress][zrx.address].minus(makerFee),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].takerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].takerTokenAddress].minus(makerAmountBought),
|
||||
expect(newBalances[takerAddress][defaultTakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultTakerTokenAddress].minus(makerAmountBought),
|
||||
);
|
||||
expect(newBalances[takerAddress][signedOrders[0].makerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][signedOrders[0].makerTokenAddress].add(makerTokenFillAmount),
|
||||
expect(newBalances[takerAddress][defaultMakerTokenAddress]).to.be.bignumber.equal(
|
||||
balances[takerAddress][defaultMakerTokenAddress].add(makerTokenFillAmount),
|
||||
);
|
||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(
|
||||
balances[takerAddress][zrx.address].minus(takerFee),
|
||||
@@ -927,20 +924,20 @@ describe('Exchange', () => {
|
||||
it('should fill all signedOrders if cannot fill entire takerTokenFillAmount', async () => {
|
||||
const takerTokenFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
balances[makerAddress][signedOrder.makerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[makerAddress][defaultMakerTokenAddress] = balances[makerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].minus(signedOrder.makerTokenAmount);
|
||||
balances[makerAddress][signedOrder.takerTokenAddress] = balances[makerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[makerAddress][defaultTakerTokenAddress] = balances[makerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].add(signedOrder.takerTokenAmount);
|
||||
balances[makerAddress][zrx.address] = balances[makerAddress][zrx.address].minus(
|
||||
signedOrder.makerFee,
|
||||
);
|
||||
balances[takerAddress][signedOrder.makerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.makerTokenAddress
|
||||
balances[takerAddress][defaultMakerTokenAddress] = balances[takerAddress][
|
||||
defaultMakerTokenAddress
|
||||
].add(signedOrder.makerTokenAmount);
|
||||
balances[takerAddress][signedOrder.takerTokenAddress] = balances[takerAddress][
|
||||
signedOrder.takerTokenAddress
|
||||
balances[takerAddress][defaultTakerTokenAddress] = balances[takerAddress][
|
||||
defaultTakerTokenAddress
|
||||
].minus(signedOrder.takerTokenAmount);
|
||||
balances[takerAddress][zrx.address] = balances[takerAddress][zrx.address].minus(
|
||||
signedOrder.takerFee,
|
||||
@@ -960,7 +957,7 @@ describe('Exchange', () => {
|
||||
it('should throw when a signedOrder does not use the same makerTokenAddress', async () => {
|
||||
signedOrders = [
|
||||
orderFactory.newSignedOrder(),
|
||||
orderFactory.newSignedOrder({ makerTokenAddress: zrx.address }),
|
||||
orderFactory.newSignedOrder({ makerAssetData: encodeERC20ProxyData(zrx.address) }),
|
||||
orderFactory.newSignedOrder(),
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user