diff options
author | Greg Hysen <greg.hysen@gmail.com> | 2018-06-26 02:01:05 +0800 |
---|---|---|
committer | Greg Hysen <greg.hysen@gmail.com> | 2018-06-26 02:02:31 +0800 |
commit | 94740155e599d6314eb8c41d7b30c0e261e13602 (patch) | |
tree | 4660811871d1b51b7d29ec032fdc0c5266aa153e /packages/contracts | |
parent | f8bde5ab9b8e5d4ec8b9532dfbf18d1202dbfb29 (diff) | |
download | dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar.gz dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar.bz2 dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar.lz dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar.xz dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.tar.zst dexon-0x-contracts-94740155e599d6314eb8c41d7b30c0e261e13602.zip |
Comments for ASM hashing
Diffstat (limited to 'packages/contracts')
-rw-r--r-- | packages/contracts/src/contracts/current/protocol/Exchange/MixinTransactions.sol | 7 | ||||
-rw-r--r-- | packages/contracts/src/contracts/current/protocol/Exchange/libs/LibOrder.sol | 20 |
2 files changed, 27 insertions, 0 deletions
diff --git a/packages/contracts/src/contracts/current/protocol/Exchange/MixinTransactions.sol b/packages/contracts/src/contracts/current/protocol/Exchange/MixinTransactions.sol index 20a4a12df..112e70673 100644 --- a/packages/contracts/src/contracts/current/protocol/Exchange/MixinTransactions.sol +++ b/packages/contracts/src/contracts/current/protocol/Exchange/MixinTransactions.sol @@ -62,6 +62,13 @@ contract MixinTransactions is { bytes32 schemaHash = EIP712_ZEROEX_TRANSACTION_SCHEMA_HASH; bytes32 dataHash = keccak256(data); + // Assembly for more efficiently computing: + // keccak256(abi.encode( + // EIP712_ZEROEX_TRANSACTION_SCHEMA_HASH, + // salt, + // signerAddress, + // keccak256(data) + // )); assembly { let memPtr := mload(64) mstore(memPtr, schemaHash) diff --git a/packages/contracts/src/contracts/current/protocol/Exchange/libs/LibOrder.sol b/packages/contracts/src/contracts/current/protocol/Exchange/libs/LibOrder.sol index f3f1e9277..d1e5da580 100644 --- a/packages/contracts/src/contracts/current/protocol/Exchange/libs/LibOrder.sol +++ b/packages/contracts/src/contracts/current/protocol/Exchange/libs/LibOrder.sol @@ -98,6 +98,26 @@ contract LibOrder is bytes32 schemaHash = EIP712_ORDER_SCHEMA_HASH; bytes32 makerAssetDataHash = keccak256(order.makerAssetData); bytes32 takerAssetDataHash = keccak256(order.takerAssetData); + // Assembly for more efficiently computing: + // keccak256(abi.encodePacked( + // DOMAIN_SEPARATOR_SCHEMA_HASH, + // keccak256(abi.encodePacked(address(this))), + // ORDER_SCHEMA_HASH, + // keccak256(abi.encodePacked( + // order.makerAddress, + // order.takerAddress, + // order.feeRecipientAddress, + // order.senderAddress, + // order.makerAssetAmount, + // order.takerAssetAmount, + // order.makerFee, + // order.takerFee, + // order.expirationTimeSeconds, + // order.salt, + // keccak256(abi.encodePacked(order.makerAssetData)), + // keccak256(abi.encodePacked(order.takerAssetData)) + // )) + // )); assembly { // Backup let temp1 := mload(sub(order, 32)) |