From 312283c29311bc09b10c51c8642a7f1be8763685 Mon Sep 17 00:00:00 2001 From: Brendan Chou Date: Wed, 12 Sep 2018 18:12:34 -0700 Subject: [PATCH] make changes for comments --- .../ZeroExV2ExchangeWrapper.sol | 21 +++++++------- migrations/2_deploy.js | 6 ++-- test/helpers/ZeroExV2Helper.js | 28 ++----------------- 3 files changed, 17 insertions(+), 38 deletions(-) diff --git a/contracts/margin/external/exchangewrappers/ZeroExV2ExchangeWrapper.sol b/contracts/margin/external/exchangewrappers/ZeroExV2ExchangeWrapper.sol index e27c3b90..01b88081 100644 --- a/contracts/margin/external/exchangewrappers/ZeroExV2ExchangeWrapper.sol +++ b/contracts/margin/external/exchangewrappers/ZeroExV2ExchangeWrapper.sol @@ -50,10 +50,10 @@ contract ZeroExV2ExchangeWrapper is // msg.senders that will put the correct tradeOriginator in callerData when doing an exchange mapping (address => bool) public TRUSTED_MSG_SENDER; - // address of the ZeroEx V1 Exchange + // address of the ZeroEx V2 Exchange address public ZERO_EX_EXCHANGE; - // address of the ZeroEx V1 TokenTransferProxy + // address of the ZeroEx V2 ERC20Proxy address public ZERO_EX_TOKEN_PROXY; // address of the ZRX token @@ -253,15 +253,15 @@ contract ZeroExV2ExchangeWrapper is /* solium-disable-next-line security/no-inline-assembly */ assembly { - mstore(order, mload(add(orderData, 32))) // maker - mstore(add(order, 32), mload(add(orderData, 64))) // taker - mstore(add(order, 64), mload(add(orderData, 96))) // feeRecipient - mstore(add(order, 96), mload(add(orderData, 128))) // sender - mstore(add(order, 128), mload(add(orderData, 160))) // makerTokenAmount - mstore(add(order, 160), mload(add(orderData, 192))) // takerTokenAmount + mstore(order, mload(add(orderData, 32))) // makerAddress + mstore(add(order, 32), mload(add(orderData, 64))) // takerAddress + mstore(add(order, 64), mload(add(orderData, 96))) // feeRecipientAddress + mstore(add(order, 96), mload(add(orderData, 128))) // senderAddress + mstore(add(order, 128), mload(add(orderData, 160))) // makerAssetAmount + mstore(add(order, 160), mload(add(orderData, 192))) // takerAssetAmount mstore(add(order, 192), mload(add(orderData, 224))) // makerFee mstore(add(order, 224), mload(add(orderData, 256))) // takerFee - mstore(add(order, 256), mload(add(orderData, 288))) // expirationUnixTimestampSec + mstore(add(order, 256), mload(add(orderData, 288))) // expirationTimeSeconds mstore(add(order, 288), mload(add(orderData, 320))) // salt } @@ -285,7 +285,8 @@ contract ZeroExV2ExchangeWrapper is /* solium-disable-next-line security/no-inline-assembly */ assembly { - // Store the neighbors and address into memory + // Store the selector and address in the asset data + // The first 32 bytes of an array are the length (already set above) mstore(add(result, 32), selector) mstore(add(result, 36), tokenAddress) } diff --git a/migrations/2_deploy.js b/migrations/2_deploy.js index 6157c39a..d39f2e85 100644 --- a/migrations/2_deploy.js +++ b/migrations/2_deploy.js @@ -327,8 +327,10 @@ async function grantAccessToVault() { async function doMigration(deployer, network) { await maybeDeployTestTokens(deployer, network); - await maybeDeploy0xV1(deployer, network); - await maybeDeploy0xV2(deployer, network); + await Promise.all([ + maybeDeploy0xV1(deployer, network), + maybeDeploy0xV2(deployer, network) + ]); await deployContracts(deployer, network); await Promise.all([ authorizeOnProxy(), diff --git a/test/helpers/ZeroExV2Helper.js b/test/helpers/ZeroExV2Helper.js index 9a9c6e9c..39617c06 100644 --- a/test/helpers/ZeroExV2Helper.js +++ b/test/helpers/ZeroExV2Helper.js @@ -151,24 +151,6 @@ async function signV2Order(order) { function getV2OrderHash(order) { const eip712Hash = "0x770501f88a26ede5c04a20ef877969e961eb11fc13b78aaf414b633da0d4f86f"; - /* - = web3Instance.utils.soliditySha3( - "Order(", - "address makerAddress,", - "address takerAddress,", - "address feeRecipientAddress,", - "address senderAddress,", - "uint256 makerTokenAmount,", - "uint256 takerTokenAmount,", - "uint256 makerFee,", - "uint256 takerFee,", - "uint256 expirationUnixTimestampSecSeconds,", - "uint256 salt,", - "bytes makerAssetData,", - "bytes takerAssetData", - ")" - ); - */ const makerAssetData = addressToAssetData(order.makerTokenAddress); const takerAssetData = addressToAssetData(order.takerTokenAddress); @@ -189,16 +171,10 @@ function getV2OrderHash(order) { { t: 'bytes32', v: web3Instance.utils.soliditySha3({ t: 'bytes', v: takerAssetData })} ); - const eip712DomainSeparatorSchemaHash = web3Instance.utils.soliditySha3( - { t: 'string', v: "EIP712Domain(" }, - { t: 'string', v: "string name," }, - { t: 'string', v: "string version," }, - { t: 'string', v: "address verifyingContract" }, - { t: 'string', v: ")" }, - ); + const eip712DomSepHash = "0x91ab3d17e3a50a9d89e63fd30b92be7f5336b03b287bb946787a83a9d62a2766"; const eip712DomainHash = web3Instance.utils.soliditySha3( - { t: 'bytes32', v: eip712DomainSeparatorSchemaHash }, + { t: 'bytes32', v: eip712DomSepHash }, { t: 'bytes32', v: web3Instance.utils.soliditySha3({ t: 'string', v: '0x Protocol' })}, { t: 'bytes32', v: web3Instance.utils.soliditySha3({ t: 'string', v: '2' })}, { t: 'bytes32', v: addressToBytes32(order.exchangeContractAddress) }