codex-contracts-eth/test/marketplace.js

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 }