def getZeroExOrderHash(self, order):
    unpacked = [self.web3.toChecksumAddress(order['exchangeContractAddress']), self.web3.toChecksumAddress(order['maker']), self.web3.toChecksumAddress(order['taker']), self.web3.toChecksumAddress(order['makerTokenAddress']), self.web3.toChecksumAddress(order['takerTokenAddress']), self.web3.toChecksumAddress(order['feeRecipient']), int(order['makerTokenAmount']), int(order['takerTokenAmount']), int(order['makerFee']), int(order['takerFee']), int(order['expirationUnixTimestampSec']), int(order['salt'])]
    types = ['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256']
    return self.web3.soliditySha3(types, unpacked).hex()
def getZeroExOrderHash(self, order):
    unpacked = [self.web3.toChecksumAddress(order['exchangeContractAddress']), self.web3.toChecksumAddress(order['maker']), self.web3.toChecksumAddress(order['taker']), self.web3.toChecksumAddress(order['makerTokenAddress']), self.web3.toChecksumAddress(order['takerTokenAddress']), self.web3.toChecksumAddress(order['feeRecipient']), int(order['makerTokenAmount']), int(order['takerTokenAmount']), int(order['makerFee']), int(order['takerFee']), int(order['expirationUnixTimestampSec']), int(order['salt'])]
    types = ['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256']
    return self.web3.soliditySha3(types, unpacked).hex()