From 897c9e7620af16016ad57990cf03e78c1d604d99 Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:19:07 +0100 Subject: [PATCH 1/8] Remove truffle --- hardhat.config.ts | 1 - migrations/1_initial_migration.js | 9 - migrations/3_deploy_token.js | 35 --- migrations/4_deploy_core.js | 243 -------------------- migrations/5_deploy_ens.js | 179 --------------- migrations/999_functions.js | 23 -- migrations/utils/getFunctionSignatures.js | 2 - package-lock.json | 258 +--------------------- package.json | 1 - scripts/truffle-fixture-deployer.js | 26 --- utils/FactoryDeployer.js | 9 +- 11 files changed, 5 insertions(+), 781 deletions(-) delete mode 100644 migrations/1_initial_migration.js delete mode 100644 migrations/3_deploy_token.js delete mode 100644 migrations/4_deploy_core.js delete mode 100644 migrations/5_deploy_ens.js delete mode 100644 migrations/999_functions.js delete mode 100644 scripts/truffle-fixture-deployer.js diff --git a/hardhat.config.ts b/hardhat.config.ts index 3e928c641..6d07dfe4b 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,5 +1,4 @@ import '@nomicfoundation/hardhat-toolbox'; -import '@nomiclabs/hardhat-truffle5'; import * as fs from 'fs'; import 'hardhat-dependency-compiler'; import 'hardhat-deploy'; diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js deleted file mode 100644 index b71efe29d..000000000 --- a/migrations/1_initial_migration.js +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-FileCopyrightText: 2020 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const deployer = require('../scripts/hardhat-truffle-utils'); -var Migrations = artifacts.require('Migrations'); - -module.exports = async function () { - await deployer.deploy(Migrations); -}; diff --git a/migrations/3_deploy_token.js b/migrations/3_deploy_token.js deleted file mode 100644 index 30c774d02..000000000 --- a/migrations/3_deploy_token.js +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-FileCopyrightText: 2020-2024 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const deployer = require('../scripts/hardhat-truffle-utils'); -// CONFIG -const CONFIG = require('../config/config.json'); -// Token -var RLC = artifacts.require('rlc-faucet-contract/RLC'); - -/***************************************************************************** - * Main * - *****************************************************************************/ -module.exports = async function (accounts) { - console.log('# web3 version:', web3.version); - const chainid = await web3.eth.net.getId(); - const chaintype = await web3.eth.net.getNetworkType(); - console.log('Chainid is:', chainid); - console.log('Chaintype is:', chaintype); - console.log('Deployer is:', accounts[0]); - - const deploymentOptions = CONFIG.chains[chainid] || CONFIG.chains.default; - - switch (deploymentOptions.asset) { - case 'Token': - if (deploymentOptions.token) { - RLC.setAsDeployed(await RLC.at(deploymentOptions.token)); - } else { - RLC.isDeployed() || (await deployer.deploy(RLC)); - } - break; - - case 'Native': - break; - } -}; diff --git a/migrations/4_deploy_core.js b/migrations/4_deploy_core.js deleted file mode 100644 index 7d360154e..000000000 --- a/migrations/4_deploy_core.js +++ /dev/null @@ -1,243 +0,0 @@ -// SPDX-FileCopyrightText: 2020-2024 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const deployer = require('../scripts/hardhat-truffle-utils'); -const assert = require('assert'); -// CONFIG -const CONFIG = require('../config/config.json'); -// FactoryDeployer -const { TruffleDeployer: Deployer } = require('../utils/FactoryDeployer'); -const { getFunctionSignatures } = require('./utils/getFunctionSignatures'); -// Token -var RLC = artifacts.require('rlc-faucet-contract/RLC'); -// ERC1538 core & delegates -var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); -var ERC1538Update = artifacts.require('@iexec/solidity/ERC1538UpdateDelegate'); -var ERC1538Query = artifacts.require('@iexec/solidity/ERC1538QueryDelegate'); -// Libraries -var IexecLibOrders = artifacts.require('IexecLibOrders_v5'); -// Interface -var IexecInterfaceNative = artifacts.require('IexecInterfaceNative'); -var IexecInterfaceToken = artifacts.require('IexecInterfaceToken'); -// Delegates -var IexecAccessors = artifacts.require('IexecAccessorsDelegate'); -var IexecAccessorsABILegacy = artifacts.require('IexecAccessorsABILegacyDelegate'); -var IexecCategoryManager = artifacts.require('IexecCategoryManagerDelegate'); -var IexecERC20 = artifacts.require('IexecERC20Delegate'); -var IexecEscrowNative = artifacts.require('IexecEscrowNativeDelegate'); -var IexecEscrowToken = artifacts.require('IexecEscrowTokenDelegate'); -var IexecEscrowTokenSwap = artifacts.require('IexecEscrowTokenSwapDelegate'); -var IexecMaintenance = artifacts.require('IexecMaintenanceDelegate'); -var IexecMaintenanceExtra = artifacts.require('IexecMaintenanceExtraDelegate'); -var IexecOrderManagement = artifacts.require('IexecOrderManagementDelegate'); -var IexecPoco1 = artifacts.require('IexecPoco1Delegate'); -var IexecPoco2 = artifacts.require('IexecPoco2Delegate'); -var IexecRelay = artifacts.require('IexecRelayDelegate'); -var ENSIntegration = artifacts.require('ENSIntegrationDelegate'); -// Other contracts -var AppRegistry = artifacts.require('AppRegistry'); -var DatasetRegistry = artifacts.require('DatasetRegistry'); -var WorkerpoolRegistry = artifacts.require('WorkerpoolRegistry'); - -const BYTES32_ZERO = '0x0000000000000000000000000000000000000000000000000000000000000000'; -const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; - -/***************************************************************************** - * Main * - *****************************************************************************/ -module.exports = async function (accounts) { - console.log('# web3 version:', web3.version); - const chainid = await web3.eth.net.getId(); - const chaintype = await web3.eth.net.getNetworkType(); - console.log('Chainid is:', chainid); - console.log('Chaintype is:', chaintype); - console.log('Deployer is:', accounts[0]); - - /* ------------------------- Existing deployment ------------------------- */ - const deploymentOptions = CONFIG.chains[chainid] || CONFIG.chains.default; - - const factoryDeployer = deploymentOptions.v5.usefactory && new Deployer(web3, accounts[0]); - const salt = process.env.SALT || deploymentOptions.v5.salt; - const libraries = [IexecLibOrders]; - - /* ------------------------ Deploy & link library ------------------------ */ - if (deploymentOptions.v5.usefactory) { - for (library of libraries) { - await factoryDeployer.deploy(library); - } - } else { - const iexecLibOrders = await deployer.deploy(IexecLibOrders); - await deployer.link(iexecLibOrders, IexecPoco1); - await deployer.link(iexecLibOrders, IexecMaintenance); - await deployer.link(iexecLibOrders, IexecOrderManagement); - } - - /* ---------------------------- Modules list ----------------------------- */ - contracts = [ - ERC1538Update, - ERC1538Query, - IexecAccessors, - IexecAccessorsABILegacy, - IexecCategoryManager, - IexecERC20, - deploymentOptions.asset == 'Native' && IexecEscrowNative, - deploymentOptions.asset == 'Token' && IexecEscrowToken, - deploymentOptions.asset == 'Token' && deploymentOptions.uniswap && IexecEscrowTokenSwap, - IexecMaintenance, - IexecOrderManagement, - IexecPoco1, - IexecPoco2, - IexecRelay, - ENSIntegration, - chainid != 1 && IexecMaintenanceExtra, - ].filter(Boolean); - - /* --------------------------- Deploy modules ---------------------------- */ - for (module of contracts) { - deploymentOptions.v5.usefactory - ? await factoryDeployer.deploy(module, { libraries }) - : await deployer.deploy(module); - } - - /* ---------------------------- Deploy proxy ----------------------------- */ - if (deploymentOptions.v5.usefactory) { - await factoryDeployer.deploy(ERC1538Proxy, (await ERC1538Update.deployed()).address, { - call: web3.eth.abi.encodeFunctionCall( - ERC1538Proxy._json.abi.find((e) => e.name == 'transferOwnership'), - [accounts[0]], - ), - salt: process.env.PROXY_SALT || salt, - }); - } else { - await deployer.deploy(ERC1538Proxy, (await ERC1538Update.deployed()).address); - } - ERC1538 = await ERC1538Update.at((await ERC1538Proxy.deployed()).address); - console.log(`IexecInstance deployed at address: ${ERC1538.address}`); - - /* --------------------------- Setup modules ---------------------------- */ - for (module of contracts.filter((module) => module != ERC1538Update)) { - console.log(`ERC1538 link: ${module.contractName}`); - await ERC1538.updateContract( - (await module.deployed()).address, - getFunctionSignatures(module.abi), - 'Linking ' + module.contractName, - ); - } - - /* --------------------------- Configure Stack --------------------------- */ - IexecInterfaceInstance = await IexecInterfaceToken.at(ERC1538.address); - - if (deploymentOptions.v5.AppRegistry) AppRegistry.address = deploymentOptions.v5.AppRegistry; - if (deploymentOptions.v5.DatasetRegistry) - DatasetRegistry.address = deploymentOptions.v5.DatasetRegistry; - if (deploymentOptions.v5.WorkerpoolRegistry) - WorkerpoolRegistry.address = deploymentOptions.v5.WorkerpoolRegistry; - if (deploymentOptions.v5.usefactory) { - AppRegistry.isDeployed() || - (await factoryDeployer.deploy(AppRegistry, { - call: web3.eth.abi.encodeFunctionCall( - AppRegistry._json.abi.find((e) => e.name == 'transferOwnership'), - [accounts[0]], - ), - salt, - })); - DatasetRegistry.isDeployed() || - (await factoryDeployer.deploy(DatasetRegistry, { - call: web3.eth.abi.encodeFunctionCall( - DatasetRegistry._json.abi.find((e) => e.name == 'transferOwnership'), - [accounts[0]], - ), - salt, - })); - WorkerpoolRegistry.isDeployed() || - (await factoryDeployer.deploy(WorkerpoolRegistry, { - call: web3.eth.abi.encodeFunctionCall( - WorkerpoolRegistry._json.abi.find((e) => e.name == 'transferOwnership'), - [accounts[0]], - ), - salt, - })); - } else { - AppRegistry.isDeployed() || (await deployer.deploy(AppRegistry)); - DatasetRegistry.isDeployed() || (await deployer.deploy(DatasetRegistry)); - WorkerpoolRegistry.isDeployed() || (await deployer.deploy(WorkerpoolRegistry)); - } - - switch (deploymentOptions.asset) { - case 'Token': - TokenInstance = await RLC.deployed(); - break; - - case 'Native': - TokenInstance = { address: ADDRESS_ZERO }; - break; - } - - AppRegistryInstance = await AppRegistry.deployed(); - DatasetRegistryInstance = await DatasetRegistry.deployed(); - WorkerpoolRegistryInstance = await WorkerpoolRegistry.deployed(); - console.log(`AppRegistry deployed at address: ${AppRegistryInstance.address}`); - console.log(`DatasetRegistry deployed at address: ${DatasetRegistryInstance.address}`); - console.log(`WorkerpoolRegistry deployed at address: ${WorkerpoolRegistryInstance.address}`); - console.log(`Using token: ${TokenInstance.address}`); - - const AppRegistryInitialized = await AppRegistryInstance.initialized(); - const DatasetRegistryInitialized = await DatasetRegistryInstance.initialized(); - const WorkerpoolRegistryInitialized = await WorkerpoolRegistryInstance.initialized(); - const IexecInterfaceInitialized = - (await IexecInterfaceInstance.eip712domain_separator()) != BYTES32_ZERO; - - !AppRegistryInitialized && - (await AppRegistryInstance.initialize(deploymentOptions.v3.AppRegistry || ADDRESS_ZERO)); - !DatasetRegistryInitialized && - (await DatasetRegistryInstance.initialize( - deploymentOptions.v3.DatasetRegistry || ADDRESS_ZERO, - )); - !WorkerpoolRegistryInitialized && - (await WorkerpoolRegistryInstance.initialize( - deploymentOptions.v3.WorkerpoolRegistry || ADDRESS_ZERO, - )); - !AppRegistryInitialized && - (await AppRegistryInstance.setBaseURI(`https://nfts-metadata.iex.ec/app/${chainid}/`)); - !DatasetRegistryInitialized && - (await DatasetRegistryInstance.setBaseURI( - `https://nfts-metadata.iex.ec/dataset/${chainid}/`, - )); - !WorkerpoolRegistryInitialized && - (await WorkerpoolRegistryInstance.setBaseURI( - `https://nfts-metadata.iex.ec/workerpool/${chainid}/`, - )); - !IexecInterfaceInitialized && - (await IexecInterfaceInstance.configure( - TokenInstance.address, - 'Staked RLC', - 'SRLC', - 9, // TODO: generic ? - AppRegistryInstance.address, - DatasetRegistryInstance.address, - WorkerpoolRegistryInstance.address, - ADDRESS_ZERO, - )); - - /* ----------------------------- Categories ------------------------------ */ - - const catCountBefore = await IexecInterfaceInstance.countCategory(); - await CONFIG.categories.slice(catCountBefore.toNumber()).reduce(async (promise, category) => { - await promise; - await IexecInterfaceInstance.createCategory( - category.name, - JSON.stringify(category.description), - category.workClockTimeRef, - ); - }, Promise.resolve()); - - const catCountAfter = await IexecInterfaceInstance.countCategory(); - console.log(`countCategory is now: ${catCountAfter}`); - ( - await Promise.all( - Array(catCountAfter.toNumber()) - .fill() - .map((_, i) => IexecInterfaceInstance.viewCategory(i)), - ) - ).forEach((category, i) => console.log(['category', i, ':', ...category].join(' '))); -}; diff --git a/migrations/5_deploy_ens.js b/migrations/5_deploy_ens.js deleted file mode 100644 index f6c9d9ec5..000000000 --- a/migrations/5_deploy_ens.js +++ /dev/null @@ -1,179 +0,0 @@ -// SPDX-FileCopyrightText: 2020-2024 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const deployer = require('../scripts/hardhat-truffle-utils'); -const assert = require('assert'); -// CONFIG -const CONFIG = require('../config/config.json'); -// ENS -var ENSRegistry = artifacts.require('@ensdomains/ens-contracts/contracts/registry/ENSRegistry'); -var FIFSRegistrar = artifacts.require('@ensdomains/ens-contracts/contracts/registry/FIFSRegistrar'); -var ReverseRegistrar = artifacts.require( - '@ensdomains/ens-contracts/contracts/registry/ReverseRegistrar', -); -var PublicResolver = artifacts.require( - '@ensdomains/ens-contracts/contracts/resolvers/PublicResolver', -); -// Core -var RLC = artifacts.require('rlc-faucet-contract/RLC'); -var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); -var IexecInterfaceNative = artifacts.require('IexecInterfaceNative'); -var IexecInterfaceToken = artifacts.require('IexecInterfaceToken'); -var AppRegistry = artifacts.require('AppRegistry'); -var DatasetRegistry = artifacts.require('DatasetRegistry'); -var WorkerpoolRegistry = artifacts.require('WorkerpoolRegistry'); - -/***************************************************************************** - * Main * - *****************************************************************************/ -module.exports = async function (accounts) { - console.log('# web3 version:', web3.version); - const chainid = await web3.eth.net.getId(); - const chaintype = await web3.eth.net.getNetworkType(); - console.log('Chainid is:', chainid); - console.log('Chaintype is:', chaintype); - console.log('Deployer is:', accounts[0]); - - /* ------------------------- Existing deployment ------------------------- */ - const deploymentOptions = CONFIG.chains[chainid] || CONFIG.chains.default; - - /* ----------------------------- Deploy ENS ------------------------------ */ - if (chainid > 1000) { - // skip for mainnet and testnet use - var ens = null; - var resolver = null; - var registrars = {}; - - function labelhash(label) { - return web3.utils.keccak256(label.toLowerCase()); - } - - function compose(labelHash, rootHash) { - return web3.utils.keccak256( - web3.eth.abi.encodeParameters(['bytes32', 'bytes32'], [rootHash, labelHash]), - ); - } - - function namehash(domain) { - return domain - .split('.') - .reverse() - .reduce((hash, label) => compose(labelhash(label), hash), '0x0'); - } - - async function bootstrap() { - // ens registry - ENSRegistry.isDeployed() || (await deployer.deploy(ENSRegistry)); - ens = await ENSRegistry.deployed(); - console.log(`ENSRegistry deployed at address: ${ens.address}`); - // resolver - PublicResolver.isDeployed() || (await deployer.deploy(PublicResolver, ens.address)); - resolver = await PublicResolver.deployed(); - console.log(`PublicResolver deployed at address: ${resolver.address}`); - // root registrar - await registerDomain(''); - } - - async function setReverseRegistrar() { - ReverseRegistrar.isDeployed() || - (await deployer.deploy(ReverseRegistrar, ens.address, resolver.address)); - reverseregistrar = await ReverseRegistrar.deployed(); - - await registrars[''].register(labelhash('reverse'), accounts[0], { from: accounts[0] }); - await ens.setSubnodeOwner( - namehash('reverse'), - labelhash('addr'), - reverseregistrar.address, - ); - } - - async function registerDomain(label, domain = '') { - const name = domain ? `${label}.${domain}` : `${label}`; - const labelHash = label ? labelhash(label) : '0x0'; - const nameHash = name ? namehash(name) : '0x0'; - const owner = await ens.owner(nameHash); - if ((await web3.eth.getCode(owner)) == '0x') { - registrars[name] = await FIFSRegistrar.new(ens.address, nameHash, { - from: accounts[0], - }); - if (!!name) { - await registrars[domain].register(labelHash, registrars[name].address, { - from: accounts[0], - }); - } else { - await ens.setOwner(nameHash, registrars[name].address, { from: accounts[0] }); - } - } else { - registrars[name] = await FIFSRegistrar.at(owner); - } - console.log( - `FIFSRegistrar for domain ${name} deployed at address: ${registrars[name].address}`, - ); - return registrars[name]; - } - - async function registerAddress(label, domain, address) { - const name = `${label}.${domain}`; - const labelHash = labelhash(label); - const nameHash = namehash(name); - // register as subdomain - await registrars[domain].register(labelHash, accounts[0], { from: accounts[0] }); - // link to ens (resolver & addr) - await ens.setResolver(nameHash, resolver.address, { from: accounts[0] }); - await resolver.setAddr(nameHash, 60, address, { from: accounts[0] }); - } - - await bootstrap(); - await setReverseRegistrar(); - await registerDomain('eth'); - await registerDomain('iexec', 'eth'); - await registerDomain('v5', 'iexec.eth'); - await registerDomain('users', 'iexec.eth'); - await registerDomain('apps', 'iexec.eth'); - await registerDomain('datasets', 'iexec.eth'); - await registerDomain('pools', 'iexec.eth'); - - /* ------------------------- Fetching contracts -------------------------- */ - switch (deploymentOptions.asset) { - case 'Token': - IexecInterfaceInstance = await IexecInterfaceToken.at( - (await ERC1538Proxy.deployed()).address, - ); - break; - case 'Native': - IexecInterfaceInstance = await IexecInterfaceNative.at( - (await ERC1538Proxy.deployed()).address, - ); - break; - } - - const RLCInstance = deploymentOptions.asset == 'Token' && (await RLC.deployed()); - const AppRegistryInstance = await AppRegistry.deployed(); - const DatasetRegistryInstance = await DatasetRegistry.deployed(); - const WorkerpoolRegistryInstance = await WorkerpoolRegistry.deployed(); - - await registerAddress('admin', 'iexec.eth', accounts[0]); - RLCInstance && (await registerAddress('rlc', 'iexec.eth', RLCInstance.address)); - IexecInterfaceInstance && - (await registerAddress('core', 'v5.iexec.eth', IexecInterfaceInstance.address)); - AppRegistryInstance && - (await registerAddress('apps', 'v5.iexec.eth', AppRegistryInstance.address)); - DatasetRegistryInstance && - (await registerAddress('datasets', 'v5.iexec.eth', DatasetRegistryInstance.address)); - WorkerpoolRegistryInstance && - (await registerAddress( - 'workerpools', - 'v5.iexec.eth', - WorkerpoolRegistryInstance.address, - )); - await reverseregistrar.setName('admin.iexec.eth', { from: accounts[0] }); - IexecInterfaceInstance && - (await IexecInterfaceInstance.setName(ens.address, 'core.v5.iexec.eth')); - AppRegistryInstance && - (await AppRegistryInstance.setName(ens.address, 'apps.v5.iexec.eth')); - DatasetRegistryInstance && - (await DatasetRegistryInstance.setName(ens.address, 'datasets.v5.iexec.eth')); - WorkerpoolRegistryInstance && - (await WorkerpoolRegistryInstance.setName(ens.address, 'workerpools.v5.iexec.eth')); - } -}; diff --git a/migrations/999_functions.js b/migrations/999_functions.js deleted file mode 100644 index d2836b552..000000000 --- a/migrations/999_functions.js +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-FileCopyrightText: 2020 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -// ERC1538 core & delegates -var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); -var ERC1538Query = artifacts.require('@iexec/solidity/ERC1538QueryDelegate'); - -/***************************************************************************** - * Main * - *****************************************************************************/ -module.exports = async function () { - const ERC1538QueryInstace = await ERC1538Query.at((await ERC1538Proxy.deployed()).address); - const functionCount = await ERC1538QueryInstace.totalFunctions(); - - console.log(`The deployed ERC1538Proxy supports ${functionCount} functions:`); - ( - await Promise.all( - Array(functionCount.toNumber()) - .fill() - .map((_, i) => ERC1538QueryInstace.functionByIndex(i)), - ) - ).forEach((details, i) => console.log(`[${i}] ${details.delegate} ${details.signature}`)); -}; diff --git a/migrations/utils/getFunctionSignatures.js b/migrations/utils/getFunctionSignatures.js index de5f6a02c..ba1404f57 100644 --- a/migrations/utils/getFunctionSignatures.js +++ b/migrations/utils/getFunctionSignatures.js @@ -1,8 +1,6 @@ // SPDX-FileCopyrightText: 2023-2024 IEXEC BLOCKCHAIN TECH // SPDX-License-Identifier: Apache-2.0 -const { TruffleDeployer: Deployer } = require('../../utils/FactoryDeployer'); - /***************************************************************************** * Tools * *****************************************************************************/ diff --git a/package-lock.json b/package-lock.json index a9a34c2e5..06e84835c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,6 @@ "@ensdomains/ens-contracts": "^0.0.3", "@nomicfoundation/hardhat-network-helpers": "^1.0.11", "@nomicfoundation/hardhat-toolbox": "^2.0.2", - "@nomiclabs/hardhat-truffle5": "^2.0.7", "@nomiclabs/hardhat-web3": "^2.0.0", "@openzeppelin/test-helpers": "^0.5.16", "@openzeppelin/upgrades-core": "^1.37.1", @@ -1586,47 +1585,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@nomiclabs/hardhat-truffle5": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-truffle5/-/hardhat-truffle5-2.0.7.tgz", - "integrity": "sha512-Pw8451IUZp1bTp0QqCHCYfCHs66sCnyxPcaorapu9mfOV9xnZsVaFdtutnhNEiXdiZwbed7LFKpRsde4BjFwig==", - "dev": true, - "dependencies": { - "@nomiclabs/truffle-contract": "^4.2.23", - "@types/chai": "^4.2.0", - "chai": "^4.2.0", - "ethereumjs-util": "^7.1.4", - "fs-extra": "^7.0.1" - }, - "peerDependencies": { - "@nomiclabs/hardhat-web3": "^2.0.0", - "hardhat": "^2.6.4", - "web3": "^1.0.0-beta.36" - } - }, - "node_modules/@nomiclabs/hardhat-truffle5/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@nomiclabs/hardhat-truffle5/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/@nomiclabs/hardhat-web3": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", @@ -1640,70 +1598,6 @@ "web3": "^1.0.0-beta.36" } }, - "node_modules/@nomiclabs/truffle-contract": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.5.10.tgz", - "integrity": "sha512-nF/6InFV+0hUvutyFgsdOMCoYlr//2fJbRER4itxYtQtc4/O1biTwZIKRu+5l2J5Sq6LU2WX7vZHtDgQdhWxIQ==", - "dev": true, - "dependencies": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.3", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.22", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.16", - "bignumber.js": "^7.2.1", - "ethereum-ens": "^0.8.0", - "ethers": "^4.0.0-beta.1", - "source-map-support": "^0.5.19" - }, - "peerDependencies": { - "web3": "^1.2.1", - "web3-core-helpers": "^1.2.1", - "web3-core-promievent": "^1.2.1", - "web3-eth-abi": "^1.2.1", - "web3-utils": "^1.2.1" - } - }, - "node_modules/@nomiclabs/truffle-contract/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/@nomiclabs/truffle-contract/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@nomiclabs/truffle-contract/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/@nomiclabs/truffle-contract/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, "node_modules/@openzeppelin/contract-loader": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz", @@ -3626,7 +3520,8 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/chai-as-promised": { "version": "7.1.5", @@ -7564,20 +7459,6 @@ "setimmediate": "^1.0.5" } }, - "node_modules/ethereum-ens": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ethereum-ens/-/ethereum-ens-0.8.0.tgz", - "integrity": "sha512-a8cBTF4AWw1Q1Y37V1LSCS9pRY4Mh3f8vCg5cbXCCEJ3eno1hbI/+Ccv9SZLISYpqQhaglP3Bxb/34lS4Qf7Bg==", - "dev": true, - "dependencies": { - "bluebird": "^3.4.7", - "eth-ens-namehash": "^2.0.0", - "js-sha3": "^0.5.7", - "pako": "^1.0.4", - "underscore": "^1.8.3", - "web3": "^1.0.0-beta.34" - } - }, "node_modules/ethereumjs-abi": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", @@ -12817,12 +12698,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "node_modules/param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -16556,12 +16431,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, "node_modules/undici": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", @@ -19901,41 +19770,6 @@ } } }, - "@nomiclabs/hardhat-truffle5": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-truffle5/-/hardhat-truffle5-2.0.7.tgz", - "integrity": "sha512-Pw8451IUZp1bTp0QqCHCYfCHs66sCnyxPcaorapu9mfOV9xnZsVaFdtutnhNEiXdiZwbed7LFKpRsde4BjFwig==", - "dev": true, - "requires": { - "@nomiclabs/truffle-contract": "^4.2.23", - "@types/chai": "^4.2.0", - "chai": "^4.2.0", - "ethereumjs-util": "^7.1.4", - "fs-extra": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, "@nomiclabs/hardhat-web3": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", @@ -19945,65 +19779,6 @@ "@types/bignumber.js": "^5.0.0" } }, - "@nomiclabs/truffle-contract": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.5.10.tgz", - "integrity": "sha512-nF/6InFV+0hUvutyFgsdOMCoYlr//2fJbRER4itxYtQtc4/O1biTwZIKRu+5l2J5Sq6LU2WX7vZHtDgQdhWxIQ==", - "dev": true, - "requires": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.3", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.22", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.16", - "bignumber.js": "^7.2.1", - "ethereum-ens": "^0.8.0", - "ethers": "^4.0.0-beta.1", - "source-map-support": "^0.5.19" - }, - "dependencies": { - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - } - } - }, "@openzeppelin/contract-loader": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz", @@ -21585,7 +21360,8 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", - "dev": true + "dev": true, + "peer": true }, "@types/chai-as-promised": { "version": "7.1.5", @@ -24763,20 +24539,6 @@ "setimmediate": "^1.0.5" } }, - "ethereum-ens": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ethereum-ens/-/ethereum-ens-0.8.0.tgz", - "integrity": "sha512-a8cBTF4AWw1Q1Y37V1LSCS9pRY4Mh3f8vCg5cbXCCEJ3eno1hbI/+Ccv9SZLISYpqQhaglP3Bxb/34lS4Qf7Bg==", - "dev": true, - "requires": { - "bluebird": "^3.4.7", - "eth-ens-namehash": "^2.0.0", - "js-sha3": "^0.5.7", - "pako": "^1.0.4", - "underscore": "^1.8.3", - "web3": "^1.0.0-beta.34" - } - }, "ethereumjs-abi": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", @@ -28857,12 +28619,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -31749,12 +31505,6 @@ } } }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, "undici": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", diff --git a/package.json b/package.json index 23619b65f..60b13afb8 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "@ensdomains/ens-contracts": "^0.0.3", "@nomicfoundation/hardhat-network-helpers": "^1.0.11", "@nomicfoundation/hardhat-toolbox": "^2.0.2", - "@nomiclabs/hardhat-truffle5": "^2.0.7", "@nomiclabs/hardhat-web3": "^2.0.0", "@openzeppelin/test-helpers": "^0.5.16", "@openzeppelin/upgrades-core": "^1.37.1", diff --git a/scripts/truffle-fixture-deployer.js b/scripts/truffle-fixture-deployer.js deleted file mode 100644 index d9fbbc59d..000000000 --- a/scripts/truffle-fixture-deployer.js +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-FileCopyrightText: 2023-2024 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers'); -const { resetNetworkToInitialState } = require('./common-test-snapshot'); -const initial_migration = require('../migrations/1_initial_migration.js'); -const deploy_token = require('../migrations/3_deploy_token.js'); -const deploy_core = require('../migrations/4_deploy_core.js'); -const deploy_ens = require('../migrations/5_deploy_ens.js'); -const functions = require('../migrations/999_functions.js'); - -async function resetNetworkAndDeployAllContracts() { - await resetNetworkToInitialState(); - console.log('Migrating contracts..'); - await initial_migration(); - const accounts = await web3.eth.getAccounts(); - await deploy_token(accounts); - await deploy_core(accounts); - await deploy_ens(accounts); - await functions(accounts); -} - -module.exports = async () => { - console.log('Running truffle-fixture'); - await loadFixture(resetNetworkAndDeployAllContracts); -}; diff --git a/utils/FactoryDeployer.js b/utils/FactoryDeployer.js index 3cdd7fe19..b09de2d75 100644 --- a/utils/FactoryDeployer.js +++ b/utils/FactoryDeployer.js @@ -134,11 +134,4 @@ class EthersDeployer { } } -class TruffleDeployer extends EthersDeployer { - constructor(web3, wallet = 0, options = {}) { - const provider = new ethers.providers.Web3Provider(web3.currentProvider); - super(provider.getSigner(wallet), options); - } -} - -module.exports = { EthersDeployer, TruffleDeployer, factoryAddress: FACTORY.address }; +module.exports = { EthersDeployer, factoryAddress: FACTORY.address }; From be7275bd8c7677336867d5c4ea712785d875c7cc Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:40:25 +0100 Subject: [PATCH 2/8] Fix imports --- scripts/hardhat-fixture-deployer.ts | 2 +- test/000_fullchain.test.ts | 3 ++- test/200_fullchain-bot.test.ts | 2 +- test/201_fullchain-multi-orders.test.ts | 3 ++- test/300_fullchain-reopen.test.ts | 2 +- test/byContract/ENSIntegration/ENSIntegration.test.ts | 3 ++- test/byContract/IexecAccessors/IexecAccessors.test.ts | 3 ++- .../IexecAccessors/IexecAccessorsABILegacy.test.ts | 3 ++- .../IexecCategoryManager/IexecCategoryManager.test.ts | 2 +- test/byContract/IexecERC20/IexecERC20.test.ts | 3 ++- test/byContract/IexecEscrow/IexecEscrowNative.test.ts | 3 ++- test/byContract/IexecEscrow/IexecEscrowToken.test.ts | 3 ++- test/byContract/IexecMaintenance/IexecMaintenance.test.ts | 3 ++- .../IexecOrderManagement/IexecOrderManagement.test.ts | 3 ++- test/byContract/IexecPoco/IexecPoco1.test.ts | 7 ++++--- test/byContract/IexecPoco/IexecPoco2-claim.test.ts | 3 ++- .../IexecPoco/IexecPoco2-contribute-and-finalize.test.ts | 3 ++- test/byContract/IexecPoco/IexecPoco2-contribute.test.ts | 2 +- test/byContract/IexecPoco/IexecPoco2-finalize.test.ts | 3 ++- test/byContract/IexecPoco/IexecPoco2-initialize.test.ts | 3 ++- test/byContract/IexecPoco/IexecPoco2-reopen.test.ts | 2 +- test/byContract/IexecPoco/IexecPoco2-reveal.test.ts | 3 ++- test/byContract/IexecPocoBoost/IexecEscrow.v8.test.ts | 2 +- test/byContract/IexecRelay/IexecRelay.test.ts | 3 ++- test/byContract/registries/assets.test.ts | 3 ++- test/byContract/registries/registries.test.ts | 3 ++- test/utils/IexecWrapper.ts | 3 ++- utils/tools.js | 1 + 28 files changed, 50 insertions(+), 29 deletions(-) diff --git a/scripts/hardhat-fixture-deployer.ts b/scripts/hardhat-fixture-deployer.ts index c8e796aee..345f0bd91 100644 --- a/scripts/hardhat-fixture-deployer.ts +++ b/scripts/hardhat-fixture-deployer.ts @@ -58,6 +58,6 @@ async function resetNetworkAndDeployAllContracts() { * @returns proxy address. */ export const loadHardhatFixtureDeployment = async () => { - console.log('Running hardhat-fixture'); + console.log('Running hardhat-fixture'); // return await loadFixture(resetNetworkAndDeployAllContracts); }; diff --git a/test/000_fullchain.test.ts b/test/000_fullchain.test.ts index 701c5b47a..7fdfc8e6e 100644 --- a/test/000_fullchain.test.ts +++ b/test/000_fullchain.test.ts @@ -3,7 +3,8 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../typechain'; import { OrdersActors, OrdersAssets, OrdersPrices, buildOrders } from '../utils/createOrders'; diff --git a/test/200_fullchain-bot.test.ts b/test/200_fullchain-bot.test.ts index 4336f5f6b..5b1250c3f 100644 --- a/test/200_fullchain-bot.test.ts +++ b/test/200_fullchain-bot.test.ts @@ -3,7 +3,7 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { expect } from 'hardhat'; +import { expect } from 'chai'; import { loadHardhatFixtureDeployment } from '../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../typechain'; import { OrdersActors, OrdersAssets, OrdersPrices, buildOrders } from '../utils/createOrders'; diff --git a/test/201_fullchain-multi-orders.test.ts b/test/201_fullchain-multi-orders.test.ts index 5ed56f806..0066cccfe 100644 --- a/test/201_fullchain-multi-orders.test.ts +++ b/test/201_fullchain-multi-orders.test.ts @@ -3,7 +3,8 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/300_fullchain-reopen.test.ts b/test/300_fullchain-reopen.test.ts index e08eaff9e..18f8858a4 100644 --- a/test/300_fullchain-reopen.test.ts +++ b/test/300_fullchain-reopen.test.ts @@ -5,7 +5,7 @@ import { AddressZero } from '@ethersproject/constants'; import { loadFixture, mine } from '@nomicfoundation/hardhat-network-helpers'; import { setNextBlockTimestamp } from '@nomicfoundation/hardhat-network-helpers/dist/src/helpers/time'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { expect } from 'hardhat'; +import { expect } from 'chai'; import { loadHardhatFixtureDeployment } from '../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../typechain'; import { OrdersActors, OrdersAssets, OrdersPrices, buildOrders } from '../utils/createOrders'; diff --git a/test/byContract/ENSIntegration/ENSIntegration.test.ts b/test/byContract/ENSIntegration/ENSIntegration.test.ts index f233bf54e..9a4149676 100644 --- a/test/byContract/ENSIntegration/ENSIntegration.test.ts +++ b/test/byContract/ENSIntegration/ENSIntegration.test.ts @@ -3,7 +3,8 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { deployments, ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { deployments, ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { ENSRegistry, diff --git a/test/byContract/IexecAccessors/IexecAccessors.test.ts b/test/byContract/IexecAccessors/IexecAccessors.test.ts index 66681e661..3936cde8c 100644 --- a/test/byContract/IexecAccessors/IexecAccessors.test.ts +++ b/test/byContract/IexecAccessors/IexecAccessors.test.ts @@ -4,7 +4,8 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { deployments, ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { deployments, ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { diff --git a/test/byContract/IexecAccessors/IexecAccessorsABILegacy.test.ts b/test/byContract/IexecAccessors/IexecAccessorsABILegacy.test.ts index 72b68cdba..2f531e545 100644 --- a/test/byContract/IexecAccessors/IexecAccessorsABILegacy.test.ts +++ b/test/byContract/IexecAccessors/IexecAccessorsABILegacy.test.ts @@ -4,7 +4,8 @@ import { AddressZero } from '@ethersproject/constants'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecCategoryManager/IexecCategoryManager.test.ts b/test/byContract/IexecCategoryManager/IexecCategoryManager.test.ts index 6cd031fef..9b1a0d970 100644 --- a/test/byContract/IexecCategoryManager/IexecCategoryManager.test.ts +++ b/test/byContract/IexecCategoryManager/IexecCategoryManager.test.ts @@ -3,7 +3,7 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { expect } from 'hardhat'; +import { expect } from 'chai'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { Category, getIexecAccounts } from '../../../utils/poco-tools'; diff --git a/test/byContract/IexecERC20/IexecERC20.test.ts b/test/byContract/IexecERC20/IexecERC20.test.ts index d9ffe3873..845eec6ef 100644 --- a/test/byContract/IexecERC20/IexecERC20.test.ts +++ b/test/byContract/IexecERC20/IexecERC20.test.ts @@ -3,8 +3,9 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; import { BigNumber } from 'ethers'; -import { ethers, expect } from 'hardhat'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecEscrow/IexecEscrowNative.test.ts b/test/byContract/IexecEscrow/IexecEscrowNative.test.ts index 6bed9aff3..f7894ba4b 100644 --- a/test/byContract/IexecEscrow/IexecEscrowNative.test.ts +++ b/test/byContract/IexecEscrow/IexecEscrowNative.test.ts @@ -4,8 +4,9 @@ import { AddressZero } from '@ethersproject/constants'; import { loadFixture, setStorageAt } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; import { BigNumber } from 'ethers'; -import { ethers, expect } from 'hardhat'; +import { ethers } from 'hardhat'; import CONFIG from '../../../config/config.json'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; diff --git a/test/byContract/IexecEscrow/IexecEscrowToken.test.ts b/test/byContract/IexecEscrow/IexecEscrowToken.test.ts index 5835ea76f..afa2bc6b9 100644 --- a/test/byContract/IexecEscrow/IexecEscrowToken.test.ts +++ b/test/byContract/IexecEscrow/IexecEscrowToken.test.ts @@ -4,8 +4,9 @@ import { AddressZero } from '@ethersproject/constants'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; import { BigNumber } from 'ethers'; -import { ethers, expect } from 'hardhat'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceToken, diff --git a/test/byContract/IexecMaintenance/IexecMaintenance.test.ts b/test/byContract/IexecMaintenance/IexecMaintenance.test.ts index dad167cab..cab9060e7 100644 --- a/test/byContract/IexecMaintenance/IexecMaintenance.test.ts +++ b/test/byContract/IexecMaintenance/IexecMaintenance.test.ts @@ -4,7 +4,8 @@ import { HashZero as hashZero } from '@ethersproject/constants'; import { loadFixture, setStorageAt } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecOrderManagement/IexecOrderManagement.test.ts b/test/byContract/IexecOrderManagement/IexecOrderManagement.test.ts index 243f73868..fe5954171 100644 --- a/test/byContract/IexecOrderManagement/IexecOrderManagement.test.ts +++ b/test/byContract/IexecOrderManagement/IexecOrderManagement.test.ts @@ -3,7 +3,8 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecPoco/IexecPoco1.test.ts b/test/byContract/IexecPoco/IexecPoco1.test.ts index 61d4abfd2..5d08f44a9 100644 --- a/test/byContract/IexecPoco/IexecPoco1.test.ts +++ b/test/byContract/IexecPoco/IexecPoco1.test.ts @@ -5,7 +5,8 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { Contract, ContractTransaction } from '@ethersproject/contracts'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { ERC1271Mock, @@ -19,8 +20,8 @@ import { OwnableMock, OwnableMock__factory, } from '../../../typechain'; -import { IexecPoco1 } from '../../../typechain/contracts/modules/interfaces/IexecPoco1.v8.sol'; -import { IexecPoco1__factory } from '../../../typechain/factories/contracts/modules/interfaces/IexecPoco1.v8.sol'; +import { IexecPoco1 } from '../../../typechain/contracts/modules/interfaces/IexecPoco1.v8.sol/IexecPoco1'; +import { IexecPoco1__factory } from '../../../typechain/factories/contracts/modules/interfaces/IexecPoco1.v8.sol/IexecPoco1__factory'; import { IexecOrders, OrdersActors, diff --git a/test/byContract/IexecPoco/IexecPoco2-claim.test.ts b/test/byContract/IexecPoco/IexecPoco2-claim.test.ts index e93a166d8..0e95fd6d5 100644 --- a/test/byContract/IexecPoco/IexecPoco2-claim.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-claim.test.ts @@ -3,7 +3,8 @@ import { loadFixture, mine, time } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { OrdersAssets, OrdersPrices, buildOrders } from '../../../utils/createOrders'; diff --git a/test/byContract/IexecPoco/IexecPoco2-contribute-and-finalize.test.ts b/test/byContract/IexecPoco/IexecPoco2-contribute-and-finalize.test.ts index 7f23b03e1..498d3d765 100644 --- a/test/byContract/IexecPoco/IexecPoco2-contribute-and-finalize.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-contribute-and-finalize.test.ts @@ -4,7 +4,8 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { loadFixture, time } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecPoco/IexecPoco2-contribute.test.ts b/test/byContract/IexecPoco/IexecPoco2-contribute.test.ts index 2abbde4c8..0fbf074c8 100644 --- a/test/byContract/IexecPoco/IexecPoco2-contribute.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-contribute.test.ts @@ -4,7 +4,7 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { loadFixture, time } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { assert, expect } from 'hardhat'; +import { assert, expect } from 'chai'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { NULL } from '../../../utils/constants'; diff --git a/test/byContract/IexecPoco/IexecPoco2-finalize.test.ts b/test/byContract/IexecPoco/IexecPoco2-finalize.test.ts index e4fcded5b..8f4e59efe 100644 --- a/test/byContract/IexecPoco/IexecPoco2-finalize.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-finalize.test.ts @@ -4,7 +4,8 @@ import { AddressZero } from '@ethersproject/constants'; import { loadFixture, setStorageAt, time } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/IexecPoco/IexecPoco2-initialize.test.ts b/test/byContract/IexecPoco/IexecPoco2-initialize.test.ts index 9e91063f3..a77bb7bc7 100644 --- a/test/byContract/IexecPoco/IexecPoco2-initialize.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-initialize.test.ts @@ -3,7 +3,8 @@ import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { diff --git a/test/byContract/IexecPoco/IexecPoco2-reopen.test.ts b/test/byContract/IexecPoco/IexecPoco2-reopen.test.ts index 46d6c8821..23c793636 100644 --- a/test/byContract/IexecPoco/IexecPoco2-reopen.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-reopen.test.ts @@ -5,7 +5,7 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { loadFixture, mine, time } from '@nomicfoundation/hardhat-network-helpers'; import { setNextBlockTimestamp } from '@nomicfoundation/hardhat-network-helpers/dist/src/helpers/time'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { expect } from 'hardhat'; +import { expect } from 'chai'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { OrdersAssets, OrdersPrices, buildOrders } from '../../../utils/createOrders'; diff --git a/test/byContract/IexecPoco/IexecPoco2-reveal.test.ts b/test/byContract/IexecPoco/IexecPoco2-reveal.test.ts index f275cb7b4..882199499 100644 --- a/test/byContract/IexecPoco/IexecPoco2-reveal.test.ts +++ b/test/byContract/IexecPoco/IexecPoco2-reveal.test.ts @@ -4,7 +4,8 @@ import { AddressZero, HashZero } from '@ethersproject/constants'; import { loadFixture, time } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, IexecInterfaceNative__factory } from '../../../typechain'; import { NULL } from '../../../utils/constants'; diff --git a/test/byContract/IexecPocoBoost/IexecEscrow.v8.test.ts b/test/byContract/IexecPocoBoost/IexecEscrow.v8.test.ts index a4ab9460b..e4cf9e406 100644 --- a/test/byContract/IexecPocoBoost/IexecEscrow.v8.test.ts +++ b/test/byContract/IexecPocoBoost/IexecEscrow.v8.test.ts @@ -4,8 +4,8 @@ import { HashZero } from '@ethersproject/constants'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; import { constants } from 'ethers'; -import { expect } from 'hardhat'; import { IexecEscrowTestContract, IexecEscrowTestContract__factory } from '../../../typechain'; import { getIexecAccounts } from '../../../utils/poco-tools'; diff --git a/test/byContract/IexecRelay/IexecRelay.test.ts b/test/byContract/IexecRelay/IexecRelay.test.ts index c9c1e34eb..178195cd9 100644 --- a/test/byContract/IexecRelay/IexecRelay.test.ts +++ b/test/byContract/IexecRelay/IexecRelay.test.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; -import { ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { IexecInterfaceNative, diff --git a/test/byContract/registries/assets.test.ts b/test/byContract/registries/assets.test.ts index 876734418..f4f4683a8 100644 --- a/test/byContract/registries/assets.test.ts +++ b/test/byContract/registries/assets.test.ts @@ -4,7 +4,8 @@ import { BytesLike } from '@ethersproject/bytes'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import { deployments, ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import { deployments, ethers } from 'hardhat'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { App, diff --git a/test/byContract/registries/registries.test.ts b/test/byContract/registries/registries.test.ts index 5919e51b6..5d819f2a1 100644 --- a/test/byContract/registries/registries.test.ts +++ b/test/byContract/registries/registries.test.ts @@ -5,7 +5,8 @@ import { BytesLike } from '@ethersproject/bytes'; import { AddressZero } from '@ethersproject/constants'; import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; -import hre, { deployments, ethers, expect } from 'hardhat'; +import { expect } from 'chai'; +import hre, { deployments, ethers } from 'hardhat'; import CONFIG from '../../../config/config.json'; import { loadHardhatFixtureDeployment } from '../../../scripts/hardhat-fixture-deployer'; import { diff --git a/test/utils/IexecWrapper.ts b/test/utils/IexecWrapper.ts index 5eadff95b..cbaada207 100644 --- a/test/utils/IexecWrapper.ts +++ b/test/utils/IexecWrapper.ts @@ -4,8 +4,9 @@ import { TypedDataDomain } from '@ethersproject/abstract-signer'; import { AddressZero } from '@ethersproject/constants'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; import { BigNumber, ContractReceipt } from 'ethers'; -import hre, { ethers, expect } from 'hardhat'; +import hre, { ethers } from 'hardhat'; import config from '../../config/config.json'; import { AppRegistry, diff --git a/utils/tools.js b/utils/tools.js index f59d1ca76..4a3e290ac 100644 --- a/utils/tools.js +++ b/utils/tools.js @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2020 IEXEC BLOCKCHAIN TECH // SPDX-License-Identifier: Apache-2.0 +const { assert } = require('chai'); const { ethers } = require('ethers'); function _extractEvents(data, address, name) { From 1016ae2f7b78e760019b1d7950d3c1c3bc53cdae Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:44:05 +0100 Subject: [PATCH 3/8] Clean --- verify.sh | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100755 verify.sh diff --git a/verify.sh b/verify.sh deleted file mode 100755 index adb14f027..000000000 --- a/verify.sh +++ /dev/null @@ -1,45 +0,0 @@ -# TODO migrate - -#!/usr/bin/env bash - -NETWORKS=( - # mainnet - # ropsten - rinkeby - # goerli - # kovan -) - -declare -A CHAINID=( - [mainnet]=1 - [ropsten]=3 - [rinkeby]=4 - [goerli]=5 - [kovan]=42 -) - -CONTRACTS=( - # AppRegistry - # DatasetRegistry - # WorkerpoolRegistry - # ENSIntegrationDelegate - # IexecCategoryManagerDelegate - # IexecERC20Delegate - # IexecEscrowTokenDelegate - # IexecMaintenanceExtraDelegate - # IexecRelayDelegate - - # IexecAccessorsABILegacyDelegate - # IexecMaintenanceDelegate # Library ? - # IexecPocoDelegate # Library ? - # IexecOrderManagementDelegate # Library ? - # IexecLibOrders_v5 # ??? -) - -for CONTRACT in "${CONTRACTS[@]}"; -do -for NETWORK in "${NETWORKS[@]}"; -do - truffle run verify $CONTRACT --network $NETWORK $@ -done -done From 23c5afb35443edf0fdf51470db2f855b2dbb01ee Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Tue, 14 Jan 2025 22:30:48 +0100 Subject: [PATCH 4/8] Clean and remove not-useful-anymore log message --- scripts/hardhat-fixture-deployer.ts | 3 ++- scripts/hardhat-truffle-utils.js | 18 ------------------ 2 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 scripts/hardhat-truffle-utils.js diff --git a/scripts/hardhat-fixture-deployer.ts b/scripts/hardhat-fixture-deployer.ts index 345f0bd91..ce7b7c7bc 100644 --- a/scripts/hardhat-fixture-deployer.ts +++ b/scripts/hardhat-fixture-deployer.ts @@ -10,6 +10,8 @@ const { resetNetworkToInitialState } = require('./common-test-snapshot'); const deploy = require('../deploy/0_deploy'); const deployEns = require('../deploy/1_deploy-ens'); +// TODO update and move to test/utils/ + // Anonymous functions cannot be used as fixtures, hence we need to wrap body // in a method which will be called by `loadFixture`. async function resetNetworkAndDeployAllContracts() { @@ -58,6 +60,5 @@ async function resetNetworkAndDeployAllContracts() { * @returns proxy address. */ export const loadHardhatFixtureDeployment = async () => { - console.log('Running hardhat-fixture'); // return await loadFixture(resetNetworkAndDeployAllContracts); }; diff --git a/scripts/hardhat-truffle-utils.js b/scripts/hardhat-truffle-utils.js deleted file mode 100644 index d557f9316..000000000 --- a/scripts/hardhat-truffle-utils.js +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-FileCopyrightText: 2023 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - deploy: async function (contract, ...args) { - const instance = await contract.new(...args); - contract.setAsDeployed(instance); - console.log("%s: %s", contract._json.contractName, instance.address); - return instance; - }, - link: async function (libraryInstance, contract) { - const chainid = await web3.eth.net.getId(); - const instance = contract._json.networks[chainid]; - if (!instance) { - await contract.link(libraryInstance); - } - }, -}; From 365fadc0613d3188ca05806a3df2a9e6326b5c4c Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Thu, 16 Jan 2025 11:57:50 +0100 Subject: [PATCH 5/8] Migrate tools.js file to Hardhat and Typescript to remove web3 references. --- test/utils/IexecWrapper.ts | 2 +- utils/tools.d.ts | 14 ----------- utils/tools.js | 50 -------------------------------------- utils/tools.ts | 35 ++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 65 deletions(-) delete mode 100644 utils/tools.d.ts delete mode 100644 utils/tools.js create mode 100644 utils/tools.ts diff --git a/test/utils/IexecWrapper.ts b/test/utils/IexecWrapper.ts index cbaada207..1c99e1ca2 100644 --- a/test/utils/IexecWrapper.ts +++ b/test/utils/IexecWrapper.ts @@ -25,7 +25,7 @@ import { WorkerpoolRegistry__factory, Workerpool__factory, } from '../../typechain'; -import { IexecPoco1__factory } from '../../typechain/factories/contracts/modules/interfaces/IexecPoco1.v8.sol'; +import { IexecPoco1__factory } from '../../typechain/factories/contracts/modules/interfaces/IexecPoco1.v8.sol/IexecPoco1__factory'; import { IexecOrders, OrderOperation, diff --git a/utils/tools.d.ts b/utils/tools.d.ts deleted file mode 100644 index 81a29e778..000000000 --- a/utils/tools.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-FileCopyrightText: 2023 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -import { BigNumber } from '@ethersproject/bignumber'; -import { ContractReceipt, Event } from '@ethersproject/contracts'; - -export function extractEventsFromReceipt( - txReceipt: ContractReceipt, - address: string, - name: string, -): Event[]; - -export function compactSignature(signature: string): string; -export function BN2Address(n: BigNumber): string; diff --git a/utils/tools.js b/utils/tools.js deleted file mode 100644 index 4a3e290ac..000000000 --- a/utils/tools.js +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-FileCopyrightText: 2020 IEXEC BLOCKCHAIN TECH -// SPDX-License-Identifier: Apache-2.0 - -const { assert } = require('chai'); -const { ethers } = require('ethers'); - -function _extractEvents(data, address, name) { - const events = data.filter((ev) => { - return ev.address == address && ev.event == name; - }); - assert.isNotEmpty(events, `Fail to extract '${name}' event`); - return events; -} - -module.exports = { - extractEvents: function (txMined, address, name) { - return _extractEvents(txMined.logs, address, name); - }, - - extractEventsFromReceipt: function (txReceipt, address, name) { - return _extractEvents(txReceipt.events, address, name); - }, - - BN2Address: function (n) { - const x = web3.utils.toHex(n); - return web3.utils.toChecksumAddress('0x' + '0'.repeat(42 - x.length) + x.slice(2)); - }, - - create2: function (creator, code, salt) { - return web3.utils.toChecksumAddress( - web3.utils - .soliditySha3( - { t: 'bytes1', v: '0xff' }, - { t: 'address', v: creator }, - { t: 'bytes32', v: salt }, - { t: 'bytes32', v: web3.utils.keccak256(code) }, - ) - .slice(26), - ); - }, - - compactSignature: function (signature) { - let split = ethers.utils.splitSignature(signature); - let vs = ethers.utils.arrayify(split.s); - if (split.v == 1 || split.v == 28) { - vs[0] |= 0x80; - } - return ethers.utils.hexlify(ethers.utils.concat([split.r, vs])); - }, -}; diff --git a/utils/tools.ts b/utils/tools.ts new file mode 100644 index 000000000..741387b91 --- /dev/null +++ b/utils/tools.ts @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: 2020-2025 IEXEC BLOCKCHAIN TECH +// SPDX-License-Identifier: Apache-2.0 + +import { assert } from 'chai'; +import type { BigNumber } from 'ethers'; +import { ethers } from 'hardhat'; + +import { ContractReceipt, Event } from '@ethersproject/contracts'; + +export function extractEventsFromReceipt( + txReceipt: ContractReceipt, + address: string, + name: string, +): Event[] { + const receiptEvents = txReceipt?.events || []; + const events = receiptEvents.filter((event) => { + return event.address == address && event.event == name; + }); + assert.isNotEmpty(events, `Fail to extract '${name}' event`); + return events; +} + +export function compactSignature(signature: string): string { + const split = ethers.utils.splitSignature(signature); + let vs = ethers.utils.arrayify(split.s); + if (split.v == 1 || split.v == 28) { + vs[0] |= 0x80; + } + return ethers.utils.hexlify(ethers.utils.concat([split.r, vs])); +} + +export function BN2Address(bignumber: BigNumber) { + const lowercaseAddress = ethers.utils.hexZeroPad(bignumber.toHexString(), 20); + return ethers.utils.getAddress(lowercaseAddress); +} From 0d91e554b64ed7923266f3ee66c62acad723f4a6 Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:28:09 +0100 Subject: [PATCH 6/8] Add TODO comments --- scripts/module_upgrade.js | 2 ++ scripts/upgrades/5_0_0-to-5_1_0.js | 2 ++ scripts/upgrades/5_1_0-to-5_2_0.js | 2 ++ utils/ens-tools.js | 2 ++ utils/odb-tools.js | 3 +++ 5 files changed, 11 insertions(+) diff --git a/scripts/module_upgrade.js b/scripts/module_upgrade.js index 0cab8d21b..e580e7d3d 100644 --- a/scripts/module_upgrade.js +++ b/scripts/module_upgrade.js @@ -7,6 +7,8 @@ var GenericFactory = artifacts.require('@iexec/solidity/GenericFactory'); var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); var ERC1538Update = artifacts.require('@iexec/solidity/ERC1538UpdateDelegate'); +// TODO replace `web3` by `ethers`. + /***************************************************************************** * Configuration * *****************************************************************************/ diff --git a/scripts/upgrades/5_0_0-to-5_1_0.js b/scripts/upgrades/5_0_0-to-5_1_0.js index 619015e7e..db66306b8 100644 --- a/scripts/upgrades/5_0_0-to-5_1_0.js +++ b/scripts/upgrades/5_0_0-to-5_1_0.js @@ -7,6 +7,8 @@ var GenericFactory = artifacts.require('@iexec/solidity/GenericFactory'); var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); var ERC1538Update = artifacts.require('@iexec/solidity/ERC1538UpdateDelegate'); +// TODO replace `web3` by `ethers`. + /***************************************************************************** * Configuration * *****************************************************************************/ diff --git a/scripts/upgrades/5_1_0-to-5_2_0.js b/scripts/upgrades/5_1_0-to-5_2_0.js index 195ce6430..74942d884 100644 --- a/scripts/upgrades/5_1_0-to-5_2_0.js +++ b/scripts/upgrades/5_1_0-to-5_2_0.js @@ -7,6 +7,8 @@ var GenericFactory = artifacts.require('@iexec/solidity/GenericFactory'); var ERC1538Proxy = artifacts.require('@iexec/solidity/ERC1538Proxy'); var ERC1538Update = artifacts.require('@iexec/solidity/ERC1538UpdateDelegate'); +// TODO replace `web3` by `ethers`. + const { ethers } = require('ethers'); /***************************************************************************** diff --git a/utils/ens-tools.js b/utils/ens-tools.js index 8c3ff8173..b2e5c5dbc 100644 --- a/utils/ens-tools.js +++ b/utils/ens-tools.js @@ -6,6 +6,8 @@ var PublicResolver = artifacts.require( '@ensdomains/ens-contracts/contracts/resolvers/PublicResolver', ); +// TODO remove. + module.exports = { labelhash: function (label) { return web3.utils.keccak256(label.toLowerCase()); diff --git a/utils/odb-tools.js b/utils/odb-tools.js index 6702b4e14..dc638e3fb 100644 --- a/utils/odb-tools.js +++ b/utils/odb-tools.js @@ -4,6 +4,9 @@ const constants = require('./constants'); const ethers = require('ethers'); +// TODO remove except `signStruct` and `hashStruct` +// both used in createOrders.ts. + const TYPES = { EIP712Domain: [ { type: 'string', name: 'name' }, From fb71da4e9e377cb717e0ce946b2c6229f5500c82 Mon Sep 17 00:00:00 2001 From: Zied <26070035+zguesmi@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:12:00 +0100 Subject: [PATCH 7/8] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48a680d9d..d54a00803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ - [x] `IexecPoco2Delegate.sol` ### Features -- Purge Truffle leftovers (#180) +- Purge Truffle leftovers (#180, #181) - Sunset Jenkins pipeline (#178) - Re-use variable in `IexecPoco2Delegate` in `contribute(...)` function. (#168) - Remove unnecessary back and forth transfers in `IexecPoco2Delegate` happening during `claim(..)`. (#167) From 55cb59a3fc2a8a91c1c798e614cefdf352450b5f Mon Sep 17 00:00:00 2001 From: Zied Guesmi <26070035+zguesmi@users.noreply.github.com> Date: Fri, 17 Jan 2025 17:05:14 +0100 Subject: [PATCH 8/8] Update utils/tools.ts Co-authored-by: gfournieriExec <100280020+gfournieriExec@users.noreply.github.com> --- utils/tools.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/utils/tools.ts b/utils/tools.ts index 741387b91..ddeb266a4 100644 --- a/utils/tools.ts +++ b/utils/tools.ts @@ -4,7 +4,6 @@ import { assert } from 'chai'; import type { BigNumber } from 'ethers'; import { ethers } from 'hardhat'; - import { ContractReceipt, Event } from '@ethersproject/contracts'; export function extractEventsFromReceipt(