26 lines
728 B
JavaScript
26 lines
728 B
JavaScript
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 }
|