random.js 748 B

123456789101112131415161718192021222324
  1. const { ethers } = require('hardhat');
  2. const generators = {
  3. address: () => ethers.Wallet.createRandom().address,
  4. bytes32: () => ethers.hexlify(ethers.randomBytes(32)),
  5. uint256: () => ethers.toBigInt(ethers.randomBytes(32)),
  6. int256: () => ethers.toBigInt(ethers.randomBytes(32)) + ethers.MinInt256,
  7. bytes: (length = 32) => ethers.hexlify(ethers.randomBytes(length)),
  8. string: () => ethers.uuidV4(ethers.randomBytes(32)),
  9. };
  10. generators.address.zero = ethers.ZeroAddress;
  11. generators.bytes32.zero = ethers.ZeroHash;
  12. generators.uint256.zero = 0n;
  13. generators.int256.zero = 0n;
  14. generators.bytes.zero = '0x';
  15. generators.string.zero = '';
  16. // alias hexBytes -> bytes
  17. generators.hexBytes = generators.bytes;
  18. module.exports = {
  19. generators,
  20. };