2021-10-12 14:59:34 +00:00
|
|
|
const { ethers } = require("hardhat")
|
|
|
|
|
2021-10-20 12:28:05 +00:00
|
|
|
function hashRequest(duration, size, hash, proofPeriod, proofTimeout, nonce) {
|
|
|
|
const type = "[dagger.request.v1]"
|
2021-10-12 14:59:34 +00:00
|
|
|
return ethers.utils.solidityKeccak256(
|
2021-10-20 12:28:05 +00:00
|
|
|
["string", "uint", "uint", "bytes32", "uint", "uint", "bytes32"],
|
|
|
|
[type, duration, size, hash, proofPeriod, proofTimeout, nonce]
|
2021-10-12 14:59:34 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-10-18 13:29:58 +00:00
|
|
|
function hashBid(requestHash, expiry, price) {
|
2021-10-20 12:28:05 +00:00
|
|
|
const type = "[dagger.bid.v1]"
|
2021-10-12 14:59:34 +00:00
|
|
|
return ethers.utils.solidityKeccak256(
|
2021-10-18 13:29:58 +00:00
|
|
|
["string", "bytes32", "uint", "uint"],
|
2021-10-20 12:28:05 +00:00
|
|
|
[type, requestHash, expiry, price]
|
2021-10-12 14:59:34 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
async function sign(signer, hash) {
|
|
|
|
return await signer.signMessage(ethers.utils.arrayify(hash))
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = { hashRequest, hashBid, sign }
|