diff options
Diffstat (limited to 'packages/contracts/test')
-rw-r--r-- | packages/contracts/test/asset_proxy/authorizable.ts (renamed from packages/contracts/test/asset_proxy_dispatcher/auth.ts) | 46 | ||||
-rw-r--r-- | packages/contracts/test/asset_proxy/proxies.ts (renamed from packages/contracts/test/asset_proxy_dispatcher/proxies.ts) | 25 | ||||
-rw-r--r-- | packages/contracts/test/exchange/core.ts | 68 | ||||
-rw-r--r-- | packages/contracts/test/exchange/dispatcher.ts (renamed from packages/contracts/test/asset_proxy_dispatcher/dispatcher.ts) | 49 | ||||
-rw-r--r-- | packages/contracts/test/exchange/helpers.ts | 5 | ||||
-rw-r--r-- | packages/contracts/test/exchange/wrapper.ts | 39 |
6 files changed, 59 insertions, 173 deletions
diff --git a/packages/contracts/test/asset_proxy_dispatcher/auth.ts b/packages/contracts/test/asset_proxy/authorizable.ts index 9d8645ab7..cc4f78a31 100644 --- a/packages/contracts/test/asset_proxy_dispatcher/auth.ts +++ b/packages/contracts/test/asset_proxy/authorizable.ts @@ -3,7 +3,7 @@ import { Web3Wrapper } from '@0xproject/web3-wrapper'; import * as chai from 'chai'; import * as Web3 from 'web3'; -import { AssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/asset_proxy_dispatcher'; +import { AuthorizableContract } from '../../src/contract_wrappers/generated/authorizable'; import { constants } from '../../src/utils/constants'; import { ContractName } from '../../src/utils/types'; import { chaiSetup } from '../utils/chai_setup'; @@ -14,21 +14,17 @@ chaiSetup.configure(); const expect = chai.expect; const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); -describe('AssetProxyDispatcher (Authorization Methods)', () => { +describe('Authorizable', () => { let owner: string; let notOwner: string; let address: string; - let assetProxyDispatcher: AssetProxyDispatcherContract; + let authorizable: AuthorizableContract; before(async () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); owner = address = accounts[0]; notOwner = accounts[1]; - const assetProxyDispatcherInstance = await deployer.deployAsync(ContractName.AssetProxyDispatcher); - assetProxyDispatcher = new AssetProxyDispatcherContract( - assetProxyDispatcherInstance.abi, - assetProxyDispatcherInstance.address, - provider, - ); + const authorizableInstance = await deployer.deployAsync(ContractName.Authorizable); + authorizable = new AuthorizableContract(authorizableInstance.abi, authorizableInstance.address, provider); }); beforeEach(async () => { await blockchainLifecycle.startAsync(); @@ -39,44 +35,44 @@ describe('AssetProxyDispatcher (Authorization Methods)', () => { describe('addAuthorizedAddress', () => { it('should throw if not called by owner', async () => { return expect( - assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(notOwner, { from: notOwner }), + authorizable.addAuthorizedAddress.sendTransactionAsync(notOwner, { from: notOwner }), ).to.be.rejectedWith(constants.REVERT); }); it('should allow owner to add an authorized address', async () => { - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); - const isAuthorized = await assetProxyDispatcher.authorized.callAsync(address); + await authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); + const isAuthorized = await authorizable.authorized.callAsync(address); expect(isAuthorized).to.be.true(); }); it('should throw if owner attempts to authorize a duplicate address', async () => { - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); + await authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); return expect( - assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }), + authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }), ).to.be.rejectedWith(constants.REVERT); }); }); describe('removeAuthorizedAddress', () => { it('should throw if not called by owner', async () => { - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); + await authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); return expect( - assetProxyDispatcher.removeAuthorizedAddress.sendTransactionAsync(address, { + authorizable.removeAuthorizedAddress.sendTransactionAsync(address, { from: notOwner, }), ).to.be.rejectedWith(constants.REVERT); }); it('should allow owner to remove an authorized address', async () => { - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); - await assetProxyDispatcher.removeAuthorizedAddress.sendTransactionAsync(address, { + await authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner }); + await authorizable.removeAuthorizedAddress.sendTransactionAsync(address, { from: owner, }); - const isAuthorized = await assetProxyDispatcher.authorized.callAsync(address); + const isAuthorized = await authorizable.authorized.callAsync(address); expect(isAuthorized).to.be.false(); }); it('should throw if owner attempts to remove an address that is not authorized', async () => { return expect( - assetProxyDispatcher.removeAuthorizedAddress.sendTransactionAsync(address, { + authorizable.removeAuthorizedAddress.sendTransactionAsync(address, { from: owner, }), ).to.be.rejectedWith(constants.REVERT); @@ -85,19 +81,19 @@ describe('AssetProxyDispatcher (Authorization Methods)', () => { describe('getAuthorizedAddresses', () => { it('should return all authorized addresses', async () => { - const initial = await assetProxyDispatcher.getAuthorizedAddresses.callAsync(); + const initial = await authorizable.getAuthorizedAddresses.callAsync(); expect(initial).to.have.length(0); - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(address, { + await authorizable.addAuthorizedAddress.sendTransactionAsync(address, { from: owner, }); - const afterAdd = await assetProxyDispatcher.getAuthorizedAddresses.callAsync(); + const afterAdd = await authorizable.getAuthorizedAddresses.callAsync(); expect(afterAdd).to.have.length(1); expect(afterAdd).to.include(address); - await assetProxyDispatcher.removeAuthorizedAddress.sendTransactionAsync(address, { + await authorizable.removeAuthorizedAddress.sendTransactionAsync(address, { from: owner, }); - const afterRemove = await assetProxyDispatcher.getAuthorizedAddresses.callAsync(); + const afterRemove = await authorizable.getAuthorizedAddresses.callAsync(); expect(afterRemove).to.have.length(0); }); }); diff --git a/packages/contracts/test/asset_proxy_dispatcher/proxies.ts b/packages/contracts/test/asset_proxy/proxies.ts index 14d96f023..6aefadee7 100644 --- a/packages/contracts/test/asset_proxy_dispatcher/proxies.ts +++ b/packages/contracts/test/asset_proxy/proxies.ts @@ -4,7 +4,6 @@ import { BigNumber } from '@0xproject/utils'; import * as chai from 'chai'; import * as Web3 from 'web3'; -import { AssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/asset_proxy_dispatcher'; import { DummyERC20TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c20_token'; import { DummyERC721TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c721_token'; import { ERC20ProxyContract } from '../../src/contract_wrappers/generated/e_r_c20_proxy'; @@ -25,7 +24,7 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper); describe('Asset Transfer Proxies', () => { let owner: string; let notAuthorized: string; - let assetProxyDispatcherAddress: string; + let exchangeAddress: string; let makerAddress: string; let takerAddress: string; @@ -40,13 +39,7 @@ describe('Asset Transfer Proxies', () => { before(async () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); - const usedAddresses = ([ - owner, - notAuthorized, - assetProxyDispatcherAddress, - makerAddress, - takerAddress, - ] = accounts); + const usedAddresses = ([owner, notAuthorized, exchangeAddress, makerAddress, takerAddress] = accounts); erc20Wrapper = new ERC20Wrapper(deployer, provider, usedAddresses, owner); erc721Wrapper = new ERC721Wrapper(deployer, provider, usedAddresses, owner); @@ -54,7 +47,7 @@ describe('Asset Transfer Proxies', () => { [zrxToken] = await erc20Wrapper.deployDummyTokensAsync(); erc20Proxy = await erc20Wrapper.deployProxyAsync(); await erc20Wrapper.setBalancesAndAllowancesAsync(); - await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcherAddress, { + await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeAddress, { from: owner, }); @@ -63,7 +56,7 @@ describe('Asset Transfer Proxies', () => { await erc721Wrapper.setBalancesAndAllowancesAsync(); const erc721Balances = await erc721Wrapper.getBalancesAsync(); erc721MakerTokenId = erc721Balances[makerAddress][erc721Token.address][0]; - await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcherAddress, { + await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeAddress, { from: owner, }); }); @@ -85,7 +78,7 @@ describe('Asset Transfer Proxies', () => { makerAddress, takerAddress, amount, - { from: assetProxyDispatcherAddress }, + { from: exchangeAddress }, ); // Verify transfer was successful const newBalances = await erc20Wrapper.getBalancesAsync(); @@ -108,7 +101,7 @@ describe('Asset Transfer Proxies', () => { makerAddress, takerAddress, amount, - { from: assetProxyDispatcherAddress }, + { from: exchangeAddress }, ); // Verify transfer was successful const newBalances = await erc20Wrapper.getBalancesAsync(); @@ -169,7 +162,7 @@ describe('Asset Transfer Proxies', () => { makerAddress, takerAddress, amount, - { from: assetProxyDispatcherAddress }, + { from: exchangeAddress }, ); // Verify transfer was successful const newOwnerMakerAsset = await erc721Token.ownerOf.callAsync(erc721MakerTokenId); @@ -191,7 +184,7 @@ describe('Asset Transfer Proxies', () => { makerAddress, takerAddress, amount, - { from: assetProxyDispatcherAddress }, + { from: exchangeAddress }, ), ).to.be.rejectedWith(constants.REVERT); }); @@ -211,7 +204,7 @@ describe('Asset Transfer Proxies', () => { makerAddress, takerAddress, amount, - { from: assetProxyDispatcherAddress }, + { from: exchangeAddress }, ), ).to.be.rejectedWith(constants.REVERT); }); diff --git a/packages/contracts/test/exchange/core.ts b/packages/contracts/test/exchange/core.ts index 666486cc3..13dbcef88 100644 --- a/packages/contracts/test/exchange/core.ts +++ b/packages/contracts/test/exchange/core.ts @@ -5,7 +5,6 @@ import * as chai from 'chai'; import ethUtil = require('ethereumjs-util'); import * as _ from 'lodash'; -import { AssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/asset_proxy_dispatcher'; import { DummyERC20TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c20_token'; import { DummyERC721TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c721_token'; import { ERC20ProxyContract } from '../../src/contract_wrappers/generated/e_r_c20_proxy'; @@ -50,7 +49,6 @@ describe('Exchange core', () => { let zrxToken: DummyERC20TokenContract; let erc721Token: DummyERC721TokenContract; let exchange: ExchangeContract; - let assetProxyDispatcher: AssetProxyDispatcherContract; let erc20Proxy: ERC20ProxyContract; let erc721Proxy: ERC721ProxyContract; @@ -87,44 +85,25 @@ describe('Exchange core', () => { erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address]; erc721TakerAssetIds = erc721Balances[takerAddress][erc721Token.address]; - const assetProxyDispatcherInstance = await deployer.deployAsync(ContractName.AssetProxyDispatcher); - assetProxyDispatcher = new AssetProxyDispatcherContract( - assetProxyDispatcherInstance.abi, - assetProxyDispatcherInstance.address, - provider, - ); - const prevERC20ProxyAddress = ZeroEx.NULL_ADDRESS; - await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync( - AssetProxyId.ERC20, - erc20Proxy.address, - prevERC20ProxyAddress, - { from: owner }, - ); - const prevERC721ProxyAddress = ZeroEx.NULL_ADDRESS; - await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync( - AssetProxyId.ERC721, - erc721Proxy.address, - prevERC721ProxyAddress, - { from: owner }, - ); - await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { - from: owner, - }); - await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { - from: owner, - }); - const exchangeInstance = await deployer.deployAsync(ContractName.Exchange, [ assetProxyDispatcher.address, assetProxyUtils.encodeERC20ProxyData(zrxToken.address), ]); exchange = new ExchangeContract(exchangeInstance.abi, exchangeInstance.address, provider); - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }); zeroEx = new ZeroEx(provider, { exchangeContractAddress: exchange.address, networkId: constants.TESTRPC_NETWORK_ID, }); exchangeWrapper = new ExchangeWrapper(exchange, zeroEx); + await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner); + await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC721, erc721Proxy.address, owner); + + await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }); + await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }); defaultMakerAssetAddress = erc20TokenA.address; defaultTakerAssetAddress = erc20TokenB.address; @@ -468,35 +447,6 @@ describe('Exchange core', () => { expect(orderUtils.getOrderHashHex(signedOrder)).to.be.equal(logArgs.orderHash); }); - it('should log 1 event with the correct arguments when order has no feeRecipient', async () => { - signedOrder = orderFactory.newSignedOrder({ - feeRecipientAddress: ZeroEx.NULL_ADDRESS, - }); - const divisor = 2; - const res = await exchangeWrapper.fillOrderAsync(signedOrder, takerAddress, { - takerAssetFillAmount: signedOrder.takerAssetAmount.div(divisor), - }); - expect(res.logs).to.have.length(1); - - const log = res.logs[0] as LogWithDecodedArgs<FillContractEventArgs>; - const logArgs = log.args; - const expectedFilledMakerAssetAmount = signedOrder.makerAssetAmount.div(divisor); - const expectedFilledTakerAssetAmount = signedOrder.takerAssetAmount.div(divisor); - const expectedFeeMPaid = new BigNumber(0); - const expectedFeeTPaid = new BigNumber(0); - - expect(signedOrder.makerAddress).to.be.equal(logArgs.makerAddress); - expect(takerAddress).to.be.equal(logArgs.takerAddress); - expect(signedOrder.feeRecipientAddress).to.be.equal(logArgs.feeRecipientAddress); - expect(signedOrder.makerAssetData).to.be.equal(logArgs.makerAssetData); - expect(signedOrder.takerAssetData).to.be.equal(logArgs.takerAssetData); - expect(expectedFilledMakerAssetAmount).to.be.bignumber.equal(logArgs.makerAssetFilledAmount); - expect(expectedFilledTakerAssetAmount).to.be.bignumber.equal(logArgs.takerAssetFilledAmount); - expect(expectedFeeMPaid).to.be.bignumber.equal(logArgs.makerFeePaid); - expect(expectedFeeTPaid).to.be.bignumber.equal(logArgs.takerFeePaid); - expect(orderUtils.getOrderHashHex(signedOrder)).to.be.equal(logArgs.orderHash); - }); - it('should throw when taker is specified and order is claimed by other', async () => { signedOrder = orderFactory.newSignedOrder({ takerAddress: feeRecipientAddress, diff --git a/packages/contracts/test/asset_proxy_dispatcher/dispatcher.ts b/packages/contracts/test/exchange/dispatcher.ts index 6e0ec3dee..1c346c93f 100644 --- a/packages/contracts/test/asset_proxy_dispatcher/dispatcher.ts +++ b/packages/contracts/test/exchange/dispatcher.ts @@ -4,10 +4,10 @@ import { BigNumber } from '@0xproject/utils'; import * as chai from 'chai'; import * as Web3 from 'web3'; -import { AssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/asset_proxy_dispatcher'; import { DummyERC20TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c20_token'; import { ERC20ProxyContract } from '../../src/contract_wrappers/generated/e_r_c20_proxy'; import { ERC721ProxyContract } from '../../src/contract_wrappers/generated/e_r_c721_proxy'; +import { TestAssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/test_asset_proxy_dispatcher'; import { assetProxyUtils } from '../../src/utils/asset_proxy_utils'; import { constants } from '../../src/utils/constants'; import { ERC20Wrapper } from '../../src/utils/erc20_wrapper'; @@ -25,14 +25,13 @@ describe('AssetProxyDispatcher', () => { let owner: string; let notOwner: string; let notAuthorized: string; - let exchangeAddress: string; let makerAddress: string; let takerAddress: string; let zrxToken: DummyERC20TokenContract; let erc20Proxy: ERC20ProxyContract; let erc721Proxy: ERC721ProxyContract; - let assetProxyDispatcher: AssetProxyDispatcherContract; + let assetProxyDispatcher: TestAssetProxyDispatcherContract; let erc20Wrapper: ERC20Wrapper; let erc721Wrapper: ERC721Wrapper; @@ -40,7 +39,7 @@ describe('AssetProxyDispatcher', () => { before(async () => { // Setup accounts & addresses const accounts = await web3Wrapper.getAvailableAddressesAsync(); - const usedAddresses = ([owner, notOwner, exchangeAddress, makerAddress, takerAddress] = accounts); + const usedAddresses = ([owner, notOwner, makerAddress, takerAddress] = accounts); notAuthorized = notOwner; erc20Wrapper = new ERC20Wrapper(deployer, provider, usedAddresses, owner); @@ -52,15 +51,12 @@ describe('AssetProxyDispatcher', () => { erc721Proxy = await erc721Wrapper.deployProxyAsync(); - const assetProxyDispatcherInstance = await deployer.deployAsync(ContractName.AssetProxyDispatcher); - assetProxyDispatcher = new AssetProxyDispatcherContract( + const assetProxyDispatcherInstance = await deployer.deployAsync(ContractName.TestAssetProxyDispatcher); + assetProxyDispatcher = new TestAssetProxyDispatcherContract( assetProxyDispatcherInstance.abi, assetProxyDispatcherInstance.address, provider, ); - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(exchangeAddress, { - from: owner, - }); await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { from: owner, }); @@ -219,7 +215,7 @@ describe('AssetProxyDispatcher', () => { }); }); - describe('transferFrom', () => { + describe('dispatchTransferFrom', () => { it('should dispatch transfer to registered proxy', async () => { // Register ERC20 proxy const prevProxyAddress = ZeroEx.NULL_ADDRESS; @@ -234,12 +230,12 @@ describe('AssetProxyDispatcher', () => { // Perform a transfer from makerAddress to takerAddress const erc20Balances = await erc20Wrapper.getBalancesAsync(); const amount = new BigNumber(10); - await assetProxyDispatcher.transferFrom.sendTransactionAsync( + await assetProxyDispatcher.publicDispatchTransferFrom.sendTransactionAsync( encodedProxyMetadata, makerAddress, takerAddress, amount, - { from: exchangeAddress }, + { from: owner }, ); // Verify transfer was successful const newBalances = await erc20Wrapper.getBalancesAsync(); @@ -258,37 +254,12 @@ describe('AssetProxyDispatcher', () => { const erc20Balances = await erc20Wrapper.getBalancesAsync(); const amount = new BigNumber(10); return expect( - assetProxyDispatcher.transferFrom.sendTransactionAsync( - encodedProxyMetadata, - makerAddress, - takerAddress, - amount, - { from: exchangeAddress }, - ), - ).to.be.rejectedWith(constants.REVERT); - }); - - it('should throw on transfer if requesting address is not authorized', async () => { - // Register ERC20 proxy - const prevProxyAddress = ZeroEx.NULL_ADDRESS; - await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync( - AssetProxyId.ERC20, - erc20Proxy.address, - prevProxyAddress, - { from: owner }, - ); - // Construct metadata for ERC20 proxy - const encodedProxyMetadata = assetProxyUtils.encodeERC20ProxyData(zrxToken.address); - // Perform a transfer from makerAddress to takerAddress - const erc20Balances = await erc20Wrapper.getBalancesAsync(); - const amount = new BigNumber(10); - return expect( - assetProxyDispatcher.transferFrom.sendTransactionAsync( + assetProxyDispatcher.publicDispatchTransferFrom.sendTransactionAsync( encodedProxyMetadata, makerAddress, takerAddress, amount, - { from: notAuthorized }, + { from: owner }, ), ).to.be.rejectedWith(constants.REVERT); }); diff --git a/packages/contracts/test/exchange/helpers.ts b/packages/contracts/test/exchange/helpers.ts index a5c2ca8d5..f986665ff 100644 --- a/packages/contracts/test/exchange/helpers.ts +++ b/packages/contracts/test/exchange/helpers.ts @@ -29,10 +29,7 @@ describe('Exchange helpers', () => { before(async () => { const accounts = await web3Wrapper.getAvailableAddressesAsync(); const makerAddress = accounts[0]; - const exchangeInstance = await deployer.deployAsync(ContractName.Exchange, [ - ZeroEx.NULL_ADDRESS, - AssetProxyId.ERC20, - ]); + const exchangeInstance = await deployer.deployAsync(ContractName.Exchange, [AssetProxyId.ERC20]); const exchange = new ExchangeContract(exchangeInstance.abi, exchangeInstance.address, provider); const zeroEx = new ZeroEx(provider, { networkId: constants.TESTRPC_NETWORK_ID }); exchangeWrapper = new ExchangeWrapper(exchange, zeroEx); diff --git a/packages/contracts/test/exchange/wrapper.ts b/packages/contracts/test/exchange/wrapper.ts index d2d82f977..855c79b56 100644 --- a/packages/contracts/test/exchange/wrapper.ts +++ b/packages/contracts/test/exchange/wrapper.ts @@ -6,7 +6,6 @@ import * as chai from 'chai'; import * as _ from 'lodash'; import * as Web3 from 'web3'; -import { AssetProxyDispatcherContract } from '../../src/contract_wrappers/generated/asset_proxy_dispatcher'; import { DummyERC20TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c20_token'; import { DummyERC721TokenContract } from '../../src/contract_wrappers/generated/dummy_e_r_c721_token'; import { ERC20ProxyContract } from '../../src/contract_wrappers/generated/e_r_c20_proxy'; @@ -39,7 +38,6 @@ describe('Exchange wrappers', () => { let zrxToken: DummyERC20TokenContract; let erc721Token: DummyERC721TokenContract; let exchange: ExchangeContract; - let assetProxyDispatcher: AssetProxyDispatcherContract; let erc20Proxy: ERC20ProxyContract; let erc721Proxy: ERC721ProxyContract; @@ -75,44 +73,25 @@ describe('Exchange wrappers', () => { erc721MakerAssetId = erc721Balances[makerAddress][erc721Token.address][0]; erc721TakerAssetId = erc721Balances[takerAddress][erc721Token.address][0]; - const assetProxyDispatcherInstance = await deployer.deployAsync(ContractName.AssetProxyDispatcher); - assetProxyDispatcher = new AssetProxyDispatcherContract( - assetProxyDispatcherInstance.abi, - assetProxyDispatcherInstance.address, - provider, - ); - const prevERC20ProxyAddress = ZeroEx.NULL_ADDRESS; - await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync( - AssetProxyId.ERC20, - erc20Proxy.address, - prevERC20ProxyAddress, - { from: owner }, - ); - const prevERC721ProxyAddress = ZeroEx.NULL_ADDRESS; - await assetProxyDispatcher.registerAssetProxy.sendTransactionAsync( - AssetProxyId.ERC721, - erc721Proxy.address, - prevERC721ProxyAddress, - { from: owner }, - ); - await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { - from: owner, - }); - await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(assetProxyDispatcher.address, { - from: owner, - }); - const exchangeInstance = await deployer.deployAsync(ContractName.Exchange, [ assetProxyDispatcher.address, assetProxyUtils.encodeERC20ProxyData(zrxToken.address), ]); exchange = new ExchangeContract(exchangeInstance.abi, exchangeInstance.address, provider); - await assetProxyDispatcher.addAuthorizedAddress.sendTransactionAsync(exchange.address, { from: owner }); zeroEx = new ZeroEx(provider, { exchangeContractAddress: exchange.address, networkId: constants.TESTRPC_NETWORK_ID, }); exchangeWrapper = new ExchangeWrapper(exchange, zeroEx); + await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC20, erc20Proxy.address, owner); + await exchangeWrapper.registerAssetProxyAsync(AssetProxyId.ERC721, erc721Proxy.address, owner); + + await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }); + await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchange.address, { + from: owner, + }); defaultMakerAssetAddress = erc20TokenA.address; defaultTakerAssetAddress = erc20TokenB.address; |