Remove 0x.js dep from contracts
This commit is contained in:
@@ -28,8 +28,7 @@
|
||||
"test:circleci": "yarn test:coverage"
|
||||
},
|
||||
"config": {
|
||||
"abis":
|
||||
"../migrations/artifacts/2.0.0/@(DummyERC20Token|DummyERC721Token|ERC20Proxy|ERC721Proxy|Exchange|MixinAuthorizable|MultiSigWallet|MultiSigWalletWithTimeLock|MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress|TestAssetProxyDispatcher|TestLibBytes|TestLibs|TestSignatureValidator|TokenRegistry|WETH9|ZRXToken).json"
|
||||
"abis": "../migrations/artifacts/2.0.0/@(DummyERC20Token|DummyERC721Token|ERC20Proxy|ERC721Proxy|Exchange|MixinAuthorizable|MultiSigWallet|MultiSigWalletWithTimeLock|MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress|TestAssetProxyDispatcher|TestLibBytes|TestLibs|TestSignatureValidator|TokenRegistry|WETH9|ZRXToken).json"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -64,8 +63,9 @@
|
||||
"yargs": "^10.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"0x.js": "^0.37.2",
|
||||
"@0xproject/base-contract": "^0.3.1",
|
||||
"@0xproject/contract-wrappers": "^0.0.2",
|
||||
"@0xproject/order-utils": "^0.0.4",
|
||||
"@0xproject/sol-compiler": "^0.4.3",
|
||||
"@0xproject/types": "^0.6.3",
|
||||
"@0xproject/typescript-typings": "^0.3.1",
|
||||
|
@@ -1,10 +1,10 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { generatePseudoRandomSalt } from '@0xproject/order-utils';
|
||||
|
||||
import { crypto } from './crypto';
|
||||
|
||||
export const addressUtils = {
|
||||
generatePseudoRandomAddress(): string {
|
||||
const randomBigNum = ZeroEx.generatePseudoRandomSalt();
|
||||
const randomBigNum = generatePseudoRandomSalt();
|
||||
const randomBuff = crypto.solSHA3([randomBigNum]);
|
||||
const randomAddress = `0x${randomBuff.slice(0, 20).toString('hex')}`;
|
||||
return randomAddress;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3_wrapper';
|
||||
import * as ethUtil from 'ethereumjs-util';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
@@ -30,13 +30,14 @@ export const constants = {
|
||||
NUM_DUMMY_ERC20_TO_DEPLOY: 3,
|
||||
NUM_DUMMY_ERC721_TO_DEPLOY: 1,
|
||||
NUM_ERC721_TOKENS_TO_MINT: 2,
|
||||
NULL_ADDRESS: '0x0000000000000000000000000000000000000000',
|
||||
TESTRPC_PRIVATE_KEYS: _.map(TESTRPC_PRIVATE_KEYS_STRINGS, privateKeyString => ethUtil.toBuffer(privateKeyString)),
|
||||
INITIAL_ERC20_BALANCE: ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18),
|
||||
INITIAL_ERC20_ALLOWANCE: ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18),
|
||||
INITIAL_ERC20_BALANCE: Web3Wrapper.toBaseUnitAmount(new BigNumber(10000), 18),
|
||||
INITIAL_ERC20_ALLOWANCE: Web3Wrapper.toBaseUnitAmount(new BigNumber(10000), 18),
|
||||
STATIC_ORDER_PARAMS: {
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerFee: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
takerFee: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerFee: Web3Wrapper.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
takerFee: Web3Wrapper.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
},
|
||||
};
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { generatePseudoRandomSalt } from '@0xproject/order-utils';
|
||||
import { Provider } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
@@ -54,7 +54,7 @@ export class ERC721Wrapper {
|
||||
_.forEach(this._dummyTokenContracts, dummyTokenContract => {
|
||||
_.forEach(this._tokenOwnerAddresses, tokenOwnerAddress => {
|
||||
_.forEach(_.range(constants.NUM_ERC721_TOKENS_TO_MINT), () => {
|
||||
const tokenId = ZeroEx.generatePseudoRandomSalt();
|
||||
const tokenId = generatePseudoRandomSalt();
|
||||
setBalancePromises.push(
|
||||
dummyTokenContract.mint.sendTransactionAsync(tokenOwnerAddress, tokenId, {
|
||||
from: this._contractOwnerAddress,
|
||||
|
@@ -1,5 +1,6 @@
|
||||
import { TransactionReceiptWithDecodedLogs, ZeroEx } from '0x.js';
|
||||
import { TransactionReceiptWithDecodedLogs } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as _ from 'lodash';
|
||||
import * as Web3 from 'web3';
|
||||
|
||||
@@ -14,10 +15,8 @@ import { AssetProxyId, OrderInfo, SignedOrder, SignedTransaction } from './types
|
||||
export class ExchangeWrapper {
|
||||
private _exchange: ExchangeContract;
|
||||
private _logDecoder: LogDecoder = new LogDecoder(constants.TESTRPC_NETWORK_ID);
|
||||
private _zeroEx: ZeroEx;
|
||||
constructor(exchangeContract: ExchangeContract, zeroEx: ZeroEx) {
|
||||
constructor(exchangeContract: ExchangeContract) {
|
||||
this._exchange = exchangeContract;
|
||||
this._zeroEx = zeroEx;
|
||||
}
|
||||
public async fillOrderAsync(
|
||||
signedOrder: SignedOrder,
|
||||
@@ -196,7 +195,7 @@ export class ExchangeWrapper {
|
||||
opts: { oldAssetProxyAddressIfExists?: string } = {},
|
||||
): Promise<TransactionReceiptWithDecodedLogs> {
|
||||
const oldAssetProxyAddress = _.isUndefined(opts.oldAssetProxyAddressIfExists)
|
||||
? ZeroEx.NULL_ADDRESS
|
||||
? constants.NULL_ADDRESS
|
||||
: opts.oldAssetProxyAddressIfExists;
|
||||
const txHash = await this._exchange.registerAssetProxy.sendTransactionAsync(
|
||||
assetProxyId,
|
||||
@@ -246,7 +245,7 @@ export class ExchangeWrapper {
|
||||
return tx;
|
||||
}
|
||||
private async _getTxWithDecodedExchangeLogsAsync(txHash: string) {
|
||||
const tx = await this._zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const tx = await Web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
tx.logs = _.filter(tx.logs, log => log.address === this._exchange.address);
|
||||
tx.logs = _.map(tx.logs, log => this._logDecoder.decodeLogOrThrow(log));
|
||||
return tx;
|
||||
|
@@ -1,7 +1,8 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { generatePseudoRandomSalt } from '@0xproject/order-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
import { constants } from './constants';
|
||||
import { orderUtils } from './order_utils';
|
||||
import { signingUtils } from './signing_utils';
|
||||
import { SignatureType, SignedOrder, UnsignedOrder } from './types';
|
||||
@@ -19,10 +20,10 @@ export class OrderFactory {
|
||||
): SignedOrder {
|
||||
const randomExpiration = new BigNumber(Math.floor((Date.now() + Math.random() * 100000000000) / 1000));
|
||||
const order = ({
|
||||
senderAddress: ZeroEx.NULL_ADDRESS,
|
||||
senderAddress: constants.NULL_ADDRESS,
|
||||
expirationTimeSeconds: randomExpiration,
|
||||
salt: ZeroEx.generatePseudoRandomSalt(),
|
||||
takerAddress: ZeroEx.NULL_ADDRESS,
|
||||
salt: generatePseudoRandomSalt(),
|
||||
takerAddress: constants.NULL_ADDRESS,
|
||||
...this._defaultOrderParams,
|
||||
...customOrderParams,
|
||||
} as any) as UnsignedOrder;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { generatePseudoRandomSalt } from '@0xproject/order-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as ethUtil from 'ethereumjs-util';
|
||||
|
||||
@@ -20,7 +20,7 @@ export class TransactionFactory {
|
||||
data: string,
|
||||
signatureType: SignatureType = SignatureType.Ecrecover,
|
||||
): SignedTransaction {
|
||||
const salt = ZeroEx.generatePseudoRandomSalt();
|
||||
const salt = generatePseudoRandomSalt();
|
||||
const txHash = crypto.solSHA3([this._exchangeAddress, salt, ethUtil.toBuffer(data)]);
|
||||
const signature = signingUtils.signMessage(txHash, this._privateKey, signatureType);
|
||||
const signedTx = {
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
@@ -37,8 +36,6 @@ describe('Asset Transfer Proxies', () => {
|
||||
let erc721Wrapper: ERC721Wrapper;
|
||||
let erc721MakerTokenId: BigNumber;
|
||||
|
||||
let zeroEx: ZeroEx;
|
||||
|
||||
before(async () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
const usedAddresses = ([owner, notAuthorized, exchangeAddress, makerAddress, takerAddress] = accounts);
|
||||
@@ -61,10 +58,6 @@ describe('Asset Transfer Proxies', () => {
|
||||
await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeAddress, {
|
||||
from: owner,
|
||||
});
|
||||
|
||||
zeroEx = new ZeroEx(provider, {
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
});
|
||||
beforeEach(async () => {
|
||||
await blockchainLifecycle.startAsync();
|
||||
@@ -179,7 +172,7 @@ describe('Asset Transfer Proxies', () => {
|
||||
amounts,
|
||||
{ from: exchangeAddress },
|
||||
);
|
||||
const res = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const res = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
const newBalances = await erc20Wrapper.getBalancesAsync();
|
||||
|
||||
expect(res.logs.length).to.equal(numTransfers);
|
||||
@@ -356,7 +349,7 @@ describe('Asset Transfer Proxies', () => {
|
||||
amounts,
|
||||
{ from: exchangeAddress },
|
||||
);
|
||||
const res = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const res = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
expect(res.logs.length).to.equal(numTransfers);
|
||||
|
||||
const newOwnerMakerAssetA = await erc721Token.ownerOf.callAsync(makerTokenIdA);
|
||||
|
@@ -1,7 +1,8 @@
|
||||
import { ContractWrappersError, ZeroEx } from '0x.js';
|
||||
import { ContractWrappersError } from '@0xproject/contract-wrappers';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { BigNumber, promisify } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import { Web3Wrapper } from '@0xproject/web3_wrapper';
|
||||
import * as chai from 'chai';
|
||||
import 'make-promises-safe';
|
||||
|
||||
@@ -17,7 +18,7 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
|
||||
|
||||
describe('EtherToken', () => {
|
||||
let account: string;
|
||||
const gasPrice = ZeroEx.toBaseUnitAmount(new BigNumber(20), 9);
|
||||
const gasPrice = Web3Wrapper.toBaseUnitAmount(new BigNumber(20), 9);
|
||||
let zeroEx: ZeroEx;
|
||||
let etherTokenAddress: string;
|
||||
before(async () => {
|
||||
@@ -103,7 +104,7 @@ describe('EtherToken', () => {
|
||||
const initEthBalance = await web3Wrapper.getBalanceInWeiAsync(account);
|
||||
const initEthTokenBalance = await zeroEx.token.getBalanceAsync(etherTokenAddress, account);
|
||||
|
||||
const ethToDeposit = ZeroEx.toBaseUnitAmount(new BigNumber(1), 18);
|
||||
const ethToDeposit = Web3Wrapper.toBaseUnitAmount(new BigNumber(1), 18);
|
||||
|
||||
const txHash = await web3Wrapper.sendTransactionAsync({
|
||||
from: account,
|
||||
|
@@ -1,6 +1,7 @@
|
||||
import { LogWithDecodedArgs, ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { LogWithDecodedArgs } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web-wrapper';
|
||||
import * as chai from 'chai';
|
||||
import ethUtil = require('ethereumjs-util');
|
||||
import 'make-promises-safe';
|
||||
@@ -89,7 +90,7 @@ describe('Exchange core', () => {
|
||||
exchangeContractAddress: exchange.address,
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
exchangeWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
exchangeWrapper = new ExchangeWrapper(exchange);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC721, erc721Proxy.address, owner);
|
||||
|
||||
@@ -166,8 +167,8 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should transfer the correct amounts when makerAssetAmount === takerAssetAmount', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
});
|
||||
|
||||
const takerAssetFilledAmountBefore = await exchangeWrapper.getTakerAssetFilledAmountAsync(
|
||||
@@ -219,8 +220,8 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should transfer the correct amounts when makerAssetAmount > takerAssetAmount', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
});
|
||||
|
||||
const takerAssetFilledAmountBefore = await exchangeWrapper.getTakerAssetFilledAmountAsync(
|
||||
@@ -272,8 +273,8 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should transfer the correct amounts when makerAssetAmount < takerAssetAmount', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
});
|
||||
|
||||
const takerAssetFilledAmountBefore = await exchangeWrapper.getTakerAssetFilledAmountAsync(
|
||||
@@ -326,8 +327,8 @@ describe('Exchange core', () => {
|
||||
it('should transfer the correct amounts when taker is specified and order is claimed by taker', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
takerAddress,
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
});
|
||||
|
||||
const takerAssetFilledAmountBefore = await exchangeWrapper.getTakerAssetFilledAmountAsync(
|
||||
@@ -445,8 +446,8 @@ describe('Exchange core', () => {
|
||||
it('should throw when taker is specified and order is claimed by other', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
takerAddress: feeRecipientAddress,
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
});
|
||||
return expect(exchangeWrapper.fillOrderAsync(signedOrder, takerAddress)).to.be.rejectedWith(
|
||||
constants.REVERT,
|
||||
@@ -455,7 +456,7 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should throw if signature is invalid', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
});
|
||||
|
||||
const invalidR = ethUtil.sha3('invalidR');
|
||||
@@ -501,7 +502,7 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should throw if maker erc20Balances are too low to fill order', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
});
|
||||
|
||||
return expect(exchangeWrapper.fillOrderAsync(signedOrder, takerAddress)).to.be.rejectedWith(
|
||||
@@ -511,7 +512,7 @@ describe('Exchange core', () => {
|
||||
|
||||
it('should throw if taker erc20Balances are too low to fill order', async () => {
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
});
|
||||
|
||||
return expect(exchangeWrapper.fillOrderAsync(signedOrder, takerAddress)).to.be.rejectedWith(
|
||||
@@ -681,23 +682,23 @@ describe('Exchange core', () => {
|
||||
erc20Balances = await erc20Wrapper.getBalancesAsync();
|
||||
const signedOrders = await Promise.all([
|
||||
orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(9), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(9), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(9), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(9), 18),
|
||||
salt: new BigNumber(0),
|
||||
}),
|
||||
orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(79), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(79), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(79), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(79), 18),
|
||||
salt: new BigNumber(1),
|
||||
}),
|
||||
orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(979), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(979), 18),
|
||||
salt: new BigNumber(2),
|
||||
}),
|
||||
orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(7979), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(7979), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(7979), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(7979), 18),
|
||||
salt: new BigNumber(3),
|
||||
}),
|
||||
]);
|
||||
@@ -873,7 +874,7 @@ describe('Exchange core', () => {
|
||||
const makerAssetId = erc721MakerAssetIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: new BigNumber(1),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetData: assetProxyUtils.encodeERC721ProxyData(erc721Token.address, makerAssetId),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultTakerAssetAddress),
|
||||
});
|
||||
@@ -913,7 +914,7 @@ describe('Exchange core', () => {
|
||||
const takerAssetId = erc721TakerAssetIds[0];
|
||||
signedOrder = orderFactory.newSignedOrder({
|
||||
takerAssetAmount: new BigNumber(1),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetData: assetProxyUtils.encodeERC721ProxyData(erc721Token.address, takerAssetId),
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultMakerAssetAddress),
|
||||
});
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
@@ -71,7 +70,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
});
|
||||
describe('registerAssetProxy', () => {
|
||||
it('should record proxy upon registration', async () => {
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -84,7 +83,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
it('should be able to record multiple proxies', async () => {
|
||||
// Record first proxy
|
||||
const prevERC20ProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevERC20ProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -94,7 +93,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
let proxyAddress = await assetProxyDispatcher.getAssetProxy.callAsync(AssetProxyId.ERC20);
|
||||
expect(proxyAddress).to.be.equal(erc20Proxy.address);
|
||||
// Record another proxy
|
||||
const prevERC721ProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevERC721ProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC721,
|
||||
erc721Proxy.address,
|
||||
@@ -107,7 +106,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
it('should replace proxy address upon re-registration', async () => {
|
||||
// Initial registration
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -138,7 +137,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
it('should throw if registering with incorrect "currentAssetProxyAddress" field', async () => {
|
||||
// Initial registration
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -147,12 +146,12 @@ describe('AssetProxyDispatcher', () => {
|
||||
);
|
||||
const proxyAddress = await assetProxyDispatcher.getAssetProxy.callAsync(AssetProxyId.ERC20);
|
||||
expect(proxyAddress).to.be.equal(erc20Proxy.address);
|
||||
// The following transaction will throw because the currentAddress is no longer ZeroEx.NULL_ADDRESS
|
||||
// The following transaction will throw because the currentAddress is no longer constants.NULL_ADDRESS
|
||||
return expect(
|
||||
assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
ZeroEx.NULL_ADDRESS,
|
||||
constants.NULL_ADDRESS,
|
||||
{ from: owner },
|
||||
),
|
||||
).to.be.rejectedWith(constants.REVERT);
|
||||
@@ -160,7 +159,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
it('should be able to reset proxy address to NULL', async () => {
|
||||
// Initial registration
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -170,7 +169,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
const proxyAddress = await assetProxyDispatcher.getAssetProxy.callAsync(AssetProxyId.ERC20);
|
||||
expect(proxyAddress).to.be.equal(erc20Proxy.address);
|
||||
// The following transaction will reset the proxy address
|
||||
const newProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const newProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
newProxyAddress,
|
||||
@@ -182,7 +181,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
});
|
||||
|
||||
it('should throw if requesting address is not owner', async () => {
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
return expect(
|
||||
assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
@@ -194,7 +193,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
});
|
||||
|
||||
it('should throw if attempting to register a proxy to the incorrect id', async () => {
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
return expect(
|
||||
assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC721,
|
||||
@@ -208,7 +207,7 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
describe('getAssetProxy', () => {
|
||||
it('should return correct address of registered proxy', async () => {
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
@@ -221,14 +220,14 @@ describe('AssetProxyDispatcher', () => {
|
||||
|
||||
it('should return NULL address if requesting non-existent proxy', async () => {
|
||||
const proxyAddress = await assetProxyDispatcher.getAssetProxy.callAsync(AssetProxyId.ERC20);
|
||||
expect(proxyAddress).to.be.equal(ZeroEx.NULL_ADDRESS);
|
||||
expect(proxyAddress).to.be.equal(constants.NULL_ADDRESS);
|
||||
});
|
||||
});
|
||||
|
||||
describe('dispatchTransferFrom', () => {
|
||||
it('should dispatch transfer to registered proxy', async () => {
|
||||
// Register ERC20 proxy
|
||||
const prevProxyAddress = ZeroEx.NULL_ADDRESS;
|
||||
const prevProxyAddress = constants.NULL_ADDRESS;
|
||||
await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync(
|
||||
AssetProxyId.ERC20,
|
||||
erc20Proxy.address,
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
@@ -29,7 +28,6 @@ describe('Exchange libs', () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
const makerAddress = accounts[0];
|
||||
libs = await TestLibsContract.deployFrom0xArtifactAsync(artifacts.TestLibs, provider, txDefaults);
|
||||
const zeroEx = new ZeroEx(provider, { networkId: constants.TESTRPC_NETWORK_ID });
|
||||
|
||||
const defaultOrderParams = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
|
@@ -1,6 +1,7 @@
|
||||
import { LogWithDecodedArgs, ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { LogWithDecodedArgs } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as chai from 'chai';
|
||||
import ethUtil = require('ethereumjs-util');
|
||||
import * as _ from 'lodash';
|
||||
@@ -76,8 +77,6 @@ describe('matchOrders', () => {
|
||||
|
||||
let matchOrderTester: MatchOrderTester;
|
||||
|
||||
let zeroEx: ZeroEx;
|
||||
|
||||
before(async () => {
|
||||
// Create accounts
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
@@ -111,11 +110,7 @@ describe('matchOrders', () => {
|
||||
txDefaults,
|
||||
assetProxyUtils.encodeERC20ProxyData(zrxToken.address),
|
||||
);
|
||||
zeroEx = new ZeroEx(provider, {
|
||||
exchangeContractAddress: exchange.address,
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
exchangeWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
exchangeWrapper = new ExchangeWrapper(exchange);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC721, erc721Proxy.address, owner);
|
||||
// Authorize ERC20 and ERC721 trades by exchange
|
||||
@@ -161,16 +156,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match signedOrderLeft with signedOrderRight
|
||||
@@ -195,16 +190,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Store original taker balance
|
||||
@@ -240,16 +235,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(20), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(4), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(20), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(4), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -274,16 +269,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -308,16 +303,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -347,8 +342,8 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match signedOrderLeft with signedOrderRight2
|
||||
@@ -377,8 +372,8 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
|
||||
@@ -386,8 +381,8 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -417,8 +412,8 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(50), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
// Match signedOrderLeft2 with signedOrderRight
|
||||
@@ -450,16 +445,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress,
|
||||
});
|
||||
// Match orders
|
||||
@@ -478,16 +473,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -507,16 +502,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -536,16 +531,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -565,16 +560,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -594,16 +589,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: makerAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: makerAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -622,16 +617,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Cancel left order
|
||||
@@ -648,16 +643,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Cancel right order
|
||||
@@ -674,16 +669,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(1), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -704,16 +699,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -734,16 +729,16 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(5), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(2), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
@@ -766,14 +761,14 @@ describe('matchOrders', () => {
|
||||
makerAssetData: assetProxyUtils.encodeERC721ProxyData(defaultERC721AssetAddress, erc721TokenToTransfer),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
makerAssetAmount: new BigNumber(1),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
const signedOrderRight = orderFactoryRight.newSignedOrder({
|
||||
makerAddress: makerAddressRight,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20TakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC721ProxyData(defaultERC721AssetAddress, erc721TokenToTransfer),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: new BigNumber(1),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
@@ -800,7 +795,7 @@ describe('matchOrders', () => {
|
||||
makerAddress: makerAddressLeft,
|
||||
makerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
takerAssetData: assetProxyUtils.encodeERC721ProxyData(defaultERC721AssetAddress, erc721TokenToTransfer),
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: new BigNumber(1),
|
||||
feeRecipientAddress: feeRecipientAddressLeft,
|
||||
});
|
||||
@@ -809,7 +804,7 @@ describe('matchOrders', () => {
|
||||
makerAssetData: assetProxyUtils.encodeERC721ProxyData(defaultERC721AssetAddress, erc721TokenToTransfer),
|
||||
takerAssetData: assetProxyUtils.encodeERC20ProxyData(defaultERC20MakerAssetAddress),
|
||||
makerAssetAmount: new BigNumber(1),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(10), 18),
|
||||
feeRecipientAddress: feeRecipientAddressRight,
|
||||
});
|
||||
// Match orders
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
@@ -33,7 +32,6 @@ describe('MixinSignatureValidator', () => {
|
||||
provider,
|
||||
txDefaults,
|
||||
);
|
||||
const zeroEx = new ZeroEx(provider, { networkId: constants.TESTRPC_NETWORK_ID });
|
||||
|
||||
const defaultOrderParams = {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
|
@@ -1,5 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
@@ -59,8 +57,6 @@ describe('Exchange transactions', () => {
|
||||
let defaultMakerTokenAddress: string;
|
||||
let defaultTakerTokenAddress: string;
|
||||
|
||||
let zeroEx: ZeroEx;
|
||||
|
||||
before(async () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
const usedAddresses = ([owner, senderAddress, makerAddress, takerAddress, feeRecipientAddress] = accounts);
|
||||
@@ -77,11 +73,7 @@ describe('Exchange transactions', () => {
|
||||
txDefaults,
|
||||
assetProxyUtils.encodeERC20ProxyData(zrxToken.address),
|
||||
);
|
||||
zeroEx = new ZeroEx(provider, {
|
||||
exchangeContractAddress: exchange.address,
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
exchangeWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
exchangeWrapper = new ExchangeWrapper(exchange);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner);
|
||||
|
||||
await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner });
|
||||
@@ -179,7 +171,7 @@ describe('Exchange transactions', () => {
|
||||
it('should reset the currentContextAddress', async () => {
|
||||
await exchangeWrapper.executeTransactionAsync(signedTx, senderAddress);
|
||||
const currentContextAddress = await exchange.currentContextAddress.callAsync();
|
||||
expect(currentContextAddress).to.equal(ZeroEx.NULL_ADDRESS);
|
||||
expect(currentContextAddress).to.equal(constants.NULL_ADDRESS);
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
@@ -54,8 +53,6 @@ describe('Exchange wrappers', () => {
|
||||
let defaultMakerAssetAddress: string;
|
||||
let defaultTakerAssetAddress: string;
|
||||
|
||||
let zeroEx: ZeroEx;
|
||||
|
||||
before(async () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
const usedAddresses = ([owner, makerAddress, takerAddress, feeRecipientAddress] = accounts);
|
||||
@@ -80,11 +77,7 @@ describe('Exchange wrappers', () => {
|
||||
txDefaults,
|
||||
assetProxyUtils.encodeERC20ProxyData(zrxToken.address),
|
||||
);
|
||||
zeroEx = new ZeroEx(provider, {
|
||||
exchangeContractAddress: exchange.address,
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
exchangeWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
exchangeWrapper = new ExchangeWrapper(exchange);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner);
|
||||
await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC721, erc721Proxy.address, owner);
|
||||
|
||||
@@ -119,8 +112,8 @@ describe('Exchange wrappers', () => {
|
||||
describe('fillOrKillOrder', () => {
|
||||
it('should transfer the correct amounts', async () => {
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
});
|
||||
const takerAssetFillAmount = signedOrder.takerAssetAmount.div(2);
|
||||
await exchangeWrapper.fillOrKillOrderAsync(signedOrder, takerAddress, {
|
||||
@@ -187,8 +180,8 @@ describe('Exchange wrappers', () => {
|
||||
describe('fillOrderNoThrow', () => {
|
||||
it('should transfer the correct amounts', async () => {
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(200), 18),
|
||||
});
|
||||
const takerAssetFillAmount = signedOrder.takerAssetAmount.div(2);
|
||||
await exchangeWrapper.fillOrderNoThrowAsync(signedOrder, takerAddress, {
|
||||
@@ -231,7 +224,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
it('should not change erc20Balances if maker erc20Balances are too low to fill order', async () => {
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
makerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
makerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
});
|
||||
|
||||
await exchangeWrapper.fillOrderNoThrowAsync(signedOrder, takerAddress);
|
||||
@@ -241,7 +234,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
it('should not change erc20Balances if taker erc20Balances are too low to fill order', async () => {
|
||||
const signedOrder = orderFactory.newSignedOrder({
|
||||
takerAssetAmount: ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
takerAssetAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18),
|
||||
});
|
||||
|
||||
await exchangeWrapper.fillOrderNoThrowAsync(signedOrder, takerAddress);
|
||||
@@ -620,7 +613,7 @@ describe('Exchange wrappers', () => {
|
||||
});
|
||||
|
||||
it('should fill all signedOrders if cannot fill entire takerAssetFillAmount', async () => {
|
||||
const takerAssetFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
const takerAssetFillAmount = Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
erc20Balances[makerAddress][defaultMakerAssetAddress] = erc20Balances[makerAddress][
|
||||
defaultMakerAssetAddress
|
||||
@@ -663,7 +656,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
return expect(
|
||||
exchangeWrapper.marketSellOrdersAsync(signedOrders, takerAddress, {
|
||||
takerAssetFillAmount: ZeroEx.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
takerAssetFillAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
}),
|
||||
).to.be.rejectedWith(constants.REVERT);
|
||||
});
|
||||
@@ -709,7 +702,7 @@ describe('Exchange wrappers', () => {
|
||||
});
|
||||
|
||||
it('should fill all signedOrders if cannot fill entire takerAssetFillAmount', async () => {
|
||||
const takerAssetFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
const takerAssetFillAmount = Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
erc20Balances[makerAddress][defaultMakerAssetAddress] = erc20Balances[makerAddress][
|
||||
defaultMakerAssetAddress
|
||||
@@ -752,7 +745,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
return expect(
|
||||
exchangeWrapper.marketSellOrdersNoThrowAsync(signedOrders, takerAddress, {
|
||||
takerAssetFillAmount: ZeroEx.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
takerAssetFillAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
}),
|
||||
).to.be.rejectedWith(constants.REVERT);
|
||||
});
|
||||
@@ -798,7 +791,7 @@ describe('Exchange wrappers', () => {
|
||||
});
|
||||
|
||||
it('should fill all signedOrders if cannot fill entire makerAssetFillAmount', async () => {
|
||||
const makerAssetFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
const makerAssetFillAmount = Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
erc20Balances[makerAddress][defaultMakerAssetAddress] = erc20Balances[makerAddress][
|
||||
defaultMakerAssetAddress
|
||||
@@ -841,7 +834,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
return expect(
|
||||
exchangeWrapper.marketBuyOrdersAsync(signedOrders, takerAddress, {
|
||||
makerAssetFillAmount: ZeroEx.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
makerAssetFillAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
}),
|
||||
).to.be.rejectedWith(constants.REVERT);
|
||||
});
|
||||
@@ -887,7 +880,7 @@ describe('Exchange wrappers', () => {
|
||||
});
|
||||
|
||||
it('should fill all signedOrders if cannot fill entire takerAssetFillAmount', async () => {
|
||||
const takerAssetFillAmount = ZeroEx.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
const takerAssetFillAmount = Web3Wrapper.toBaseUnitAmount(new BigNumber(100000), 18);
|
||||
_.forEach(signedOrders, signedOrder => {
|
||||
erc20Balances[makerAddress][defaultMakerAssetAddress] = erc20Balances[makerAddress][
|
||||
defaultMakerAssetAddress
|
||||
@@ -930,7 +923,7 @@ describe('Exchange wrappers', () => {
|
||||
|
||||
return expect(
|
||||
exchangeWrapper.marketBuyOrdersNoThrowAsync(signedOrders, takerAddress, {
|
||||
makerAssetFillAmount: ZeroEx.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
makerAssetFillAmount: Web3Wrapper.toBaseUnitAmount(new BigNumber(1000), 18),
|
||||
}),
|
||||
).to.be.rejectedWith(constants.REVERT);
|
||||
});
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { LogWithDecodedArgs, TransactionReceiptWithDecodedLogs, ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { LogWithDecodedArgs, TransactionReceiptWithDecodedLogs } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import BN = require('bn.js');
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { LogWithDecodedArgs, ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle, web3Factory } from '@0xproject/dev-utils';
|
||||
import { LogWithDecodedArgs } from '@0xproject/types';
|
||||
import { AbiDecoder, BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as chai from 'chai';
|
||||
@@ -20,7 +20,6 @@ const MULTI_SIG_ABI = artifacts.MultiSigWalletWithTimeLock.compilerOutput.abi;
|
||||
chaiSetup.configure();
|
||||
const expect = chai.expect;
|
||||
const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
|
||||
const zeroEx = new ZeroEx(provider, { networkId: constants.TESTRPC_NETWORK_ID });
|
||||
const abiDecoder = new AbiDecoder([MULTI_SIG_ABI]);
|
||||
|
||||
describe('MultiSigWalletWithTimeLock', () => {
|
||||
@@ -74,7 +73,7 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
args: [SECONDS_TIME_LOCKED.toNumber()],
|
||||
};
|
||||
const txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
|
||||
const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const subRes = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
|
||||
SubmissionContractEventArgs
|
||||
>;
|
||||
@@ -94,14 +93,14 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
args: [SECONDS_TIME_LOCKED.toNumber()],
|
||||
};
|
||||
let txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
|
||||
const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const subRes = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
|
||||
SubmissionContractEventArgs
|
||||
>;
|
||||
|
||||
txId = log.args.transactionId;
|
||||
txHash = await multiSig.confirmTransaction.sendTransactionAsync(txId, { from: owners[1] });
|
||||
const res = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const res = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
expect(res.logs).to.have.length(2);
|
||||
|
||||
const blockNum = await web3Wrapper.getBlockNumberAsync();
|
||||
@@ -121,7 +120,7 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
args: [SECONDS_TIME_LOCKED.toNumber()],
|
||||
};
|
||||
let txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
|
||||
const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const subRes = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
|
||||
SubmissionContractEventArgs
|
||||
>;
|
||||
@@ -132,7 +131,7 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
expect(initialSecondsTimeLocked).to.be.equal(0);
|
||||
|
||||
txHash = await multiSig.executeTransaction.sendTransactionAsync(txId, { from: owners[0] });
|
||||
const res = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const res = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
expect(res.logs).to.have.length(2);
|
||||
|
||||
const secondsTimeLocked = new BigNumber(await multiSig.secondsTimeLocked.callAsync());
|
||||
@@ -161,7 +160,7 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
args: [newSecondsTimeLocked],
|
||||
};
|
||||
let txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
|
||||
const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const subRes = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
|
||||
SubmissionContractEventArgs
|
||||
>;
|
||||
@@ -169,7 +168,7 @@ describe('MultiSigWalletWithTimeLock', () => {
|
||||
txHash = await multiSig.confirmTransaction.sendTransactionAsync(txId, {
|
||||
from: owners[1],
|
||||
});
|
||||
const confRes = await zeroEx.awaitTransactionMinedAsync(txHash);
|
||||
const confRes = await web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
expect(confRes.logs).to.have.length(2);
|
||||
});
|
||||
const newSecondsTimeLocked = 0;
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { BigNumber, NULL_BYTES } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
@@ -60,7 +59,7 @@ describe('TokenRegistry', () => {
|
||||
};
|
||||
|
||||
const nullToken = {
|
||||
address: ZeroEx.NULL_ADDRESS,
|
||||
address: constants.NULL_ADDRESS,
|
||||
name: '',
|
||||
symbol: '',
|
||||
decimals: 0,
|
||||
|
@@ -38,7 +38,7 @@
|
||||
// let amountGive: BigNumber;
|
||||
// let makerTokenAmount: BigNumber;
|
||||
// let takerTokenAmount: BigNumber;
|
||||
// const feeRecipient = ZeroEx.NULL_ADDRESS;
|
||||
// const feeRecipient = constants.NULL_ADDRESS;
|
||||
// const INITIAL_BALANCE = ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18);
|
||||
// const INITIAL_ALLOWANCE = ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18);
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
// exchangeContractAddress: exchange.address,
|
||||
// networkId: constants.TESTRPC_NETWORK_ID,
|
||||
// });
|
||||
// exWrapper = new ExchangeWrapper(exchange, zeroEx);
|
||||
// exWrapper = new ExchangeWrapper(exchange);
|
||||
|
||||
// makerTokenAmount = ZeroEx.toBaseUnitAmount(new BigNumber(1), 18);
|
||||
// takerTokenAmount = makerTokenAmount;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { ContractWrappers } from '@0xproject/contract-wrappers';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
@@ -19,7 +19,7 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
|
||||
describe('UnlimitedAllowanceToken', () => {
|
||||
let owner: string;
|
||||
let spender: string;
|
||||
const zeroEx = new ZeroEx(provider, {
|
||||
const contractWrappers = new ContractWrappers(provider, {
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
|
||||
@@ -51,7 +51,7 @@ describe('UnlimitedAllowanceToken', () => {
|
||||
});
|
||||
describe('transfer', () => {
|
||||
it('should throw if owner has insufficient balance', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = ownerBalance.plus(1);
|
||||
return expect(token.transfer.callAsync(spender, amountToTransfer, { from: owner })).to.be.rejectedWith(
|
||||
constants.REVERT,
|
||||
@@ -60,11 +60,11 @@ describe('UnlimitedAllowanceToken', () => {
|
||||
|
||||
it('should transfer balance from sender to receiver', async () => {
|
||||
const receiver = spender;
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = new BigNumber(1);
|
||||
await zeroEx.token.transferAsync(tokenAddress, owner, receiver, amountToTransfer);
|
||||
const finalOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const finalReceiverBalance = await zeroEx.token.getBalanceAsync(tokenAddress, receiver);
|
||||
await contractWrappers.token.transferAsync(tokenAddress, owner, receiver, amountToTransfer);
|
||||
const finalOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const finalReceiverBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, receiver);
|
||||
|
||||
const expectedFinalOwnerBalance = initOwnerBalance.minus(amountToTransfer);
|
||||
const expectedFinalReceiverBalance = amountToTransfer;
|
||||
@@ -82,9 +82,9 @@ describe('UnlimitedAllowanceToken', () => {
|
||||
|
||||
describe('transferFrom', () => {
|
||||
it('should throw if owner has insufficient balance', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = ownerBalance.plus(1);
|
||||
await zeroEx.token.setAllowanceAsync(tokenAddress, owner, spender, amountToTransfer);
|
||||
await contractWrappers.token.setAllowanceAsync(tokenAddress, owner, spender, amountToTransfer);
|
||||
return expect(
|
||||
token.transferFrom.callAsync(owner, spender, amountToTransfer, {
|
||||
from: spender,
|
||||
@@ -93,10 +93,10 @@ describe('UnlimitedAllowanceToken', () => {
|
||||
});
|
||||
|
||||
it('should throw if spender has insufficient allowance', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = ownerBalance;
|
||||
|
||||
const spenderAllowance = await zeroEx.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
const spenderAllowance = await contractWrappers.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
const isSpenderAllowanceInsufficient = spenderAllowance.cmp(amountToTransfer) < 0;
|
||||
expect(isSpenderAllowanceInsufficient).to.be.true();
|
||||
|
||||
@@ -116,44 +116,44 @@ describe('UnlimitedAllowanceToken', () => {
|
||||
});
|
||||
|
||||
it('should not modify spender allowance if spender allowance is 2^256 - 1', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
const initSpenderAllowance = zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
||||
await zeroEx.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await zeroEx.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
const initSpenderAllowance = contractWrappers.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
||||
await contractWrappers.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await contractWrappers.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newSpenderAllowance = await zeroEx.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
const newSpenderAllowance = await contractWrappers.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
expect(initSpenderAllowance).to.be.bignumber.equal(newSpenderAllowance);
|
||||
});
|
||||
|
||||
it('should transfer the correct balances if spender has sufficient allowance', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
const initSpenderAllowance = initOwnerBalance;
|
||||
await zeroEx.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await zeroEx.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
await contractWrappers.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await contractWrappers.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const newSpenderBalance = await zeroEx.token.getBalanceAsync(tokenAddress, spender);
|
||||
const newOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const newSpenderBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, spender);
|
||||
|
||||
expect(newOwnerBalance).to.be.bignumber.equal(0);
|
||||
expect(newSpenderBalance).to.be.bignumber.equal(initOwnerBalance);
|
||||
});
|
||||
|
||||
it('should modify allowance if spender has sufficient allowance less than 2^256 - 1', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(tokenAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(tokenAddress, owner);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
const initSpenderAllowance = initOwnerBalance;
|
||||
await zeroEx.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await zeroEx.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
await contractWrappers.token.setAllowanceAsync(tokenAddress, owner, spender, initSpenderAllowance);
|
||||
await contractWrappers.token.transferFromAsync(tokenAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newSpenderAllowance = await zeroEx.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
const newSpenderAllowance = await contractWrappers.token.getAllowanceAsync(tokenAddress, owner, spender);
|
||||
expect(newSpenderAllowance).to.be.bignumber.equal(0);
|
||||
});
|
||||
});
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { LogWithDecodedArgs, ZeroEx } from '0x.js';
|
||||
import { BlockchainLifecycle } from '@0xproject/dev-utils';
|
||||
import { LogWithDecodedArgs } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import * as chai from 'chai';
|
||||
import ethUtil = require('ethereumjs-util');
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { ZeroEx } from '0x.js';
|
||||
import { ContractWrappers } from '@0xproject/contract-wrappers';
|
||||
import { BlockchainLifecycle, devConstants, web3Factory } from '@0xproject/dev-utils';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
@@ -19,7 +19,7 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
|
||||
describe('ZRXToken', () => {
|
||||
let owner: string;
|
||||
let spender: string;
|
||||
let zeroEx: ZeroEx;
|
||||
let contractWrappers: ContractWrappers;
|
||||
|
||||
let MAX_UINT: BigNumber;
|
||||
|
||||
@@ -30,12 +30,12 @@ describe('ZRXToken', () => {
|
||||
const accounts = await web3Wrapper.getAvailableAddressesAsync();
|
||||
owner = accounts[0];
|
||||
spender = accounts[1];
|
||||
zeroEx = new ZeroEx(provider, {
|
||||
contractWrappers = new ContractWrappers(provider, {
|
||||
networkId: constants.TESTRPC_NETWORK_ID,
|
||||
});
|
||||
zrxToken = await ZRXTokenContract.deployFrom0xArtifactAsync(artifacts.ZRX, provider, txDefaults);
|
||||
zrxAddress = zrxToken.address;
|
||||
MAX_UINT = zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
||||
MAX_UINT = contractWrappers.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
||||
});
|
||||
beforeEach(async () => {
|
||||
await blockchainLifecycle.startAsync();
|
||||
@@ -53,7 +53,7 @@ describe('ZRXToken', () => {
|
||||
it('should have a total supply of 1 billion tokens', async () => {
|
||||
const totalSupply = new BigNumber(await zrxToken.totalSupply.callAsync());
|
||||
const expectedTotalSupply = 1000000000;
|
||||
expect(ZeroEx.toUnitAmount(totalSupply, 18)).to.be.bignumber.equal(expectedTotalSupply);
|
||||
expect(Web3Wrapper.toUnitAmount(totalSupply, 18)).to.be.bignumber.equal(expectedTotalSupply);
|
||||
});
|
||||
|
||||
it('should be named 0x Protocol Token', async () => {
|
||||
@@ -71,7 +71,7 @@ describe('ZRXToken', () => {
|
||||
|
||||
describe('constructor', () => {
|
||||
it('should initialize owner balance to totalSupply', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const totalSupply = new BigNumber(await zrxToken.totalSupply.callAsync());
|
||||
expect(totalSupply).to.be.bignumber.equal(ownerBalance);
|
||||
});
|
||||
@@ -80,11 +80,11 @@ describe('ZRXToken', () => {
|
||||
describe('transfer', () => {
|
||||
it('should transfer balance from sender to receiver', async () => {
|
||||
const receiver = spender;
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const amountToTransfer = new BigNumber(1);
|
||||
await zeroEx.token.transferAsync(zrxAddress, owner, receiver, amountToTransfer);
|
||||
const finalOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const finalReceiverBalance = await zeroEx.token.getBalanceAsync(zrxAddress, receiver);
|
||||
await contractWrappers.token.transferAsync(zrxAddress, owner, receiver, amountToTransfer);
|
||||
const finalOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const finalReceiverBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, receiver);
|
||||
|
||||
const expectedFinalOwnerBalance = initOwnerBalance.minus(amountToTransfer);
|
||||
const expectedFinalReceiverBalance = amountToTransfer;
|
||||
@@ -102,9 +102,9 @@ describe('ZRXToken', () => {
|
||||
|
||||
describe('transferFrom', () => {
|
||||
it('should return false if owner has insufficient balance', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const amountToTransfer = ownerBalance.plus(1);
|
||||
await zeroEx.token.setAllowanceAsync(zrxAddress, owner, spender, amountToTransfer, {
|
||||
await contractWrappers.token.setAllowanceAsync(zrxAddress, owner, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_APPROVE_GAS,
|
||||
});
|
||||
const didReturnTrue = await zrxToken.transferFrom.callAsync(owner, spender, amountToTransfer, {
|
||||
@@ -114,10 +114,10 @@ describe('ZRXToken', () => {
|
||||
});
|
||||
|
||||
it('should return false if spender has insufficient allowance', async () => {
|
||||
const ownerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const ownerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const amountToTransfer = ownerBalance;
|
||||
|
||||
const spenderAllowance = await zeroEx.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
const spenderAllowance = await contractWrappers.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
const isSpenderAllowanceInsufficient = spenderAllowance.cmp(amountToTransfer) < 0;
|
||||
expect(isSpenderAllowanceInsufficient).to.be.true();
|
||||
|
||||
@@ -136,46 +136,46 @@ describe('ZRXToken', () => {
|
||||
});
|
||||
|
||||
it('should not modify spender allowance if spender allowance is 2^256 - 1', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
const initSpenderAllowance = MAX_UINT;
|
||||
await zeroEx.token.setAllowanceAsync(zrxAddress, owner, spender, initSpenderAllowance, {
|
||||
await contractWrappers.token.setAllowanceAsync(zrxAddress, owner, spender, initSpenderAllowance, {
|
||||
gasLimit: constants.MAX_TOKEN_APPROVE_GAS,
|
||||
});
|
||||
await zeroEx.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
await contractWrappers.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newSpenderAllowance = await zeroEx.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
const newSpenderAllowance = await contractWrappers.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
expect(initSpenderAllowance).to.be.bignumber.equal(newSpenderAllowance);
|
||||
});
|
||||
|
||||
it('should transfer the correct balances if spender has sufficient allowance', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const initSpenderBalance = await zeroEx.token.getBalanceAsync(zrxAddress, spender);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const initSpenderBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, spender);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
const initSpenderAllowance = initOwnerBalance;
|
||||
await zeroEx.token.setAllowanceAsync(zrxAddress, owner, spender, initSpenderAllowance);
|
||||
await zeroEx.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
await contractWrappers.token.setAllowanceAsync(zrxAddress, owner, spender, initSpenderAllowance);
|
||||
await contractWrappers.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const newSpenderBalance = await zeroEx.token.getBalanceAsync(zrxAddress, spender);
|
||||
const newOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const newSpenderBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, spender);
|
||||
|
||||
expect(newOwnerBalance).to.be.bignumber.equal(0);
|
||||
expect(newSpenderBalance).to.be.bignumber.equal(initSpenderBalance.plus(initOwnerBalance));
|
||||
});
|
||||
|
||||
it('should modify allowance if spender has sufficient allowance less than 2^256 - 1', async () => {
|
||||
const initOwnerBalance = await zeroEx.token.getBalanceAsync(zrxAddress, owner);
|
||||
const initOwnerBalance = await contractWrappers.token.getBalanceAsync(zrxAddress, owner);
|
||||
const amountToTransfer = initOwnerBalance;
|
||||
await zeroEx.token.setAllowanceAsync(zrxAddress, owner, spender, amountToTransfer);
|
||||
await zeroEx.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
await contractWrappers.token.setAllowanceAsync(zrxAddress, owner, spender, amountToTransfer);
|
||||
await contractWrappers.token.transferFromAsync(zrxAddress, owner, spender, spender, amountToTransfer, {
|
||||
gasLimit: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||
});
|
||||
|
||||
const newSpenderAllowance = await zeroEx.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
const newSpenderAllowance = await contractWrappers.token.getAllowanceAsync(zrxAddress, owner, spender);
|
||||
expect(newSpenderAllowance).to.be.bignumber.equal(0);
|
||||
});
|
||||
});
|
||||
|
@@ -46,7 +46,7 @@
|
||||
"tslint": "5.8.0",
|
||||
"tslint-eslint-rules": "^4.1.1",
|
||||
"tslint-react": "^3.2.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"tsutils": "2.22.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
117
yarn.lock
117
yarn.lock
@@ -6,12 +6,98 @@
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/8fold-marked/-/8fold-marked-0.3.9.tgz#bb89c645612f8ccfaffac1ca6e3c11f168c9cf59"
|
||||
|
||||
"@0xproject/assert@^0.2.10":
|
||||
version "0.2.10"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-0.2.10.tgz#733bcf7f9483ac65f1d68fbc6534322242c4b919"
|
||||
dependencies:
|
||||
"@0xproject/json-schemas" "^0.7.24"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
lodash "^4.17.4"
|
||||
valid-url "^1.0.9"
|
||||
|
||||
"@0xproject/base-contract@^0.3.2":
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/base-contract/-/base-contract-0.3.2.tgz#d7ffdc6ae26fc73bbd43b62dafcfae019d8f984a"
|
||||
dependencies:
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
"@0xproject/web3-wrapper" "^0.6.4"
|
||||
ethers "^3.0.15"
|
||||
lodash "^4.17.4"
|
||||
|
||||
"@0xproject/contract-wrappers@^0.0.2":
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/contract-wrappers/-/contract-wrappers-0.0.2.tgz#6e297db4650eeabc7d3d2f7c39d64561c021eab6"
|
||||
dependencies:
|
||||
"@0xproject/assert" "^0.2.10"
|
||||
"@0xproject/base-contract" "^0.3.2"
|
||||
"@0xproject/fill-scenarios" "^0.0.2"
|
||||
"@0xproject/json-schemas" "^0.7.24"
|
||||
"@0xproject/order-utils" "^0.0.5"
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
"@0xproject/web3-wrapper" "^0.6.4"
|
||||
ethereumjs-blockstream "^2.0.6"
|
||||
ethereumjs-util "^5.1.1"
|
||||
ethers "^3.0.15"
|
||||
js-sha3 "^0.7.0"
|
||||
lodash "^4.17.4"
|
||||
uuid "^3.1.0"
|
||||
|
||||
"@0xproject/fill-scenarios@^0.0.2":
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/fill-scenarios/-/fill-scenarios-0.0.2.tgz#176ac2cba13f527e84346fbf06da84965a852bab"
|
||||
dependencies:
|
||||
"@0xproject/base-contract" "^0.3.2"
|
||||
"@0xproject/order-utils" "^0.0.5"
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
"@0xproject/web3-wrapper" "^0.6.4"
|
||||
ethers "^3.0.15"
|
||||
lodash "^4.17.4"
|
||||
|
||||
"@0xproject/json-schemas@^0.7.24":
|
||||
version "0.7.24"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-0.7.24.tgz#21a12b43ab0ab4aa302d02c4891668cda36b6c64"
|
||||
dependencies:
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@types/node" "^8.0.53"
|
||||
jsonschema "^1.2.0"
|
||||
lodash.values "^4.3.0"
|
||||
|
||||
"@0xproject/order-utils@^0.0.5":
|
||||
version "0.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/order-utils/-/order-utils-0.0.5.tgz#c8d92a112740b0020e08f13137844f8c183c863b"
|
||||
dependencies:
|
||||
"@0xproject/assert" "^0.2.10"
|
||||
"@0xproject/json-schemas" "^0.7.24"
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
"@0xproject/web3-wrapper" "^0.6.4"
|
||||
"@types/node" "^8.0.53"
|
||||
bn.js "^4.11.8"
|
||||
ethereumjs-abi "^0.6.4"
|
||||
ethereumjs-util "^5.1.1"
|
||||
lodash "^4.17.4"
|
||||
|
||||
"@0xproject/types@^0.5.0":
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/types/-/types-0.5.0.tgz#ba3cfbc11a8c6344b57c9680aa7df2ea84b9bf05"
|
||||
dependencies:
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
"@0xproject/types@^0.7.0":
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/types/-/types-0.7.0.tgz#fad13925ee92ad4ee1980668a5cb2bed4dcaab8f"
|
||||
dependencies:
|
||||
"@types/node" "^8.0.53"
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
"@0xproject/typescript-typings@^0.0.3":
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-0.0.3.tgz#3272080bde00ade0a970b0d236686b483b08a1d0"
|
||||
@@ -19,6 +105,37 @@
|
||||
"@0xproject/types" "^0.5.0"
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
"@0xproject/typescript-typings@^0.3.2":
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-0.3.2.tgz#abc360b441afda993100450ca8369dfabf75936b"
|
||||
dependencies:
|
||||
"@0xproject/types" "^0.7.0"
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
"@0xproject/utils@^0.6.2":
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-0.6.2.tgz#79056a0a7be88581bcb92bce01a0f1f1b3074397"
|
||||
dependencies:
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@types/node" "^8.0.53"
|
||||
bignumber.js "~4.1.0"
|
||||
ethers "^3.0.15"
|
||||
js-sha3 "^0.7.0"
|
||||
lodash "^4.17.4"
|
||||
web3 "^0.20.0"
|
||||
|
||||
"@0xproject/web3-wrapper@^0.6.4":
|
||||
version "0.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/web3-wrapper/-/web3-wrapper-0.6.4.tgz#fb15b71cdf4e5001c2b2e0d316b0de485a2be5f8"
|
||||
dependencies:
|
||||
"@0xproject/types" "^0.7.0"
|
||||
"@0xproject/typescript-typings" "^0.3.2"
|
||||
"@0xproject/utils" "^0.6.2"
|
||||
ethers "^3.0.15"
|
||||
lodash "^4.17.4"
|
||||
web3 "^0.20.0"
|
||||
|
||||
"@ledgerhq/hw-app-eth@^4.3.0":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-4.7.3.tgz#d352e19658ae296532e522c53c8ec2a1a77b64e5"
|
||||
|
Reference in New Issue
Block a user