Comments for ASM hashing

This commit is contained in:
Greg Hysen
2018-06-25 11:01:05 -07:00
parent f8bde5ab9b
commit 94740155e5
2 changed files with 27 additions and 0 deletions

View File

@@ -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)

View File

@@ -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))