const { ethers } = require("hardhat") function hashRequest({ duration, size, contentHash, proofPeriod, proofTimeout, nonce }) { const type = "[dagger.request.v1]" return ethers.utils.solidityKeccak256( ["string", "uint", "uint", "bytes32", "uint", "uint", "bytes32"], [type, duration, size, contentHash, proofPeriod, proofTimeout, nonce] ) } function hashBid({requestHash, bidExpiry, price}) { const type = "[dagger.bid.v1]" return ethers.utils.solidityKeccak256( ["string", "bytes32", "uint", "uint"], [type, requestHash, bidExpiry, price] ) } async function sign(signer, hash) { return await signer.signMessage(ethers.utils.arrayify(hash)) } module.exports = { hashRequest, hashBid, sign }