codex-contracts-eth/test/marketplace.js

35 lines
827 B
JavaScript
Raw Normal View History

const { ethers } = require("hardhat")
function hashRequest({
2022-02-09 13:17:23 +00:00
duration,
size,
contentHash,
proofPeriod,
proofTimeout,
nonce,
}) {
const type = "[dagger.request.v1]"
2022-02-09 13:17:23 +00:00
return ethers.utils.keccak256(
ethers.utils.defaultAbiCoder.encode(
["string", "uint", "uint", "bytes32", "uint", "uint", "bytes32"],
[type, duration, size, contentHash, proofPeriod, proofTimeout, nonce]
)
)
}
2022-02-09 13:17:23 +00:00
function hashBid({ requestHash, bidExpiry, price }) {
const type = "[dagger.bid.v1]"
2022-02-09 13:17:23 +00:00
return ethers.utils.keccak256(
ethers.utils.defaultAbiCoder.encode(
["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 }