mirror of
https://github.com/logos-storage/logos-storage-contracts-eth.git
synced 2026-01-02 21:33:08 +00:00
* Move to ethers 6 and use hardhat ignition for deployments * Update prettier to the last version * Remove comment * Remove npx call in package.json * Remove useless comment * Add localhost configuration for hardhat ignition * Use contract initial balance instead of const value * Update dependencies and use extract mining to a script in order to use hardhat ignition deploy command * Fix deployment modules for local env * Remove unused function * Export contract deployment custom error assert into a function * Refactoring * Remove old deployments folder * Add process names when running concurrently * Remove conditional allowBlocksWithSameTimestamp, set true everytime * Update dependencies * Update Vault tests for ignition * Update token description * Add vault ignition module * Remove old .tool-versions * Fix formatting * Remove deployments folder and add README for previous files references * Put back the comment related to hardhat automine * Set hardhat gas limit to auto and restore manual mining for Vault tests * Apply prettier formatting and bug test with ignition syntax * Add deployments artifacts * Fix build-info ignore * Use HARDHAT_NETWORK env variable to deploy marketplace contract * Add guard to check that configs has tags * Add testnet deployment addresses * Add TOKEN_ADDRESS to reuse the token contract deployed * Fix token deployment with contractAt * Remove localhost deployment artifacts * Add section in README for deployments * Ignore localhost deployments in git * Set mine script for localhost deployment only and add deploy reset command * Remove previous deployment scripts * Fix typo in documentation * Add log when reusing token address * Update testnet artifact reference * Remove HARDHAT_NETWORK and update documentation * fix md format * Npm audit fix * Update dependencies * Remove default deployer * Update commit for last testnet artifacts * Remove deployments files from linea and testnet and update the last commit hashes to those artifacts
71 lines
1.5 KiB
JavaScript
71 lines
1.5 KiB
JavaScript
const {
|
|
time,
|
|
mine,
|
|
takeSnapshot,
|
|
} = require("@nomicfoundation/hardhat-network-helpers")
|
|
const hre = require("hardhat")
|
|
const provider = hre.network.provider
|
|
|
|
const snapshots = []
|
|
|
|
async function snapshot() {
|
|
const snapshot = await takeSnapshot()
|
|
const time = await currentTime()
|
|
const automine = await provider.send("hardhat_getAutomine")
|
|
snapshots.push({ snapshot, automine, time })
|
|
}
|
|
|
|
async function revert() {
|
|
const { snapshot, time, automine } = snapshots.pop()
|
|
if (snapshot) {
|
|
await snapshot.restore()
|
|
await setNextBlockTimestamp(time)
|
|
await provider.send("evm_setAutomine", [automine])
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Enables or disables Hardhat's automine mode.
|
|
*
|
|
* When automine mode is disabled, transactions that revert are silently ignored!
|
|
*/
|
|
async function setAutomine(enabled) {
|
|
await provider.send("evm_setAutomine", [enabled])
|
|
}
|
|
|
|
async function ensureMinimumBlockHeight(height) {
|
|
while ((await time.latestBlock()) < height) {
|
|
await mine()
|
|
}
|
|
}
|
|
|
|
async function setNextBlockTimestamp(timestamp) {
|
|
return time.setNextBlockTimestamp(timestamp)
|
|
}
|
|
|
|
async function currentTime() {
|
|
return time.latest()
|
|
}
|
|
|
|
async function advanceTime(seconds) {
|
|
await time.increase(seconds)
|
|
await mine()
|
|
}
|
|
|
|
async function advanceTimeTo(timestamp) {
|
|
await time.setNextBlockTimestamp(timestamp)
|
|
await mine()
|
|
}
|
|
|
|
module.exports = {
|
|
snapshot,
|
|
revert,
|
|
setAutomine,
|
|
mine,
|
|
ensureMinimumBlockHeight,
|
|
currentTime,
|
|
advanceTime,
|
|
advanceTimeTo,
|
|
setNextBlockTimestamp,
|
|
}
|