From 687310ea6f789dfa429e836104615efb2f79bb81 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 11 Sep 2024 16:05:39 +0530 Subject: [PATCH 01/84] feat: add upgrade verification script --- .../scripts/hardhat/verifyDeployment.ts | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts new file mode 100644 index 00000000..40aba1d8 --- /dev/null +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -0,0 +1,101 @@ +import { task } from "hardhat/config"; +import { HardhatRuntimeEnvironment } from "hardhat/types"; +import fs from "fs"; +import path from "path"; + +interface Deployment { + contractName: string; + address: string; + args: any[]; + isProxy?: boolean; + isImplementation?: boolean; + proxyAddress?: string; +} + +task("verify-deployment", "Verifies the deployed contract bytecode") + .setAction(async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { + const network = hre.network.name; + console.log(`Verifying contract bytecode on ${network}:${hre.network.config.chainId}...`); + + const deploymentsFile = path.join(`deployments/${network}/${network}.json`); + if (!fs.existsSync(deploymentsFile)) { + console.error(`Deployments file not found: ${deploymentsFile}`); + return; + } + + const deployments: Deployment[] = JSON.parse(fs.readFileSync(deploymentsFile, "utf8")); + + for (const deployment of deployments) { + console.log(`\nVerifying ${deployment.contractName} (${deployment.address}):`); + + try { + console.log(" Reading contract artifact..."); + const artifactPath = path.join(`artifacts/contracts/${deployment.contractName}.sol/${deployment.contractName}.json`); + + if (!fs.existsSync(artifactPath)) { + console.log(" Artifact not found. Compiling contracts..."); + await hre.run("compile"); + + if (!fs.existsSync(artifactPath)) { + throw new Error(`Artifact not found even after compilation: ${artifactPath}`); + } + } + + console.log("--- Fetching deployed bytecode..."); + let deployedBytecode: string; + if (deployment.isProxy) { + const implementationAddress = await hre.upgrades.erc1967.getImplementationAddress(deployment.address); + console.log("implementationAddress:", implementationAddress); + deployedBytecode = await hre.ethers.provider.getCode(implementationAddress); + } else { + deployedBytecode = await hre.ethers.provider.getCode(deployment.address); + } + + console.log("--- Creating local Hardhat network..."); + const localHardhat = require("hardhat"); + await localHardhat.run("compile"); + + console.log("--- Deploying contract locally..."); + const ContractFactory = await localHardhat.ethers.getContractFactory(deployment.contractName); + let localAddress: string; + if (deployment.isProxy) { + const localContract = await localHardhat.upgrades.deployProxy(ContractFactory, [], { kind: "uups" }); + await localContract.deployed(); + localAddress = await localContract.getAddress(); + } else if (deployment.isImplementation) { + console.log("--- Validating Upgrade..."); + await localHardhat.upgrades.validateUpgrade(deployment.proxyAddress as string, ContractFactory, { kind: "uups" }); + + console.log("--- Upgrade success"); + localAddress = deployment.address; + } else { + const localContract = await ContractFactory.deploy(...deployment.args); + await localContract.deployed(); + localAddress = await localContract.getAddress(); + } + + console.log("--- Fetching local deployment bytecode..."); + let localBytecode: string; + if (deployment.isProxy) { + const localImplementationAddress = await localHardhat.upgrades.erc1967.getImplementationAddress(localAddress); + localBytecode = await localHardhat.ethers.provider.getCode(localImplementationAddress); + } else { + localBytecode = await localHardhat.ethers.provider.getCode(localAddress); + } + + console.log("--- Comparing bytecodes..."); + console.log("--- Deployed bytecode: ", hre.ethers.keccak256(deployedBytecode)); + console.log("--- Local bytecode: ", hre.ethers.keccak256(localBytecode)); + + if (hre.ethers.keccak256(deployedBytecode) === hre.ethers.keccak256(localBytecode)) { + console.log(`✅ ${deployment.contractName} (${deployment.address}): Bytecode verified successfully`); + } else { + console.log(`❌ ${deployment.contractName} (${deployment.address}): Bytecode mismatch`); + throw new Error("Bytecode mismatch"); + } + } catch (error) { + console.log(`❌ ${deployment.contractName} (${deployment.address}): Verification failed`); + console.error(` Error: ${error.message}`); + } + } + }); \ No newline at end of file From 66be37a1e70ee421203fc7f07cd4c5524ae13e46 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 11 Sep 2024 16:53:09 +0530 Subject: [PATCH 02/84] refactor: store upgrade information in a common file --- .../deploy/hardhat/001.chain_state.ts | 20 +++ .../hardhat/002.fuel_message_portal_v3.ts | 21 +++ .../deploy/hardhat/003.erc20_gateway_v4.ts | 22 ++- .../deploy/hardhat/006._erc721_gateway_v3.ts | 21 +++ .../scripts/hardhat/verifyDeployment.ts | 150 ++++++++++++------ 5 files changed, 184 insertions(+), 50 deletions(-) diff --git a/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts b/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts index 1d9f0e2d..214bce99 100644 --- a/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts @@ -2,6 +2,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelChainState__factory as FuelChainState } from '../../typechain'; +import fs from 'fs'; const BLOCKS_PER_COMMIT_INTERVAL = 30; const TIME_TO_FINALIZE = 5; @@ -33,6 +34,25 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelChainState.abi], implementation, }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelChainState', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['state', 'chain-state', 'chain_state', 'FuelChainState']; diff --git a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts index 5f77f143..64f8d747 100644 --- a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts @@ -8,6 +8,8 @@ import { } from '../../protocol/constants'; import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; +import fs from 'fs'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -37,6 +39,25 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [], implementation, }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelMessagePortal', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['portal', 'message_portal', 'FuelMessagePortal']; diff --git a/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts index 42bd6090..6cafa27f 100644 --- a/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts @@ -2,7 +2,8 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; -// import { FuelERC20Gateway__factory as FuelERC20Gateway } from '../../typechain'; + +import fs from 'fs'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { @@ -32,6 +33,25 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelERC20Gateway.abi], implementation, }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelERC20GatewayV4', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['erc20', 'erc20_gateway', 'FuelERC20GatewayV4']; diff --git a/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts b/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts index 3f4734bf..8d3b30b3 100644 --- a/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts +++ b/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts @@ -3,6 +3,8 @@ import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC721GatewayV2__factory as FuelERC721GatewayV2 } from '../../typechain'; +import fs from 'fs'; + const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -31,6 +33,25 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [], implementation, }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelERC721Gateway', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['erc721', 'erc721_gateway', 'FuelERC721GatewayV2']; diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 40aba1d8..86d5abb5 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -1,7 +1,7 @@ -import { task } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; -import fs from "fs"; -import path from "path"; +import { task } from 'hardhat/config'; +import { HardhatRuntimeEnvironment } from 'hardhat/types'; +import fs from 'fs'; +import path from 'path'; interface Deployment { contractName: string; @@ -12,90 +12,142 @@ interface Deployment { proxyAddress?: string; } -task("verify-deployment", "Verifies the deployed contract bytecode") - .setAction(async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { +task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( + async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { const network = hre.network.name; - console.log(`Verifying contract bytecode on ${network}:${hre.network.config.chainId}...`); - + console.log( + `Verifying contract bytecode on ${network}:${hre.network.config.chainId}...` + ); + const deploymentsFile = path.join(`deployments/${network}/${network}.json`); if (!fs.existsSync(deploymentsFile)) { console.error(`Deployments file not found: ${deploymentsFile}`); return; } - - const deployments: Deployment[] = JSON.parse(fs.readFileSync(deploymentsFile, "utf8")); - + + const deployments: Deployment[] = JSON.parse( + fs.readFileSync(deploymentsFile, 'utf8') + ); + for (const deployment of deployments) { - console.log(`\nVerifying ${deployment.contractName} (${deployment.address}):`); - + console.log( + `\nVerifying ${deployment.contractName} (${deployment.address}):` + ); + try { - console.log(" Reading contract artifact..."); - const artifactPath = path.join(`artifacts/contracts/${deployment.contractName}.sol/${deployment.contractName}.json`); + console.log(' Reading contract artifact...'); + const artifactPath = path.join( + `artifacts/contracts/${deployment.contractName}.sol/${deployment.contractName}.json` + ); if (!fs.existsSync(artifactPath)) { - console.log(" Artifact not found. Compiling contracts..."); - await hre.run("compile"); - + console.log(' Artifact not found. Compiling contracts...'); + await hre.run('compile'); + if (!fs.existsSync(artifactPath)) { - throw new Error(`Artifact not found even after compilation: ${artifactPath}`); + throw new Error( + `Artifact not found even after compilation: ${artifactPath}` + ); } } - console.log("--- Fetching deployed bytecode..."); + console.log('--- Fetching deployed bytecode...'); let deployedBytecode: string; if (deployment.isProxy) { - const implementationAddress = await hre.upgrades.erc1967.getImplementationAddress(deployment.address); - console.log("implementationAddress:", implementationAddress); - deployedBytecode = await hre.ethers.provider.getCode(implementationAddress); + const implementationAddress = + await hre.upgrades.erc1967.getImplementationAddress( + deployment.address + ); + console.log('implementationAddress:', implementationAddress); + deployedBytecode = await hre.ethers.provider.getCode( + implementationAddress + ); } else { - deployedBytecode = await hre.ethers.provider.getCode(deployment.address); + deployedBytecode = await hre.ethers.provider.getCode( + deployment.address + ); } - console.log("--- Creating local Hardhat network..."); - const localHardhat = require("hardhat"); - await localHardhat.run("compile"); + console.log('--- Creating local Hardhat network...'); + const localHardhat = require('hardhat'); + await localHardhat.run('compile'); - console.log("--- Deploying contract locally..."); - const ContractFactory = await localHardhat.ethers.getContractFactory(deployment.contractName); + console.log('--- Deploying contract locally...'); + const ContractFactory = await localHardhat.ethers.getContractFactory( + deployment.contractName + ); let localAddress: string; if (deployment.isProxy) { - const localContract = await localHardhat.upgrades.deployProxy(ContractFactory, [], { kind: "uups" }); + const localContract = await localHardhat.upgrades.deployProxy( + ContractFactory, + [], + { kind: 'uups' } + ); await localContract.deployed(); localAddress = await localContract.getAddress(); - } else if (deployment.isImplementation) { - console.log("--- Validating Upgrade..."); - await localHardhat.upgrades.validateUpgrade(deployment.proxyAddress as string, ContractFactory, { kind: "uups" }); + } else if (deployment.isImplementation) { + console.log('--- Validating Upgrade...'); + await localHardhat.upgrades.validateUpgrade( + deployment.proxyAddress as string, + ContractFactory, + { kind: 'uups' } + ); - console.log("--- Upgrade success"); + console.log('--- Upgrade success'); localAddress = deployment.address; } else { - const localContract = await ContractFactory.deploy(...deployment.args); + const localContract = await ContractFactory.deploy( + ...deployment.args + ); await localContract.deployed(); localAddress = await localContract.getAddress(); } - console.log("--- Fetching local deployment bytecode..."); + console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; if (deployment.isProxy) { - const localImplementationAddress = await localHardhat.upgrades.erc1967.getImplementationAddress(localAddress); - localBytecode = await localHardhat.ethers.provider.getCode(localImplementationAddress); + const localImplementationAddress = + await localHardhat.upgrades.erc1967.getImplementationAddress( + localAddress + ); + localBytecode = await localHardhat.ethers.provider.getCode( + localImplementationAddress + ); } else { - localBytecode = await localHardhat.ethers.provider.getCode(localAddress); + localBytecode = await localHardhat.ethers.provider.getCode( + localAddress + ); } - - console.log("--- Comparing bytecodes..."); - console.log("--- Deployed bytecode: ", hre.ethers.keccak256(deployedBytecode)); - console.log("--- Local bytecode: ", hre.ethers.keccak256(localBytecode)); - if (hre.ethers.keccak256(deployedBytecode) === hre.ethers.keccak256(localBytecode)) { - console.log(`✅ ${deployment.contractName} (${deployment.address}): Bytecode verified successfully`); + console.log('--- Comparing bytecodes...'); + console.log( + '--- Deployed bytecode: ', + hre.ethers.keccak256(deployedBytecode) + ); + console.log( + '--- Local bytecode: ', + hre.ethers.keccak256(localBytecode) + ); + + if ( + hre.ethers.keccak256(deployedBytecode) === + hre.ethers.keccak256(localBytecode) + ) { + console.log( + `✅ ${deployment.contractName} (${deployment.address}): Bytecode verified successfully` + ); } else { - console.log(`❌ ${deployment.contractName} (${deployment.address}): Bytecode mismatch`); - throw new Error("Bytecode mismatch"); + console.log( + `❌ ${deployment.contractName} (${deployment.address}): Bytecode mismatch` + ); + throw new Error('Bytecode mismatch'); } } catch (error) { - console.log(`❌ ${deployment.contractName} (${deployment.address}): Verification failed`); + console.log( + `❌ ${deployment.contractName} (${deployment.address}): Verification failed` + ); console.error(` Error: ${error.message}`); } } - }); \ No newline at end of file + } +); From df924adb460e82637812498cb08f1c4cd4858cb6 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 11 Sep 2024 17:04:44 +0530 Subject: [PATCH 03/84] refactor: add upgrade testnet for testing upgrade verification --- .../deploy/upgradeTest/001.chain_state.ts | 60 +++++++++++++++++ .../upgradeTest/002.fuel_message_portal_v3.ts | 65 +++++++++++++++++++ .../upgradeTest/003.erc20_gateway_v4.ts | 59 +++++++++++++++++ packages/solidity-contracts/hardhat.config.ts | 11 ++++ 4 files changed, 195 insertions(+) create mode 100644 packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts create mode 100644 packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts create mode 100644 packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts new file mode 100644 index 00000000..214bce99 --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -0,0 +1,60 @@ +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { FuelChainState__factory as FuelChainState } from '../../typechain'; +import fs from 'fs'; + +const BLOCKS_PER_COMMIT_INTERVAL = 30; +const TIME_TO_FINALIZE = 5; +const COMMIT_COOLDOWN = TIME_TO_FINALIZE; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + ethers, + upgrades: { deployProxy, erc1967 }, + deployments: { save }, + } = hre; + const [deployer] = await ethers.getSigners(); + + const contract = await deployProxy(new FuelChainState(deployer), [], { + initializer: 'initialize', + constructorArgs: [ + TIME_TO_FINALIZE, + BLOCKS_PER_COMMIT_INTERVAL, + COMMIT_COOLDOWN, + ], + }); + await contract.waitForDeployment(); + const address = await contract.getAddress(); + const implementation = await erc1967.getImplementationAddress(address); + + console.log('Deployed FuelChainState at', address); + await save('FuelChainState', { + address, + abi: [...FuelChainState.abi], + implementation, + }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelChainState', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); +}; + +func.tags = ['state', 'chain-state', 'chain_state', 'FuelChainState']; +func.id = 'chain_state'; +export default func; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts new file mode 100644 index 00000000..64f8d747 --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -0,0 +1,65 @@ +import { MaxUint256 } from 'ethers'; +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { + RATE_LIMIT_AMOUNT, + RATE_LIMIT_DURATION, +} from '../../protocol/constants'; +import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; + +import fs from 'fs'; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + ethers, + upgrades: { deployProxy, erc1967 }, + deployments: { get, save }, + } = hre; + const [deployer] = await ethers.getSigners(); + + const { address: fuelChainState } = await get('FuelChainState'); + + const contract = await deployProxy( + new FuelMessagePortal(deployer), + [fuelChainState, RATE_LIMIT_AMOUNT.toString()], + { + initializer: 'initializerV3', + constructorArgs: [MaxUint256, RATE_LIMIT_DURATION], + } + ); + await contract.waitForDeployment(); + + const address = await contract.getAddress(); + const implementation = await erc1967.getImplementationAddress(address); + + console.log('Deployed FuelMessagePortal at', address); + await save('FuelMessagePortal', { + address, + abi: [], + implementation, + }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelMessagePortal', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); +}; + +func.tags = ['portal', 'message_portal', 'FuelMessagePortal']; +func.id = 'fuel_message_portal'; +export default func; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts new file mode 100644 index 00000000..6cafa27f --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -0,0 +1,59 @@ +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; + +import fs from 'fs'; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + ethers, + upgrades: { deployProxy, erc1967 }, + deployments: { get, save }, + } = hre; + const [deployer] = await ethers.getSigners(); + + const fuelMessagePortal = await get('FuelMessagePortal'); + + const contract = await deployProxy( + new FuelERC20Gateway(deployer), + [fuelMessagePortal.address], + { + initializer: 'initialize', + } + ); + await contract.waitForDeployment(); + + const address = await contract.getAddress(); + const implementation = await erc1967.getImplementationAddress(address); + + console.log('Deployed FuelERC20GatewayV4 at', address); + await save('FuelERC20GatewayV4', { + address, + abi: [...FuelERC20Gateway.abi], + implementation, + }); + + // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow + const deployment = { + address: address, + contractName: 'FuelERC20GatewayV4', + network: hre.network.name, + isProxy: true, + isImplementation: false, + }; + + let deployments = []; + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + deployments.push(deployment); + + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); +}; + +func.tags = ['erc20', 'erc20_gateway', 'FuelERC20GatewayV4']; +func.id = 'fuel_erc20_gateway_v4'; +export default func; diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index 291a777f..4c12bdc5 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -87,6 +87,17 @@ const config: HardhatUserConfig = { deploy: ['deploy/devnet'], chainId: 11155111, }, + upgradeTest: { + url: RPC_URL, + accounts: CONTRACTS_DEPLOYER_KEY + ? [CONTRACTS_DEPLOYER_KEY] + : { + mnemonic: + 'test test test test test test test test test test test junk', + }, + deploy: ['deploy/upgradeTest'], + chainId: 11155111, + }, testnet: { url: RPC_URL, accounts: CONTRACTS_DEPLOYER_KEY From a12515cdef6803583f0949167b48bf56325ac1d8 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 12 Sep 2024 14:14:16 +0530 Subject: [PATCH 04/84] refactor: add fuel chain state prepare upgrade script --- .../deploy/hardhat/001.chain_state.ts | 20 ------- .../hardhat/002.fuel_message_portal_v3.ts | 21 ------- .../deploy/hardhat/003.erc20_gateway_v4.ts | 21 ------- .../deploy/hardhat/006._erc721_gateway_v3.ts | 21 ------- .../hardhat/prepareUpgradeFuelChainState.ts | 59 +++++++++++++++++++ 5 files changed, 59 insertions(+), 83 deletions(-) create mode 100644 packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts diff --git a/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts b/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts index 214bce99..1d9f0e2d 100644 --- a/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/hardhat/001.chain_state.ts @@ -2,7 +2,6 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelChainState__factory as FuelChainState } from '../../typechain'; -import fs from 'fs'; const BLOCKS_PER_COMMIT_INTERVAL = 30; const TIME_TO_FINALIZE = 5; @@ -34,25 +33,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelChainState.abi], implementation, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelChainState', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['state', 'chain-state', 'chain_state', 'FuelChainState']; diff --git a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts index 64f8d747..5f77f143 100644 --- a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts @@ -8,8 +8,6 @@ import { } from '../../protocol/constants'; import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; -import fs from 'fs'; - const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -39,25 +37,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [], implementation, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelMessagePortal', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['portal', 'message_portal', 'FuelMessagePortal']; diff --git a/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts index 6cafa27f..bef7f203 100644 --- a/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/hardhat/003.erc20_gateway_v4.ts @@ -3,8 +3,6 @@ import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; -import fs from 'fs'; - const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -33,25 +31,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelERC20Gateway.abi], implementation, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelERC20GatewayV4', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['erc20', 'erc20_gateway', 'FuelERC20GatewayV4']; diff --git a/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts b/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts index 8d3b30b3..3f4734bf 100644 --- a/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts +++ b/packages/solidity-contracts/deploy/hardhat/006._erc721_gateway_v3.ts @@ -3,8 +3,6 @@ import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC721GatewayV2__factory as FuelERC721GatewayV2 } from '../../typechain'; -import fs from 'fs'; - const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -33,25 +31,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [], implementation, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelERC721Gateway', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['erc721', 'erc721_gateway', 'FuelERC721GatewayV2']; diff --git a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts new file mode 100644 index 00000000..a56447c7 --- /dev/null +++ b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts @@ -0,0 +1,59 @@ +import { Wallet } from 'ethers'; +import type { Signer } from 'ethers'; +import { task } from 'hardhat/config'; +import { ethers, upgrades } from 'hardhat'; + +import { enterPrivateKey } from './utils'; + +import fs from 'fs'; + +task( + 'prepareUpgradeFuelChainState', + 'validates and deploys a new implementation for FuelChainState before ci upgrade verification' +) + .addFlag('env', 'use this flag to send transactions from env var PRIVATE_KEY') + .addFlag('i', 'use this flag to input a private key') + .addParam('proxyAddress', 'address that will receive the role') + .setAction(async (taskArgs, hre) => { + let signer: Signer; + + if (taskArgs.i) { + const privateKey = await enterPrivateKey(); + signer = new Wallet(privateKey, hre.ethers.provider); + } else if (taskArgs.env) { + signer = new Wallet(process.env.PRIVATE_KEY!, hre.ethers.provider); + } else { + const signers = await hre.ethers.getSigners(); + signer = signers[0]; + } + + const contract = await ethers.getContractFactory('FuelChainState'); + if (!contract) { + return; + } + + console.log('Preparing upgrade'); + + const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; + let deployments = []; + if (fs.existsSync(deploymentsFile)) { + deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); + } + + const implementationAddress = await upgrades.prepareUpgrade( + taskArgs.proxyAddress, + contract, + { kind: 'uups' } + ); + console.log('Implementation deployed to:', implementationAddress); + + for (const deployment of deployments) { + if ((deployment.address = taskArgs.proxyAddress)) { + deployment.address = implementationAddress; + deployment.proxyAddress = taskArgs.proxyAddress; + deployment.isProxy = false; + deployment.isImplementation = true; + } + } + fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); + }); From 83223d144b9cf0c4203910588084668f883d14dd Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 12 Sep 2024 16:14:32 +0530 Subject: [PATCH 05/84] feat: tested verify upgrade for fuel chain state --- .../.openzeppelin/sepolia.json | 217 +++++++ .../deployments/upgradeTest/.chainId | 1 + .../upgradeTest/FuelChainState.json | 577 ++++++++++++++++++ .../deployments/upgradeTest/upgradeTest.json | 10 + .../scripts/hardhat/index.ts | 2 + .../hardhat/prepareUpgradeFuelChainState.ts | 19 +- .../scripts/hardhat/verifyDeployment.ts | 27 +- 7 files changed, 845 insertions(+), 8 deletions(-) create mode 100644 packages/solidity-contracts/deployments/upgradeTest/.chainId create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json create mode 100644 packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 8aa54be7..4dd2226f 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -150,6 +150,26 @@ "address": "0x8B96Ed4aA36041B91a8510A1c644fC72177B5eA0", "txHash": "0xb0a60d8cfd6fb250e76f35b0b8cf12ca628a2d4accf8a6c89dd69ffe37c85187", "kind": "uups" + }, + { + "address": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D", + "txHash": "0xebef878b6e5527ec7290754277561a8570774bd13aa6ce2e1415a842163f2ea4", + "kind": "uups" + }, + { + "address": "0xb55066f2793773B3784f8c57c415a8b5932B33Cd", + "txHash": "0xff47582c8af946d9a3f6fdb82490a8fa46b8d9153a819423df24a9b043934ddb", + "kind": "uups" + }, + { + "address": "0x977fdEF62CE095Ae8750Fd3496730F24F60dea7a", + "txHash": "0x487bc99ec5db950e41fd290e37d2d0fe166b7158a5b0d5984feda3106a8523eb", + "kind": "uups" + }, + { + "address": "0x2494D3a68a6c1d03c18aa483EBB871Ff73Ada7f9", + "txHash": "0x22213836c43a411df5923d375bc41771ae8877b39cf423ae1e3c21a07eb76f23", + "kind": "uups" } ], "impls": { @@ -4502,6 +4522,203 @@ }, "namespaces": {} } + }, + "bcf1e5d837c7649064e0f2c49d8bf6e8fe10ed8f00ad46da53f0353aecdfdfff": { + "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "txHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)7068_storage)240_storage", + "contract": "FuelChainState", + "src": "contracts/fuelchain/FuelChainState.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)7068_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)7068_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/.chainId b/packages/solidity-contracts/deployments/upgradeTest/.chainId new file mode 100644 index 00000000..bd8d1cd4 --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/.chainId @@ -0,0 +1 @@ +11155111 \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json new file mode 100644 index 00000000..eeb8eb3a --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -0,0 +1,577 @@ +{ + "address": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "timeToFinalize", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "blocksPerCommitInterval", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "commitCooldown", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "CannotRecommit", + "type": "error" + }, + { + "inputs": [], + "name": "CommitCooldownTooLarge", + "type": "error" + }, + { + "inputs": [], + "name": "FinalizationIsGtCooldown", + "type": "error" + }, + { + "inputs": [], + "name": "TimeToFinalizeTooLarge", + "type": "error" + }, + { + "inputs": [], + "name": "UnknownBlock", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "commitHeight", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + } + ], + "name": "CommitSubmitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "BLOCKS_PER_COMMIT_INTERVAL", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "COMMITTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "COMMIT_COOLDOWN", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NUM_COMMIT_SLOTS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TIME_TO_FINALIZE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "commitHeight", + "type": "uint256" + } + ], + "name": "blockHashAtCommit", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "commitHeight", + "type": "uint256" + } + ], + "name": "commit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "blockHeight", + "type": "uint256" + } + ], + "name": "finalized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "numDeployments": 1, + "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" +} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json b/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json new file mode 100644 index 00000000..2e1561bb --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json @@ -0,0 +1,10 @@ +[ + { + "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "contractName": "FuelChainState", + "network": "upgradeTest", + "isProxy": false, + "isImplementation": true, + "proxyAddress": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D" + } +] \ No newline at end of file diff --git a/packages/solidity-contracts/scripts/hardhat/index.ts b/packages/solidity-contracts/scripts/hardhat/index.ts index b33c691a..b496f2e9 100644 --- a/packages/solidity-contracts/scripts/hardhat/index.ts +++ b/packages/solidity-contracts/scripts/hardhat/index.ts @@ -1,6 +1,8 @@ export * from './pause'; export * from './unpause'; export * from './grantRole'; +export * from './prepareUpgradeFuelChainState'; +export * from './verifyDeployment'; export * from './depositETH'; export * from './depositToken'; export * from './resetETHRateLimit'; diff --git a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts index a56447c7..8232075b 100644 --- a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts +++ b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts @@ -1,12 +1,15 @@ import { Wallet } from 'ethers'; import type { Signer } from 'ethers'; import { task } from 'hardhat/config'; -import { ethers, upgrades } from 'hardhat'; import { enterPrivateKey } from './utils'; import fs from 'fs'; +const BLOCKS_PER_COMMIT_INTERVAL = 30; +const TIME_TO_FINALIZE = 5; +const COMMIT_COOLDOWN = TIME_TO_FINALIZE; + task( 'prepareUpgradeFuelChainState', 'validates and deploys a new implementation for FuelChainState before ci upgrade verification' @@ -27,7 +30,7 @@ task( signer = signers[0]; } - const contract = await ethers.getContractFactory('FuelChainState'); + const contract = await hre.ethers.getContractFactory('FuelChainState'); if (!contract) { return; } @@ -40,10 +43,18 @@ task( deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); } - const implementationAddress = await upgrades.prepareUpgrade( + console.log('ddddds'); + const implementationAddress = await hre.upgrades.prepareUpgrade( taskArgs.proxyAddress, contract, - { kind: 'uups' } + { + kind: 'uups', + constructorArgs: [ + TIME_TO_FINALIZE, + BLOCKS_PER_COMMIT_INTERVAL, + COMMIT_COOLDOWN, + ], + } ); console.log('Implementation deployed to:', implementationAddress); diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 86d5abb5..985d1717 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -12,6 +12,10 @@ interface Deployment { proxyAddress?: string; } +const BLOCKS_PER_COMMIT_INTERVAL = 30; +const TIME_TO_FINALIZE = 5; +const COMMIT_COOLDOWN = TIME_TO_FINALIZE; + task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { const network = hre.network.name; @@ -37,7 +41,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( try { console.log(' Reading contract artifact...'); const artifactPath = path.join( - `artifacts/contracts/${deployment.contractName}.sol/${deployment.contractName}.json` + `artifacts/contracts/fuelchain/${deployment.contractName}.sol/${deployment.contractName}.json` ); if (!fs.existsSync(artifactPath)) { @@ -81,16 +85,31 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( const localContract = await localHardhat.upgrades.deployProxy( ContractFactory, [], - { kind: 'uups' } + { + kind: 'uups', + initializer: 'initialize', + constructorArgs: [ + TIME_TO_FINALIZE, + BLOCKS_PER_COMMIT_INTERVAL, + COMMIT_COOLDOWN, + ], + } ); - await localContract.deployed(); + await localContract.waitForDeployment(); localAddress = await localContract.getAddress(); } else if (deployment.isImplementation) { console.log('--- Validating Upgrade...'); await localHardhat.upgrades.validateUpgrade( deployment.proxyAddress as string, ContractFactory, - { kind: 'uups' } + { + kind: 'uups', + constructorArgs: [ + TIME_TO_FINALIZE, + BLOCKS_PER_COMMIT_INTERVAL, + COMMIT_COOLDOWN, + ], + } ); console.log('--- Upgrade success'); From 978f37021566e052c54523afa540fc881546f540 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 12 Sep 2024 17:00:28 +0530 Subject: [PATCH 06/84] chore: remove log --- .../scripts/hardhat/prepareUpgradeFuelChainState.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts index 8232075b..78194f87 100644 --- a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts +++ b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts @@ -43,7 +43,6 @@ task( deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); } - console.log('ddddds'); const implementationAddress = await hre.upgrades.prepareUpgrade( taskArgs.proxyAddress, contract, From 44ad96effe3c74f7979b40e03cb8042be9fe6db7 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 13 Sep 2024 15:56:28 +0530 Subject: [PATCH 07/84] feat: add workflow action file for verifying deployment --- .github/workflows/verify-upgrade.yml | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/verify-upgrade.yml diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml new file mode 100644 index 00000000..a06ca4ab --- /dev/null +++ b/.github/workflows/verify-upgrade.yml @@ -0,0 +1,29 @@ +name: Verify Deployment + +on: + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + paths: + - 'packages/solidity-contracts/deployments/**' + +jobs: + verify: + if: startsWith(github.head_ref, 'deploy/') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: FuelLabs/github-actions/setups/node@master + with: + node-version: 20.16.0 + pnpm-version: 9.0.6 + - name: Verify deployment bytecode + run: | + # Extract branch name from `GITHUB_REF` + BRANCH_NAME=${{ github.ref }} + + # Remove the refs/heads/ prefix + BRANCH_NAME=${BRANCH_NAME#refs/heads/deploy/} + + npx hardhat verify-deployment --network ${{ BRANCH_NAME }} From 1f0b2fafef91a0cd8382f7a9aff648adb29b30c9 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 13 Sep 2024 16:50:28 +0530 Subject: [PATCH 08/84] refactor: remove writing to custom json in deploy scripts --- .../hardhat/002.fuel_message_portal_v3.ts | 2 +- .../deploy/upgradeTest/001.chain_state.ts | 33 +++++-------------- .../upgradeTest/002.fuel_message_portal_v3.ts | 28 +++------------- .../upgradeTest/003.erc20_gateway_v4.ts | 22 +------------ 4 files changed, 15 insertions(+), 70 deletions(-) diff --git a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts index 5f77f143..225aaf25 100644 --- a/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/hardhat/002.fuel_message_portal_v3.ts @@ -34,7 +34,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { console.log('Deployed FuelMessagePortal at', address); await save('FuelMessagePortal', { address, - abi: [], + abi: [...FuelMessagePortal.abi], implementation, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index 214bce99..77063a5b 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -2,7 +2,6 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelChainState__factory as FuelChainState } from '../../typechain'; -import fs from 'fs'; const BLOCKS_PER_COMMIT_INTERVAL = 30; const TIME_TO_FINALIZE = 5; @@ -16,13 +15,15 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { } = hre; const [deployer] = await ethers.getSigners(); + const constructorArgs = [ + TIME_TO_FINALIZE, + BLOCKS_PER_COMMIT_INTERVAL, + COMMIT_COOLDOWN, + ]; + const contract = await deployProxy(new FuelChainState(deployer), [], { initializer: 'initialize', - constructorArgs: [ - TIME_TO_FINALIZE, - BLOCKS_PER_COMMIT_INTERVAL, - COMMIT_COOLDOWN, - ], + constructorArgs, }); await contract.waitForDeployment(); const address = await contract.getAddress(); @@ -33,26 +34,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address, abi: [...FuelChainState.abi], implementation, + linkedData: { factory: 'FuelChainState', constructorArgs }, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelChainState', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['state', 'chain-state', 'chain_state', 'FuelChainState']; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 64f8d747..5ff3005f 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -8,8 +8,6 @@ import { } from '../../protocol/constants'; import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; -import fs from 'fs'; - const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -20,12 +18,14 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { address: fuelChainState } = await get('FuelChainState'); + const constructorArgs = [MaxUint256, RATE_LIMIT_DURATION]; + const contract = await deployProxy( new FuelMessagePortal(deployer), [fuelChainState, RATE_LIMIT_AMOUNT.toString()], { initializer: 'initializerV3', - constructorArgs: [MaxUint256, RATE_LIMIT_DURATION], + constructorArgs, } ); await contract.waitForDeployment(); @@ -36,28 +36,10 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { console.log('Deployed FuelMessagePortal at', address); await save('FuelMessagePortal', { address, - abi: [], + abi: [...FuelMessagePortal.abi], implementation, + linkedData: { factory: 'FuelMessagePortal', constructorArgs }, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelMessagePortal', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['portal', 'message_portal', 'FuelMessagePortal']; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index 6cafa27f..12901b1d 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -3,8 +3,6 @@ import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; -import fs from 'fs'; - const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { ethers, @@ -32,26 +30,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address, abi: [...FuelERC20Gateway.abi], implementation, + linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: [] }, }); - - // storing the contract info in a common file so the verification script can read and process all deployments/upgrades together during ci workflow - const deployment = { - address: address, - contractName: 'FuelERC20GatewayV4', - network: hre.network.name, - isProxy: true, - isImplementation: false, - }; - - let deployments = []; - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - deployments.push(deployment); - - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); }; func.tags = ['erc20', 'erc20_gateway', 'FuelERC20GatewayV4']; From c8880c17138f827e8f824eae5275cf9c1289c8dc Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 13 Sep 2024 18:26:05 +0530 Subject: [PATCH 09/84] refactor: update deploy & prepare upgrade script --- .../.openzeppelin/sepolia.json | 10 +++++ .../deploy/upgradeTest/001.chain_state.ts | 6 ++- .../upgradeTest/002.fuel_message_portal_v3.ts | 7 +++- .../upgradeTest/003.erc20_gateway_v4.ts | 7 +++- .../upgradeTest/prepareUpgrade.chain_state.ts | 40 +++++++++++++++++++ .../upgradeTest/FuelChainState.json | 14 ++++++- 6 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 4dd2226f..cc9cdb0f 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -170,6 +170,16 @@ "address": "0x2494D3a68a6c1d03c18aa483EBB871Ff73Ada7f9", "txHash": "0x22213836c43a411df5923d375bc41771ae8877b39cf423ae1e3c21a07eb76f23", "kind": "uups" + }, + { + "address": "0xa31AD34d2300d0A4e67E6506bb54C793E9eAb003", + "txHash": "0x5512af58e72af031cffac557f818afebae9e03d8db1f424d269a409073f30567", + "kind": "uups" + }, + { + "address": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9", + "txHash": "0xae1a58d7113ecc6dc9f2e99d6a1cf6ac3a6e82f256d832321bec789e76c4e260", + "kind": "uups" } ], "impls": { diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index 77063a5b..c1ff9cbb 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -34,7 +34,11 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address, abi: [...FuelChainState.abi], implementation, - linkedData: { factory: 'FuelChainState', constructorArgs }, + linkedData: { + constructorArgs, + isProxy: false, + isImplementation: true, + }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 5ff3005f..2bf11b12 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -38,7 +38,12 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address, abi: [...FuelMessagePortal.abi], implementation, - linkedData: { factory: 'FuelMessagePortal', constructorArgs }, + linkedData: { + factory: 'FuelMessagePortal', + constructorArgs, + isProxy: false, + isImplementation: true, + }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index 12901b1d..c9ff96db 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -30,7 +30,12 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address, abi: [...FuelERC20Gateway.abi], implementation, - linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: [] }, + linkedData: { + factory: 'FuelERC20GatewayV4', + constructorArgs: [], + isProxy: false, + isImplementation: true, + }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts new file mode 100644 index 00000000..53954893 --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -0,0 +1,40 @@ +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { FuelChainState__factory as FuelChainState } from '../../typechain'; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + upgrades: { prepareUpgrade }, + deployments: { save }, + } = hre; + + const contractDeployment = await hre.deployments.get('FuelChainState'); + + const contract = await hre.ethers.getContractFactory('FuelChainState'); + + const implementationAddress = await prepareUpgrade( + contractDeployment.address, + contract, + { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + } + ); + + await save('FuelChainState', { + address: implementationAddress.toString(), + abi: [...FuelChainState.abi], + implementation: contractDeployment.implementation, + linkedData: { + constructorArgs: contractDeployment.linkedData.constructorArgs, + isProxy: true, + isImplementation: false, + proxyAddress: contractDeployment.address, + }, + }); +}; + +func.tags = ['prepareUpgrade_chain_state']; +func.id = 'prepareUpgrade_chain_state'; +export default func; diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index eeb8eb3a..7f52349a 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D", + "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", "abi": [ { "inputs": [ @@ -572,6 +572,16 @@ "type": "function" } ], - "numDeployments": 1, + "numDeployments": 6, + "linkedData": { + "constructorArgs": [ + 5, + 30, + 5 + ], + "isProxy": true, + "isImplementation": false, + "proxyAddress": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9" + }, "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" } \ No newline at end of file From a34d2fd57ad65d22dc76264700e1081c9d979227 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 13 Sep 2024 18:27:19 +0530 Subject: [PATCH 10/84] chore: remove generic prepare upgrade script --- .../hardhat/prepareUpgradeFuelChainState.ts | 69 ------------------- 1 file changed, 69 deletions(-) delete mode 100644 packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts diff --git a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts b/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts deleted file mode 100644 index 78194f87..00000000 --- a/packages/solidity-contracts/scripts/hardhat/prepareUpgradeFuelChainState.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Wallet } from 'ethers'; -import type { Signer } from 'ethers'; -import { task } from 'hardhat/config'; - -import { enterPrivateKey } from './utils'; - -import fs from 'fs'; - -const BLOCKS_PER_COMMIT_INTERVAL = 30; -const TIME_TO_FINALIZE = 5; -const COMMIT_COOLDOWN = TIME_TO_FINALIZE; - -task( - 'prepareUpgradeFuelChainState', - 'validates and deploys a new implementation for FuelChainState before ci upgrade verification' -) - .addFlag('env', 'use this flag to send transactions from env var PRIVATE_KEY') - .addFlag('i', 'use this flag to input a private key') - .addParam('proxyAddress', 'address that will receive the role') - .setAction(async (taskArgs, hre) => { - let signer: Signer; - - if (taskArgs.i) { - const privateKey = await enterPrivateKey(); - signer = new Wallet(privateKey, hre.ethers.provider); - } else if (taskArgs.env) { - signer = new Wallet(process.env.PRIVATE_KEY!, hre.ethers.provider); - } else { - const signers = await hre.ethers.getSigners(); - signer = signers[0]; - } - - const contract = await hre.ethers.getContractFactory('FuelChainState'); - if (!contract) { - return; - } - - console.log('Preparing upgrade'); - - const deploymentsFile = `deployments/${hre.network.name}/${hre.network.name}.json`; - let deployments = []; - if (fs.existsSync(deploymentsFile)) { - deployments = JSON.parse(fs.readFileSync(deploymentsFile, 'utf8')); - } - - const implementationAddress = await hre.upgrades.prepareUpgrade( - taskArgs.proxyAddress, - contract, - { - kind: 'uups', - constructorArgs: [ - TIME_TO_FINALIZE, - BLOCKS_PER_COMMIT_INTERVAL, - COMMIT_COOLDOWN, - ], - } - ); - console.log('Implementation deployed to:', implementationAddress); - - for (const deployment of deployments) { - if ((deployment.address = taskArgs.proxyAddress)) { - deployment.address = implementationAddress; - deployment.proxyAddress = taskArgs.proxyAddress; - deployment.isProxy = false; - deployment.isImplementation = true; - } - } - fs.writeFileSync(deploymentsFile, JSON.stringify(deployments, null, 2)); - }); From dc29f06c9c80bf3cbdabb51efc6162180266e412 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 13 Sep 2024 19:54:49 +0530 Subject: [PATCH 11/84] refactor: verification script --- .../upgradeTest/prepareUpgrade.chain_state.ts | 4 +- .../upgradeTest/FuelChainState.json | 4 +- .../deployments/upgradeTest/upgradeTest.json | 10 --- .../scripts/hardhat/index.ts | 1 - .../scripts/hardhat/verifyDeployment.ts | 79 ++++--------------- 5 files changed, 19 insertions(+), 79 deletions(-) delete mode 100644 packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 53954893..a9bbdeb2 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -28,8 +28,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { implementation: contractDeployment.implementation, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, - isProxy: true, - isImplementation: false, + isProxy: false, + isImplementation: true, proxyAddress: contractDeployment.address, }, }); diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 7f52349a..4fb8675e 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -579,8 +579,8 @@ 30, 5 ], - "isProxy": true, - "isImplementation": false, + "isProxy": false, + "isImplementation": true, "proxyAddress": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9" }, "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" diff --git a/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json b/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json deleted file mode 100644 index 2e1561bb..00000000 --- a/packages/solidity-contracts/deployments/upgradeTest/upgradeTest.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", - "contractName": "FuelChainState", - "network": "upgradeTest", - "isProxy": false, - "isImplementation": true, - "proxyAddress": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D" - } -] \ No newline at end of file diff --git a/packages/solidity-contracts/scripts/hardhat/index.ts b/packages/solidity-contracts/scripts/hardhat/index.ts index b496f2e9..30cc9483 100644 --- a/packages/solidity-contracts/scripts/hardhat/index.ts +++ b/packages/solidity-contracts/scripts/hardhat/index.ts @@ -1,7 +1,6 @@ export * from './pause'; export * from './unpause'; export * from './grantRole'; -export * from './prepareUpgradeFuelChainState'; export * from './verifyDeployment'; export * from './depositETH'; export * from './depositToken'; diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 985d1717..7eacaba6 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -1,20 +1,5 @@ import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; -import fs from 'fs'; -import path from 'path'; - -interface Deployment { - contractName: string; - address: string; - args: any[]; - isProxy?: boolean; - isImplementation?: boolean; - proxyAddress?: string; -} - -const BLOCKS_PER_COMMIT_INTERVAL = 30; -const TIME_TO_FINALIZE = 5; -const COMMIT_COOLDOWN = TIME_TO_FINALIZE; task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { @@ -23,41 +8,15 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( `Verifying contract bytecode on ${network}:${hre.network.config.chainId}...` ); - const deploymentsFile = path.join(`deployments/${network}/${network}.json`); - if (!fs.existsSync(deploymentsFile)) { - console.error(`Deployments file not found: ${deploymentsFile}`); - return; - } - - const deployments: Deployment[] = JSON.parse( - fs.readFileSync(deploymentsFile, 'utf8') - ); + const deployments = await hre.deployments.all(); - for (const deployment of deployments) { - console.log( - `\nVerifying ${deployment.contractName} (${deployment.address}):` - ); + for (const [contractName, deployment] of Object.entries(deployments)) { + console.log(`\nVerifying ${contractName} (${deployment.address}):`); try { - console.log(' Reading contract artifact...'); - const artifactPath = path.join( - `artifacts/contracts/fuelchain/${deployment.contractName}.sol/${deployment.contractName}.json` - ); - - if (!fs.existsSync(artifactPath)) { - console.log(' Artifact not found. Compiling contracts...'); - await hre.run('compile'); - - if (!fs.existsSync(artifactPath)) { - throw new Error( - `Artifact not found even after compilation: ${artifactPath}` - ); - } - } - console.log('--- Fetching deployed bytecode...'); let deployedBytecode: string; - if (deployment.isProxy) { + if (deployment.linkedData.isProxy) { const implementationAddress = await hre.upgrades.erc1967.getImplementationAddress( deployment.address @@ -78,37 +37,29 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( console.log('--- Deploying contract locally...'); const ContractFactory = await localHardhat.ethers.getContractFactory( - deployment.contractName + contractName ); let localAddress: string; - if (deployment.isProxy) { + if (deployment.linkedData.isProxy) { const localContract = await localHardhat.upgrades.deployProxy( ContractFactory, [], { kind: 'uups', initializer: 'initialize', - constructorArgs: [ - TIME_TO_FINALIZE, - BLOCKS_PER_COMMIT_INTERVAL, - COMMIT_COOLDOWN, - ], + constructorArgs: deployment.linkedData.constructorArgs, } ); await localContract.waitForDeployment(); localAddress = await localContract.getAddress(); - } else if (deployment.isImplementation) { + } else if (deployment.linkedData.isImplementation) { console.log('--- Validating Upgrade...'); await localHardhat.upgrades.validateUpgrade( - deployment.proxyAddress as string, + deployment.linkedData.proxyAddress as string, ContractFactory, { kind: 'uups', - constructorArgs: [ - TIME_TO_FINALIZE, - BLOCKS_PER_COMMIT_INTERVAL, - COMMIT_COOLDOWN, - ], + constructorArgs: deployment.linkedData.constructorArgs, } ); @@ -116,7 +67,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( localAddress = deployment.address; } else { const localContract = await ContractFactory.deploy( - ...deployment.args + ...deployment.linkedData.constructorArgs ); await localContract.deployed(); localAddress = await localContract.getAddress(); @@ -124,7 +75,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; - if (deployment.isProxy) { + if (deployment.linkedData.isProxy) { const localImplementationAddress = await localHardhat.upgrades.erc1967.getImplementationAddress( localAddress @@ -153,17 +104,17 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( hre.ethers.keccak256(localBytecode) ) { console.log( - `✅ ${deployment.contractName} (${deployment.address}): Bytecode verified successfully` + `✅ ${contractName} (${deployment.address}): Bytecode verified successfully` ); } else { console.log( - `❌ ${deployment.contractName} (${deployment.address}): Bytecode mismatch` + `❌ ${contractName} (${deployment.address}): Bytecode mismatch` ); throw new Error('Bytecode mismatch'); } } catch (error) { console.log( - `❌ ${deployment.contractName} (${deployment.address}): Verification failed` + `❌ ${contractName} (${deployment.address}): Verification failed` ); console.error(` Error: ${error.message}`); } From 4843a43971978b9d89521d8f33915d0a57b1abd2 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 12:25:21 +0530 Subject: [PATCH 12/84] chore: update ci --- .github/workflows/verify-upgrade.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index a06ca4ab..4796ec24 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -1,13 +1,19 @@ name: Verify Deployment on: - pull_request: - types: [opened, synchronize, reopened] + push: branches: - main - paths: + pull_request: + release: + types: [published] + paths: - 'packages/solidity-contracts/deployments/**' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: verify: if: startsWith(github.head_ref, 'deploy/') From be286f51734add48b3b5573cf9b8ec048f30574c Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 12:50:34 +0530 Subject: [PATCH 13/84] chore: debug ci --- .github/workflows/verify-upgrade.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 4796ec24..295182e9 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -7,8 +7,8 @@ on: pull_request: release: types: [published] - paths: - - 'packages/solidity-contracts/deployments/**' + # paths: + # - 'packages/solidity-contracts/deployments/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -16,7 +16,7 @@ concurrency: jobs: verify: - if: startsWith(github.head_ref, 'deploy/') + # if: startsWith(github.head_ref, 'deploy/') runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -32,4 +32,4 @@ jobs: # Remove the refs/heads/ prefix BRANCH_NAME=${BRANCH_NAME#refs/heads/deploy/} - npx hardhat verify-deployment --network ${{ BRANCH_NAME }} + npx hardhat verify-deployment --network upgradeTest From 61d17da1b64edccf77592efdd7128dbcb205e22f Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 13:18:24 +0530 Subject: [PATCH 14/84] chore: add working directory in ci script --- .github/workflows/verify-upgrade.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 295182e9..678dd4a6 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -24,6 +24,7 @@ jobs: with: node-version: 20.16.0 pnpm-version: 9.0.6 + - working-directory: ./packages/solidity-contracts - name: Verify deployment bytecode run: | # Extract branch name from `GITHUB_REF` From 13a09baac75c4df08f45d633bf795a979fed2f35 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 13:24:04 +0530 Subject: [PATCH 15/84] fix: ci --- .github/workflows/verify-upgrade.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 678dd4a6..69044edc 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -24,7 +24,6 @@ jobs: with: node-version: 20.16.0 pnpm-version: 9.0.6 - - working-directory: ./packages/solidity-contracts - name: Verify deployment bytecode run: | # Extract branch name from `GITHUB_REF` @@ -34,3 +33,4 @@ jobs: BRANCH_NAME=${BRANCH_NAME#refs/heads/deploy/} npx hardhat verify-deployment --network upgradeTest + working-directory: ./packages/solidity-contracts From 04d5fe964b36ad5296ff5f338e8ab0e789e3faad Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 13:37:05 +0530 Subject: [PATCH 16/84] chore: update upgrade test ddevnet rpc --- packages/solidity-contracts/hardhat.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index 4c12bdc5..a0af9295 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -88,7 +88,7 @@ const config: HardhatUserConfig = { chainId: 11155111, }, upgradeTest: { - url: RPC_URL, + url: "https://sepolia.gateway.tenderly.co", accounts: CONTRACTS_DEPLOYER_KEY ? [CONTRACTS_DEPLOYER_KEY] : { From 2fff6f448e0e7356db3553c8bb9cf19e9de5d1d3 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 15:05:14 +0530 Subject: [PATCH 17/84] chore: update deploy scripts for devnet --- .../solidity-contracts/deploy/upgradeTest/001.chain_state.ts | 4 ++-- .../deploy/upgradeTest/002.fuel_message_portal_v3.ts | 4 ++-- .../deploy/upgradeTest/003.erc20_gateway_v4.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index c1ff9cbb..882050f6 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -36,8 +36,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { implementation, linkedData: { constructorArgs, - isProxy: false, - isImplementation: true, + isProxy: true, + isImplementation: false, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 2bf11b12..527e68f8 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -41,8 +41,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelMessagePortal', constructorArgs, - isProxy: false, - isImplementation: true, + isProxy: true, + isImplementation: false, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index c9ff96db..12d5a9e2 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -33,8 +33,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: [], - isProxy: false, - isImplementation: true, + isProxy: true, + isImplementation: false, }, }); }; From 75f87fc8f9b2b88c26c93fff2e6ef48146789372 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 15:06:05 +0530 Subject: [PATCH 18/84] chore: formatting --- .github/workflows/verify-upgrade.yml | 4 +--- packages/solidity-contracts/hardhat.config.ts | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 69044edc..573d4518 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -7,8 +7,6 @@ on: pull_request: release: types: [published] - # paths: - # - 'packages/solidity-contracts/deployments/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -16,7 +14,7 @@ concurrency: jobs: verify: - # if: startsWith(github.head_ref, 'deploy/') + # if: startsWith(github.head_ref, 'deploy/') runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index a0af9295..10e7ead5 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -88,7 +88,7 @@ const config: HardhatUserConfig = { chainId: 11155111, }, upgradeTest: { - url: "https://sepolia.gateway.tenderly.co", + url: 'https://sepolia.gateway.tenderly.co', accounts: CONTRACTS_DEPLOYER_KEY ? [CONTRACTS_DEPLOYER_KEY] : { From 0b205ea62be696ac6d27cb3a2ce677e988c1a690 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:29:44 +0530 Subject: [PATCH 19/84] chore: deploy script touchups --- .../deploy/upgradeTest/001.chain_state.ts | 1 + .../upgradeTest/002.fuel_message_portal_v3.ts | 11 +++++++---- .../deploy/upgradeTest/003.erc20_gateway_v4.ts | 17 ++++++++--------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index 882050f6..b98c60fd 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -36,6 +36,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { implementation, linkedData: { constructorArgs, + initArgs: [], isProxy: true, isImplementation: false, }, diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 527e68f8..4b1441da 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -20,9 +20,11 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const constructorArgs = [MaxUint256, RATE_LIMIT_DURATION]; + const initArgs = [fuelChainState, RATE_LIMIT_AMOUNT.toString()]; + const contract = await deployProxy( new FuelMessagePortal(deployer), - [fuelChainState, RATE_LIMIT_AMOUNT.toString()], + initArgs, { initializer: 'initializerV3', constructorArgs, @@ -33,14 +35,15 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const address = await contract.getAddress(); const implementation = await erc1967.getImplementationAddress(address); - console.log('Deployed FuelMessagePortal at', address); - await save('FuelMessagePortal', { + console.log('Deployed FuelMessagePortalV3 at', address); + await save('FuelMessagePortalV3', { address, abi: [...FuelMessagePortal.abi], implementation, linkedData: { - factory: 'FuelMessagePortal', + factory: 'FuelMessagePortalV3', constructorArgs, + initArgs, isProxy: true, isImplementation: false, }, diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index 12d5a9e2..6ea5bba2 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -11,15 +11,13 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { } = hre; const [deployer] = await ethers.getSigners(); - const fuelMessagePortal = await get('FuelMessagePortal'); - - const contract = await deployProxy( - new FuelERC20Gateway(deployer), - [fuelMessagePortal.address], - { - initializer: 'initialize', - } - ); + const fuelMessagePortal = await get('FuelMessagePortalV3'); + + const initArgs = [fuelMessagePortal.address]; + + const contract = await deployProxy(new FuelERC20Gateway(deployer), initArgs, { + initializer: 'initialize', + }); await contract.waitForDeployment(); const address = await contract.getAddress(); @@ -33,6 +31,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: [], + initArgs, isProxy: true, isImplementation: false, }, From f12b82830f5fd10f6cc9686029dfedb432dcd202 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:30:16 +0530 Subject: [PATCH 20/84] feat: add prepare upgrade scripts --- .../upgradeTest/prepareUpgrade.chain_state.ts | 1 + .../prepareUpgrade.erc20_gateway_v4.ts | 41 +++++++++++++++++++ .../prepareUpgrade.fuel_message_portal_v3.ts | 41 +++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts create mode 100644 packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index a9bbdeb2..da7b11e3 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -28,6 +28,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { implementation: contractDeployment.implementation, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, + initArgs: contractDeployment.linkedData.initArgs, isProxy: false, isImplementation: true, proxyAddress: contractDeployment.address, diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts new file mode 100644 index 00000000..eea2ab9b --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -0,0 +1,41 @@ +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + upgrades: { prepareUpgrade }, + deployments: { save }, + } = hre; + + const contractDeployment = await hre.deployments.get('FuelERC20GatewayV4'); + + const contract = await hre.ethers.getContractFactory('FuelERC20GatewayV4'); + + const implementationAddress = await prepareUpgrade( + contractDeployment.address, + contract, + { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + } + ); + + await save('FuelERC20GatewayV4', { + address: implementationAddress.toString(), + abi: [...FuelERC20Gateway.abi], + implementation: contractDeployment.implementation, + linkedData: { + constructorArgs: contractDeployment.linkedData.constructorArgs, + initArgs: contractDeployment.linkedData.initArgs, + isProxy: false, + isImplementation: true, + proxyAddress: contractDeployment.address, + }, + }); +}; + +func.tags = ['prepareUpgrade_erc20_gateway_v4']; +func.id = 'prepareUpgrade_erc20_gateway_v4'; +export default func; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts new file mode 100644 index 00000000..7837a524 --- /dev/null +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -0,0 +1,41 @@ +import type { HardhatRuntimeEnvironment } from 'hardhat/types'; +import type { DeployFunction } from 'hardhat-deploy/dist/types'; + +import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; + +const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { + const { + upgrades: { prepareUpgrade }, + deployments: { save }, + } = hre; + + const contractDeployment = await hre.deployments.get('FuelMessagePortalV3'); + + const contract = await hre.ethers.getContractFactory('FuelMessagePortalV3'); + + const implementationAddress = await prepareUpgrade( + contractDeployment.address, + contract, + { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + } + ); + + await save('FuelMessagePortalV3', { + address: implementationAddress.toString(), + abi: [...FuelMessagePortal.abi], + implementation: contractDeployment.implementation, + linkedData: { + constructorArgs: contractDeployment.linkedData.constructorArgs, + initArgs: contractDeployment.linkedData.initArgs, + isProxy: false, + isImplementation: true, + proxyAddress: contractDeployment.address, + }, + }); +}; + +func.tags = ['prepareUpgrade_fuel_message_portal']; +func.id = 'prepareUpgrade_fuel_message_portal'; +export default func; From 77afc2501523e5a1f932af98f8e66ad0f53fe588 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:30:56 +0530 Subject: [PATCH 21/84] chore: update deployment artifacts --- .../.openzeppelin/sepolia.json | 305 +++++ .../upgradeTest/FuelERC20GatewayV4.json | 870 +++++++++++++ .../upgradeTest/FuelMessagePortalV3.json | 1134 +++++++++++++++++ 3 files changed, 2309 insertions(+) create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index cc9cdb0f..6921e81a 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -180,6 +180,36 @@ "address": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9", "txHash": "0xae1a58d7113ecc6dc9f2e99d6a1cf6ac3a6e82f256d832321bec789e76c4e260", "kind": "uups" + }, + { + "address": "0x1F8571544e0c94e81fE8bBea439f1aF5831f0FCd", + "txHash": "0xe2b60f94776910d350c121c4e10889ba06668454a5a9c17dbb3e2a685bdf4641", + "kind": "uups" + }, + { + "address": "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A", + "txHash": "0x5ab9b5e67d15bbd70fa85feec76241245621f5a0e2d489522aa282c91595ca6d", + "kind": "uups" + }, + { + "address": "0x7406eF658445a8Ada02d9175536A257FAe7DC6a6", + "txHash": "0x795588a6205dd9aee2c73c26707c7d20603d733fbb2ac47094b981414b6321a3", + "kind": "uups" + }, + { + "address": "0x94859a0ecB0f8A524Df22D879177B9ce45588F8d", + "txHash": "0x52de86d38e9d59b910999f43d949b63a1f5c44612f581846172a22f379946024", + "kind": "uups" + }, + { + "address": "0x152B417a27afcb7Ca9fE11233A66E8AEc5f63033", + "txHash": "0x828f23697722c8b978ed116c587a72d7de5cded5c4bdc68f61292d2d674733ee", + "kind": "uups" + }, + { + "address": "0x5a3f832b47b948dA27aE788E96A0CD7BB0dCd1c1", + "txHash": "0xa2afdd4b08bec00a8cebde7d269edb32ff9e38705193a5dad441cd3d22e8a923", + "kind": "uups" } ], "impls": { @@ -4729,6 +4759,281 @@ }, "namespaces": {} } + }, + "548cca2a26c5cc0709b6faeff4014a53e98cc62eceebb963cbce89348317c4db": { + "address": "0x958a6Af30dfF9Bc0a883171A763067EB16564833", + "txHash": "0x5631063ca674d54575fb9a8243b52f61bb8ae02ed9db247d4a49b2316b3b7dc3", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_status", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "301", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_incomingMessageSender", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:96" + }, + { + "label": "_fuelChainState", + "offset": 0, + "slot": "352", + "type": "t_contract(FuelChainState)7380", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:99" + }, + { + "label": "_outgoingMessageNonce", + "offset": 0, + "slot": "353", + "type": "t_uint256", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:102" + }, + { + "label": "_incomingMessageSuccessful", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:105" + }, + { + "label": "__gap", + "offset": 0, + "slot": "355", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:337" + }, + { + "label": "totalDeposited", + "offset": 0, + "slot": "404", + "type": "t_uint256", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "405", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" + }, + { + "label": "withdrawalsPaused", + "offset": 0, + "slot": "454", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" + }, + { + "label": "messageIsBlacklisted", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "456", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "457", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "458", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "459", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:269" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelChainState)7380": { + "label": "contract FuelChainState", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json new file mode 100644 index 00000000..79bdf2b1 --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -0,0 +1,870 @@ +{ + "address": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BridgeFull", + "type": "error" + }, + { + "inputs": [], + "name": "CallerIsNotPortal", + "type": "error" + }, + { + "inputs": [], + "name": "CannotDepositZero", + "type": "error" + }, + { + "inputs": [], + "name": "CannotWithdrawZero", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAmount", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAssetIssuerID", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageSender", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSender", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RateLimitUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetIssuerId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "depositLimits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "depositWithData", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "l2BurntAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "finalizeWithdrawal", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "fuelMessagePortal", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelMessagePortal", + "name": "fuelMessagePortal", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "requireWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rescueETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "sendMetadata", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "setAssetIssuerId", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "limit", + "type": "uint256" + } + ], + "name": "setGlobalDepositLimit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "tokensDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "whitelistRequired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "numDeployments": 2, + "linkedData": { + "constructorArgs": [], + "initArgs": [ + "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A" + ], + "isProxy": false, + "isImplementation": true, + "proxyAddress": "0x94859a0ecB0f8A524Df22D879177B9ce45588F8d" + }, + "implementation": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3" +} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json new file mode 100644 index 00000000..0e80f3b2 --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -0,0 +1,1134 @@ +{ + "address": "0x958a6Af30dfF9Bc0a883171A763067EB16564833", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_depositLimitGlobal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AlreadyRelayed", + "type": "error" + }, + { + "inputs": [], + "name": "AmountPrecisionIncompatibility", + "type": "error" + }, + { + "inputs": [], + "name": "AmountTooBig", + "type": "error" + }, + { + "inputs": [], + "name": "CurrentMessageSenderNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidBlockInHistoryProof", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageInBlockProof", + "type": "error" + }, + { + "inputs": [], + "name": "MessageBlacklisted", + "type": "error" + }, + { + "inputs": [], + "name": "MessageDataTooLarge", + "type": "error" + }, + { + "inputs": [], + "name": "MessageRelayFailed", + "type": "error" + }, + { + "inputs": [], + "name": "NotSupported", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "UnfinalizedBlock", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalsPaused", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldValue", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newValue", + "type": "address" + } + ], + "name": "FuelChainStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + } + ], + "name": "MessageRelayed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "MessageSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ResetRateLimit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ETH_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_BASE_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_MESSAGE_DATA_SIZE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "addMessageToBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + } + ], + "name": "depositETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositLimitGlobal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fuelBaseAssetDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "fuelChainStateContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextOutgoingMessageNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "incomingMessageSuccessful", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "fuelChainState", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "initializerV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "messageIsBlacklisted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "reinitializeV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Message", + "name": "message", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "applicationHash", + "type": "bytes32" + } + ], + "internalType": "struct FuelBlockHeaderLite", + "name": "rootBlockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "daHeight", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "outputMessagesCount", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "consensusParametersVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "stateTransitionBytecodeVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "bytes32", + "name": "txRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "outputMessagesRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "eventInboxRoot", + "type": "bytes32" + }, + { + "internalType": "uint16", + "name": "txCount", + "type": "uint16" + } + ], + "internalType": "struct FuelBlockHeader", + "name": "blockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "blockInHistoryProof", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "messageInBlockProof", + "type": "tuple" + } + ], + "name": "relayMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "removeMessageFromBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newFuelChainState", + "type": "address" + } + ], + "name": "setFuelChainState", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalsPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "numDeployments": 2, + "linkedData": { + "constructorArgs": [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + 604800 + ], + "initArgs": [ + "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "10000000000000000000" + ], + "isProxy": false, + "isImplementation": true, + "proxyAddress": "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A" + }, + "implementation": "0x958a6Af30dfF9Bc0a883171A763067EB16564833" +} \ No newline at end of file From 7554265081d13f8bfd486b449adebc167385c173 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:31:31 +0530 Subject: [PATCH 22/84] fix: wrong init method in verify script --- .../solidity-contracts/scripts/hardhat/verifyDeployment.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 7eacaba6..b0a46702 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -43,10 +43,13 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( if (deployment.linkedData.isProxy) { const localContract = await localHardhat.upgrades.deployProxy( ContractFactory, - [], + deployment.linkedData.initArgs, { kind: 'uups', - initializer: 'initialize', + initializer: + contractName == 'FuelMessagePortalV3' + ? 'initializerV3' + : 'initialize', constructorArgs: deployment.linkedData.constructorArgs, } ); From 7e2442969badea9bf3aed51d7fec91bfa6457345 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:40:58 +0530 Subject: [PATCH 23/84] chore: add branch condition in upgrade ci --- .github/workflows/verify-upgrade.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 573d4518..c9abde1c 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -13,9 +13,9 @@ concurrency: cancel-in-progress: true jobs: - verify: - # if: startsWith(github.head_ref, 'deploy/') + verify-upgrade: runs-on: ubuntu-latest + if: startsWith(github.head_ref, 'deploy/') steps: - uses: actions/checkout@v3 - uses: FuelLabs/github-actions/setups/node@master @@ -30,5 +30,5 @@ jobs: # Remove the refs/heads/ prefix BRANCH_NAME=${BRANCH_NAME#refs/heads/deploy/} - npx hardhat verify-deployment --network upgradeTest + npx hardhat verify-deployment --network ${{ BRANCH_NAME }} working-directory: ./packages/solidity-contracts From 552dec98f41fe18547e89a4d23370ebc5beeb57a Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 16:48:04 +0530 Subject: [PATCH 24/84] chore: formatting in ci --- .github/workflows/verify-upgrade.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index c9abde1c..85b75932 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -5,6 +5,8 @@ on: branches: - main pull_request: + branches: + - main # Target branch for the PR release: types: [published] @@ -15,7 +17,7 @@ concurrency: jobs: verify-upgrade: runs-on: ubuntu-latest - if: startsWith(github.head_ref, 'deploy/') + if: github.event_name == 'pull_request' && startsWith(github.head_ref, 'deploy/') steps: - uses: actions/checkout@v3 - uses: FuelLabs/github-actions/setups/node@master @@ -24,11 +26,11 @@ jobs: pnpm-version: 9.0.6 - name: Verify deployment bytecode run: | - # Extract branch name from `GITHUB_REF` - BRANCH_NAME=${{ github.ref }} + # Extract branch name from `GITHUB_HEAD_REF` (PR source branch) + BRANCH_NAME=${{ github.head_ref }} - # Remove the refs/heads/ prefix - BRANCH_NAME=${BRANCH_NAME#refs/heads/deploy/} + # Remove the deploy/ prefix + BRANCH_NAME=${BRANCH_NAME#deploy/} - npx hardhat verify-deployment --network ${{ BRANCH_NAME }} + npx hardhat verify-deployment --network $BRANCH_NAME working-directory: ./packages/solidity-contracts From f753d087c166263f2c9ca669453f24d15be028b1 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 16 Sep 2024 17:18:06 +0530 Subject: [PATCH 25/84] chore: add changeset --- .changeset/real-pots-clean.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/real-pots-clean.md diff --git a/.changeset/real-pots-clean.md b/.changeset/real-pots-clean.md new file mode 100644 index 00000000..cdd49cb7 --- /dev/null +++ b/.changeset/real-pots-clean.md @@ -0,0 +1,5 @@ +--- +'@fuel-bridge/solidity-contracts': minor +--- + +ci proxy upgrade verification flow From 34ce9fa252f82a77c05ad79d1c98d2348755cfbc Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 17 Sep 2024 17:29:36 +0530 Subject: [PATCH 26/84] refactor: fetch env from .secret and use a fallback --- .github/workflows/verify-upgrade.yml | 2 ++ packages/solidity-contracts/hardhat.config.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 85b75932..d49f8ae1 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -17,6 +17,8 @@ concurrency: jobs: verify-upgrade: runs-on: ubuntu-latest + env: + RPC_URL: ${{ secrets.RPC_URL || 'https://sepolia.gateway.tenderly.co' }} if: github.event_name == 'pull_request' && startsWith(github.head_ref, 'deploy/') steps: - uses: actions/checkout@v3 diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index 10e7ead5..4c12bdc5 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -88,7 +88,7 @@ const config: HardhatUserConfig = { chainId: 11155111, }, upgradeTest: { - url: 'https://sepolia.gateway.tenderly.co', + url: RPC_URL, accounts: CONTRACTS_DEPLOYER_KEY ? [CONTRACTS_DEPLOYER_KEY] : { From d598879f3dca386719f783225b337a747768995e Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 23 Sep 2024 12:26:08 +0530 Subject: [PATCH 27/84] refactor: update deployment artifact structure --- .../.openzeppelin/sepolia.json | 29 +++++++++++++++++-- .../deploy/upgradeTest/001.chain_state.ts | 1 - .../upgradeTest/002.fuel_message_portal_v3.ts | 1 - .../upgradeTest/003.erc20_gateway_v4.ts | 1 - .../upgradeTest/prepareUpgrade.chain_state.ts | 5 ++-- .../prepareUpgrade.erc20_gateway_v4.ts | 5 ++-- .../prepareUpgrade.fuel_message_portal_v3.ts | 5 ++-- .../upgradeTest/FuelChainState.json | 8 ++--- .../upgradeTest/FuelERC20GatewayV4.json | 7 ++--- .../upgradeTest/FuelMessagePortalV3.json | 7 ++--- 10 files changed, 43 insertions(+), 26 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 6921e81a..3bbd2ee6 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -210,6 +210,31 @@ "address": "0x5a3f832b47b948dA27aE788E96A0CD7BB0dCd1c1", "txHash": "0xa2afdd4b08bec00a8cebde7d269edb32ff9e38705193a5dad441cd3d22e8a923", "kind": "uups" + }, + { + "address": "0xAc46170F97FC86d2FF5Bf935c651c8A0eB169151", + "txHash": "0x9cdab32c955e920a6122f2227b4d5751d8832e267963bb6b4cf00252d71cc701", + "kind": "uups" + }, + { + "address": "0xB5259CbaE5032E14ddA06f2DeBbA9f489B550FF0", + "txHash": "0x0670cc35562c151e4fec51ec455f16a1ff1e9b2d4caa79c4293a0f862de0d596", + "kind": "uups" + }, + { + "address": "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", + "txHash": "0x7cff6b8c9024620b6645af5eeb693c13399387b70b8a3d68dd58b32d5a548a27", + "kind": "uups" + }, + { + "address": "0xF363903815A848Bf2950db82246D50a32990781B", + "txHash": "0xcbd14a76d2c5b1b21559d166519c76543fa3c689473ca2388b66196d59428b1f", + "kind": "uups" + }, + { + "address": "0xcCEe78A4008490D770817414D16C2FEc37dE8D86", + "txHash": "0x45c87e54274df8e3c91b8209cbea9a7ead4fb53ce894c36fa23b90a63f7647d4", + "kind": "uups" } ], "impls": { @@ -4339,7 +4364,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8014", + "type": "t_contract(FuelMessagePortal)4524", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -4517,7 +4542,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8014": { + "t_contract(FuelMessagePortal)4524": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index b98c60fd..fdeae356 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -38,7 +38,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { constructorArgs, initArgs: [], isProxy: true, - isImplementation: false, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 4b1441da..0701515f 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -45,7 +45,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { constructorArgs, initArgs, isProxy: true, - isImplementation: false, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index 6ea5bba2..dfdc8859 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -33,7 +33,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { constructorArgs: [], initArgs, isProxy: true, - isImplementation: false, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index da7b11e3..56bd6a78 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -23,15 +23,14 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await save('FuelChainState', { - address: implementationAddress.toString(), + address: contractDeployment.address, abi: [...FuelChainState.abi], implementation: contractDeployment.implementation, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - isImplementation: true, - proxyAddress: contractDeployment.address, + newImplementation: implementationAddress.toString(), }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts index eea2ab9b..445a8fdb 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -23,15 +23,14 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await save('FuelERC20GatewayV4', { - address: implementationAddress.toString(), + address: contractDeployment.address, abi: [...FuelERC20Gateway.abi], implementation: contractDeployment.implementation, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - isImplementation: true, - proxyAddress: contractDeployment.address, + newImplementation: implementationAddress.toString(), }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts index 7837a524..224bb1f8 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -23,15 +23,14 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { ); await save('FuelMessagePortalV3', { - address: implementationAddress.toString(), + address: contractDeployment.address, abi: [...FuelMessagePortal.abi], implementation: contractDeployment.implementation, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - isImplementation: true, - proxyAddress: contractDeployment.address, + newImplementation: implementationAddress.toString(), }, }); }; diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 4fb8675e..9e18e7a3 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "address": "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", "abi": [ { "inputs": [ @@ -572,16 +572,16 @@ "type": "function" } ], - "numDeployments": 6, + "numDeployments": 2, "linkedData": { "constructorArgs": [ 5, 30, 5 ], + "initArgs": [], "isProxy": false, - "isImplementation": true, - "proxyAddress": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9" + "newImplementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" }, "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 79bdf2b1..fccf6fb2 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3", + "address": "0xcCEe78A4008490D770817414D16C2FEc37dE8D86", "abi": [ { "inputs": [], @@ -860,11 +860,10 @@ "linkedData": { "constructorArgs": [], "initArgs": [ - "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A" + "0xF363903815A848Bf2950db82246D50a32990781B" ], "isProxy": false, - "isImplementation": true, - "proxyAddress": "0x94859a0ecB0f8A524Df22D879177B9ce45588F8d" + "newImplementation": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3" }, "implementation": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 0e80f3b2..e2117e9c 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x958a6Af30dfF9Bc0a883171A763067EB16564833", + "address": "0xF363903815A848Bf2950db82246D50a32990781B", "abi": [ { "inputs": [ @@ -1123,12 +1123,11 @@ 604800 ], "initArgs": [ - "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", "10000000000000000000" ], "isProxy": false, - "isImplementation": true, - "proxyAddress": "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A" + "newImplementation": "0x958a6Af30dfF9Bc0a883171A763067EB16564833" }, "implementation": "0x958a6Af30dfF9Bc0a883171A763067EB16564833" } \ No newline at end of file From 7f89ba9e9938c7cc5dc6aacfc9d9495aafd76c4f Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 23 Sep 2024 12:27:09 +0530 Subject: [PATCH 28/84] refactor: remove non-proxy-upgrade check code --- .../scripts/hardhat/verifyDeployment.ts | 59 ++++--------------- 1 file changed, 11 insertions(+), 48 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index b0a46702..08240cec 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -16,49 +16,26 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( try { console.log('--- Fetching deployed bytecode...'); let deployedBytecode: string; - if (deployment.linkedData.isProxy) { - const implementationAddress = - await hre.upgrades.erc1967.getImplementationAddress( - deployment.address - ); - console.log('implementationAddress:', implementationAddress); - deployedBytecode = await hre.ethers.provider.getCode( - implementationAddress - ); - } else { + + if (!deployment.linkedData.isProxy) { deployedBytecode = await hre.ethers.provider.getCode( - deployment.address + deployment.linkedData.newImplementation ); - } + } else continue; console.log('--- Creating local Hardhat network...'); const localHardhat = require('hardhat'); await localHardhat.run('compile'); - console.log('--- Deploying contract locally...'); const ContractFactory = await localHardhat.ethers.getContractFactory( contractName ); let localAddress: string; - if (deployment.linkedData.isProxy) { - const localContract = await localHardhat.upgrades.deployProxy( - ContractFactory, - deployment.linkedData.initArgs, - { - kind: 'uups', - initializer: - contractName == 'FuelMessagePortalV3' - ? 'initializerV3' - : 'initialize', - constructorArgs: deployment.linkedData.constructorArgs, - } - ); - await localContract.waitForDeployment(); - localAddress = await localContract.getAddress(); - } else if (deployment.linkedData.isImplementation) { + + if (!deployment.linkedData.isProxy) { console.log('--- Validating Upgrade...'); await localHardhat.upgrades.validateUpgrade( - deployment.linkedData.proxyAddress as string, + deployment.address as string, ContractFactory, { kind: 'uups', @@ -67,30 +44,16 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( ); console.log('--- Upgrade success'); - localAddress = deployment.address; - } else { - const localContract = await ContractFactory.deploy( - ...deployment.linkedData.constructorArgs - ); - await localContract.deployed(); - localAddress = await localContract.getAddress(); - } + localAddress = deployment.linkedData.newImplementation; + } else continue; console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; - if (deployment.linkedData.isProxy) { - const localImplementationAddress = - await localHardhat.upgrades.erc1967.getImplementationAddress( - localAddress - ); - localBytecode = await localHardhat.ethers.provider.getCode( - localImplementationAddress - ); - } else { + if (!deployment.linkedData.isProxy) { localBytecode = await localHardhat.ethers.provider.getCode( localAddress ); - } + } else continue; console.log('--- Comparing bytecodes...'); console.log( From 09dac6efc07110e03aac64d2eed33fc956475fd8 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 23 Sep 2024 20:23:14 +0530 Subject: [PATCH 29/84] chore: update artifactss --- .../.openzeppelin/sepolia.json | 548 +++++++++++++++++- .../upgradeTest/FuelChainState.json | 2 +- .../upgradeTest/FuelERC20GatewayV4.json | 8 +- .../upgradeTest/FuelMessagePortalV3.json | 8 +- 4 files changed, 555 insertions(+), 11 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 88985a28..b44474e8 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -232,11 +232,29 @@ "kind": "uups" }, { - "address": "0xcCEe78A4008490D770817414D16C2FEc37dE8D86", - "txHash": "0x45c87e54274df8e3c91b8209cbea9a7ead4fb53ce894c36fa23b90a63f7647d4", "address": "0xd1d5a4379dccC46D5c8D1c6c2656ce705698e359", "txHash": "0x73697b5e8b777713294ab4085e0b1a1d1d283b6e32ab5195ad3b2e79354ab31a", "kind": "uups" + }, + { + "address": "0x3a857cE73C6a97D3fBd28838d88D79583056b542", + "txHash": "0xf36d07610f9c638aead57a1bbba7cdc218548e4c02d3beca3222ed93fe0609fd", + "kind": "uups" + }, + { + "address": "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", + "txHash": "0xbe914a09e5e34320629b22c3e9ba8ea3966bf36cace7afda5f81fd32738dea58", + "kind": "uups" + }, + { + "address": "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd", + "txHash": "0x7dbae2c0b92df08c14c5d5a1c23817694fddb9c9d0e766b1dd4c78073215b3e0", + "kind": "uups" + }, + { + "address": "0x0Bb3a3B43Ac6D190e0ade3aC4aD363eb9B05a80A", + "txHash": "0x0bd68c86a52da2941ac892bdbdc8d1e24ecc0975c6c2a16e045d0abf2c51b524", + "kind": "uups" } ], "impls": { @@ -5061,6 +5079,532 @@ }, "namespaces": {} } + }, + "42fdf217cb827408c9047d8ff23fcd4ac98a789aa772aa35c0a9d1803f9f68d4": { + "address": "0x90cB311F9871490C160d50380f68801ed9146310", + "txHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "_fuelMessagePortal", + "offset": 2, + "slot": "0", + "type": "t_contract(FuelMessagePortal)4524", + "contract": "FuelMessagesEnabled", + "src": "contracts/messaging/FuelMessagesEnabled.sol:21" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagesEnabledUpgradeable", + "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "50", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "100", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "150", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "200", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "250", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "300", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "whitelistRequired", + "offset": 0, + "slot": "350", + "type": "t_bool", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:73" + }, + { + "label": "assetIssuerId", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:74" + }, + { + "label": "_deposits", + "offset": 0, + "slot": "352", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" + }, + { + "label": "_depositLimits", + "offset": 0, + "slot": "353", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" + }, + { + "label": "_decimalsCache", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:78" + }, + { + "label": "rateLimitDuration", + "offset": 0, + "slot": "355", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "356", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "357", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "358", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" + }, + { + "label": "__gap", + "offset": 0, + "slot": "359", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:428" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelMessagePortal)4524": { + "label": "contract FuelMessagePortal", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "ec3521444731eb6ecc85e6fc17840bd2e784936786cc16d4262de15dc67296cc": { + "address": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", + "txHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_status", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "301", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_incomingMessageSender", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:96" + }, + { + "label": "_fuelChainState", + "offset": 0, + "slot": "352", + "type": "t_contract(FuelChainState)3890", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:99" + }, + { + "label": "_outgoingMessageNonce", + "offset": 0, + "slot": "353", + "type": "t_uint256", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:102" + }, + { + "label": "_incomingMessageSuccessful", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:105" + }, + { + "label": "__gap", + "offset": 0, + "slot": "355", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:337" + }, + { + "label": "totalDeposited", + "offset": 0, + "slot": "404", + "type": "t_uint256", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "405", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" + }, + { + "label": "withdrawalsPaused", + "offset": 0, + "slot": "454", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" + }, + { + "label": "messageIsBlacklisted", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "456", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "457", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "458", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "459", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:258" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelChainState)3890": { + "label": "contract FuelChainState", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 9e18e7a3..5b15745f 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", + "address": "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", "abi": [ { "inputs": [ diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index fccf6fb2..be33623a 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0xcCEe78A4008490D770817414D16C2FEc37dE8D86", + "address": "0x0Bb3a3B43Ac6D190e0ade3aC4aD363eb9B05a80A", "abi": [ { "inputs": [], @@ -860,10 +860,10 @@ "linkedData": { "constructorArgs": [], "initArgs": [ - "0xF363903815A848Bf2950db82246D50a32990781B" + "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd" ], "isProxy": false, - "newImplementation": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3" + "newImplementation": "0x90cB311F9871490C160d50380f68801ed9146310" }, - "implementation": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3" + "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index e2117e9c..2aaabc1e 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0xF363903815A848Bf2950db82246D50a32990781B", + "address": "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd", "abi": [ { "inputs": [ @@ -1123,11 +1123,11 @@ 604800 ], "initArgs": [ - "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", + "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", "10000000000000000000" ], "isProxy": false, - "newImplementation": "0x958a6Af30dfF9Bc0a883171A763067EB16564833" + "newImplementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" }, - "implementation": "0x958a6Af30dfF9Bc0a883171A763067EB16564833" + "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" } \ No newline at end of file From d5307c353fc592b4e4e31a199e256abbcb54423b Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 23 Sep 2024 20:23:45 +0530 Subject: [PATCH 30/84] fix: bytecode comparision bug --- .../solidity-contracts/scripts/hardhat/verifyDeployment.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 08240cec..4e7d00af 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -18,8 +18,13 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( let deployedBytecode: string; if (!deployment.linkedData.isProxy) { + const deployedImplementation = + await hre.upgrades.erc1967.getImplementationAddress( + deployment.address + ); + deployedBytecode = await hre.ethers.provider.getCode( - deployment.linkedData.newImplementation + deployedImplementation ); } else continue; From b00fa18dc94684f8eec99cb59897ab17662ae996 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 17:24:32 +0530 Subject: [PATCH 31/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 244 +++++++++++++++++- .../upgradeTest/FuelChainState.json | 5 +- .../upgradeTest/FuelERC20GatewayV4.json | 5 +- .../upgradeTest/FuelMessagePortalV3.json | 5 +- 4 files changed, 250 insertions(+), 9 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index b44474e8..31ce99a9 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -255,6 +255,41 @@ "address": "0x0Bb3a3B43Ac6D190e0ade3aC4aD363eb9B05a80A", "txHash": "0x0bd68c86a52da2941ac892bdbdc8d1e24ecc0975c6c2a16e045d0abf2c51b524", "kind": "uups" + }, + { + "address": "0x0b7756Fa86c9dA0342F625dD1a9C8f7362c253B0", + "txHash": "0x10b730681f6c3547f52badd6649e8c3bc12f8fc64a73bb73344b5c9bc2969635", + "kind": "uups" + }, + { + "address": "0xe08fDF30284A2181cbDeF26d9E5Ea53F1DDA54B8", + "txHash": "0xe7fbb6f4a5e651754479281fbccc3d327973e8c2136549f8afac76d7015ede42", + "kind": "uups" + }, + { + "address": "0x4138554D094A2C8Db81e89f3f1886c1E3e906748", + "txHash": "0x4b247915cef1cfb165e01241de91262545f95ae20a4176c2e1e378625c31784a", + "kind": "uups" + }, + { + "address": "0xdDfCb9DF12CE6381507F2561B8a708fCd1CF8180", + "txHash": "0xafa7d3718b2545c642a62cdb8fff198fd2c9fc3975b036658671988f1070338d", + "kind": "uups" + }, + { + "address": "0x2b88606d334d075d33131E6eaC1B7E18E3089228", + "txHash": "0x61e56e58076d247c5931bf273dce56aed47b3fc68b431e6691ce5087239c60d1", + "kind": "uups" + }, + { + "address": "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D", + "txHash": "0x1857ba54cb130c2cf51d139427d28b6ac8bb82123a93ec44ca463ec2ea69a766", + "kind": "uups" + }, + { + "address": "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9", + "txHash": "0xacd8863e086d42367814d265a2cf33ae4b2693bf252f6778de9cc98393d18f90", + "kind": "uups" } ], "impls": { @@ -5107,7 +5142,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)4524", + "type": "t_contract(FuelMessagePortal)8014", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -5285,7 +5320,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)4524": { + "t_contract(FuelMessagePortal)8014": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, @@ -5329,7 +5364,13 @@ } }, "namespaces": {} - } + }, + "allAddresses": [ + "0x90cB311F9871490C160d50380f68801ed9146310", + "0x1e9Cb94A2D657D027E7e1D046Ce01571FC4EF08d", + "0xa8208529573e32B0aec07565fa8BC3cD01115449", + "0x1b932A4Da23cbC1adb50A97bBc4DC23Aa2D7fD34" + ] }, "ec3521444731eb6ecc85e6fc17840bd2e784936786cc16d4262de15dc67296cc": { "address": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", @@ -5605,6 +5646,203 @@ }, "namespaces": {} } + }, + "b3f9ffc7765e3c14f733b2b272144e15294520401ee2e008bc6581e5d34c9e41": { + "address": "0x57346ed72A6e0f9D56b52f050c61803fF7d107E4", + "txHash": "0x6c0d36a011c0608b4b671f4f0f41297d160ed511f0018f3f78a822e252efd43f", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)2978_storage)240_storage", + "contract": "FuelChainV2", + "src": "contracts/fuelchain/FuelChainV2.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)2978_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)2978_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 5b15745f..cfb4100c 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", + "address": "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9", "abi": [ { "inputs": [ @@ -572,13 +572,14 @@ "type": "function" } ], - "numDeployments": 2, + "numDeployments": 10, "linkedData": { "constructorArgs": [ 5, 30, 5 ], + "factory": "FuelChainState", "initArgs": [], "isProxy": false, "newImplementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index be33623a..d1941ae1 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x0Bb3a3B43Ac6D190e0ade3aC4aD363eb9B05a80A", + "address": "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D", "abi": [ { "inputs": [], @@ -858,9 +858,10 @@ ], "numDeployments": 2, "linkedData": { + "factory": "FuelERC20GatewayV4", "constructorArgs": [], "initArgs": [ - "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd" + "0x2b88606d334d075d33131E6eaC1B7E18E3089228" ], "isProxy": false, "newImplementation": "0x90cB311F9871490C160d50380f68801ed9146310" diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 2aaabc1e..f3f00925 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd", + "address": "0x2b88606d334d075d33131E6eaC1B7E18E3089228", "abi": [ { "inputs": [ @@ -1118,12 +1118,13 @@ ], "numDeployments": 2, "linkedData": { + "factory": "FuelMessagePortalV3", "constructorArgs": [ "115792089237316195423570985008687907853269984665640564039457584007913129639935", 604800 ], "initArgs": [ - "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", + "0xdDfCb9DF12CE6381507F2561B8a708fCd1CF8180", "10000000000000000000" ], "isProxy": false, From d1be73e3b16fc735d7de09d4293930d01caf99ff Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 17:25:14 +0530 Subject: [PATCH 32/84] chore: add factory info in scripts --- .../solidity-contracts/deploy/upgradeTest/001.chain_state.ts | 4 ++++ .../deploy/upgradeTest/prepareUpgrade.chain_state.ts | 2 ++ .../deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts | 1 + .../upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts | 1 + 4 files changed, 8 insertions(+) diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index fdeae356..2e557377 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -29,13 +29,17 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const address = await contract.getAddress(); const implementation = await erc1967.getImplementationAddress(address); + const bytecode = await contract.getDeployedCode(); + console.log('Deployed FuelChainState at', address); await save('FuelChainState', { address, abi: [...FuelChainState.abi], + // deployedBytecode: bytecode, implementation, linkedData: { constructorArgs, + factory: 'FuelChainState', initArgs: [], isProxy: true, }, diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 56bd6a78..d7848f87 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -26,8 +26,10 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { address: contractDeployment.address, abi: [...FuelChainState.abi], implementation: contractDeployment.implementation, + linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, + factory: 'FuelChainState', initArgs: contractDeployment.linkedData.initArgs, isProxy: false, newImplementation: implementationAddress.toString(), diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts index 445a8fdb..c1d26102 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -27,6 +27,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelERC20Gateway.abi], implementation: contractDeployment.implementation, linkedData: { + factory: 'FuelERC20GatewayV4', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts index 224bb1f8..2291bbe0 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -27,6 +27,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { abi: [...FuelMessagePortal.abi], implementation: contractDeployment.implementation, linkedData: { + factory: 'FuelMessagePortalV3', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, From 30a3bcd6ad0a59d7259a365f33822044e18dd650 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 17:25:46 +0530 Subject: [PATCH 33/84] fix: upgrade & bytecode validation issues --- .../scripts/hardhat/verifyDeployment.ts | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 4e7d00af..379b3c0d 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -18,13 +18,8 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( let deployedBytecode: string; if (!deployment.linkedData.isProxy) { - const deployedImplementation = - await hre.upgrades.erc1967.getImplementationAddress( - deployment.address - ); - deployedBytecode = await hre.ethers.provider.getCode( - deployedImplementation + deployment.address ); } else continue; @@ -33,7 +28,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( await localHardhat.run('compile'); const ContractFactory = await localHardhat.ethers.getContractFactory( - contractName + deployment.linkedData.factory ); let localAddress: string; @@ -48,16 +43,30 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( } ); - console.log('--- Upgrade success'); - localAddress = deployment.linkedData.newImplementation; + console.log('--- Upgrade Validated...'); + + console.log( + '--- Performing mock upgrade to fetch the local bytecode...' + ); + + const contract = await localHardhat.upgrades.upgradeProxy( + deployment.address, + ContractFactory, + { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + } + ); + + console.log('--- Upgrade successful'); + await contract.waitForDeployment(); + localAddress = await contract.getAddress(); } else continue; console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; if (!deployment.linkedData.isProxy) { - localBytecode = await localHardhat.ethers.provider.getCode( - localAddress - ); + localBytecode = await hre.ethers.provider.getCode(localAddress); } else continue; console.log('--- Comparing bytecodes...'); From 2823ebb23941f565a73e1d205ab25cdd9364eaec Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 20:58:34 +0530 Subject: [PATCH 34/84] debug: ci failure --- .../.openzeppelin/sepolia.json | 10 + .../upgradeTest/FuelChainState.json | 4 +- .../upgradeTest/FuelERC20GatewayV4.json | 870 ------------- .../upgradeTest/FuelMessagePortalV3.json | 1134 ----------------- .../scripts/hardhat/verifyDeployment.ts | 22 +- 5 files changed, 33 insertions(+), 2007 deletions(-) delete mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json delete mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 31ce99a9..9aaa73ee 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -290,6 +290,16 @@ "address": "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9", "txHash": "0xacd8863e086d42367814d265a2cf33ae4b2693bf252f6778de9cc98393d18f90", "kind": "uups" + }, + { + "address": "0xA3b517fD67a21af560a754aA86DAC6c29B3b5aFf", + "txHash": "0x8ff1f6e28dec8fa47ce55d7effe27283b63b47b737e0ceca1863866d580f69f5", + "kind": "uups" + }, + { + "address": "0xCbFF9726eD7ecc7e6F45Ca288f2Fb22505bA952f", + "txHash": "0x282327e3eec89f92f5fb3d1f75ed63edf5cc58c39adcd6cf358e939557ede21d", + "kind": "uups" } ], "impls": { diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index cfb4100c..2c82378f 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9", + "address": "0xA3b517fD67a21af560a754aA86DAC6c29B3b5aFf", "abi": [ { "inputs": [ @@ -572,7 +572,7 @@ "type": "function" } ], - "numDeployments": 10, + "numDeployments": 2, "linkedData": { "constructorArgs": [ 5, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json deleted file mode 100644 index d1941ae1..00000000 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ /dev/null @@ -1,870 +0,0 @@ -{ - "address": "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "BridgeFull", - "type": "error" - }, - { - "inputs": [], - "name": "CallerIsNotPortal", - "type": "error" - }, - { - "inputs": [], - "name": "CannotDepositZero", - "type": "error" - }, - { - "inputs": [], - "name": "CannotWithdrawZero", - "type": "error" - }, - { - "inputs": [], - "name": "GlobalDepositLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAssetIssuerID", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMessageSender", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSender", - "type": "error" - }, - { - "inputs": [], - "name": "RateLimitExceeded", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RateLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FUEL_ASSET_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PAUSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SET_RATE_LIMITER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "assetIssuerId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "currentPeriodAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "currentPeriodEnd", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "to", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "depositLimits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "to", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "depositWithData", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "l2BurntAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "finalizeWithdrawal", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "fuelMessagePortal", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelMessagePortal", - "name": "fuelMessagePortal", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "limitAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rateLimitDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "requireWhitelist", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rescueETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateLimitDuration", - "type": "uint256" - } - ], - "name": "resetRateLimitAmount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "sendMetadata", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "setAssetIssuerId", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "setGlobalDepositLimit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "tokensDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "whitelistRequired", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "numDeployments": 2, - "linkedData": { - "factory": "FuelERC20GatewayV4", - "constructorArgs": [], - "initArgs": [ - "0x2b88606d334d075d33131E6eaC1B7E18E3089228" - ], - "isProxy": false, - "newImplementation": "0x90cB311F9871490C160d50380f68801ed9146310" - }, - "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" -} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json deleted file mode 100644 index f3f00925..00000000 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ /dev/null @@ -1,1134 +0,0 @@ -{ - "address": "0x2b88606d334d075d33131E6eaC1B7E18E3089228", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_depositLimitGlobal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateLimitDuration", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AlreadyRelayed", - "type": "error" - }, - { - "inputs": [], - "name": "AmountPrecisionIncompatibility", - "type": "error" - }, - { - "inputs": [], - "name": "AmountTooBig", - "type": "error" - }, - { - "inputs": [], - "name": "CurrentMessageSenderNotSet", - "type": "error" - }, - { - "inputs": [], - "name": "GlobalDepositLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidBlockInHistoryProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMessageInBlockProof", - "type": "error" - }, - { - "inputs": [], - "name": "MessageBlacklisted", - "type": "error" - }, - { - "inputs": [], - "name": "MessageDataTooLarge", - "type": "error" - }, - { - "inputs": [], - "name": "MessageRelayFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotSupported", - "type": "error" - }, - { - "inputs": [], - "name": "RateLimitExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "UnfinalizedBlock", - "type": "error" - }, - { - "inputs": [], - "name": "WithdrawalsPaused", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "oldValue", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newValue", - "type": "address" - } - ], - "name": "FuelChainStateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "name": "MessageRelayed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "amount", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "MessageSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ResetRateLimit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETH_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FUEL_BASE_ASSET_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_MESSAGE_DATA_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PAUSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SET_RATE_LIMITER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "addMessageToBlacklist", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "currentPeriodAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentPeriodEnd", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - } - ], - "name": "depositETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositLimitGlobal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fuelBaseAssetDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "fuelChainStateContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNextOutgoingMessageNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "incomingMessageSuccessful", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelChainState", - "name": "", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelChainState", - "name": "fuelChainState", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_limitAmount", - "type": "uint256" - } - ], - "name": "initializerV3", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "limitAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "messageIsBlacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "messageSender", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pauseWithdrawals", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rateLimitDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_limitAmount", - "type": "uint256" - } - ], - "name": "reinitializeV3", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Message", - "name": "message", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "prevRoot", - "type": "bytes32" - }, - { - "internalType": "uint32", - "name": "height", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "applicationHash", - "type": "bytes32" - } - ], - "internalType": "struct FuelBlockHeaderLite", - "name": "rootBlockHeader", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "prevRoot", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "daHeight", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "outputMessagesCount", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "consensusParametersVersion", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "stateTransitionBytecodeVersion", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "height", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "txRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "outputMessagesRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "eventInboxRoot", - "type": "bytes32" - }, - { - "internalType": "uint16", - "name": "txCount", - "type": "uint16" - } - ], - "internalType": "struct FuelBlockHeader", - "name": "blockHeader", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct MerkleProof", - "name": "blockInHistoryProof", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct MerkleProof", - "name": "messageInBlockProof", - "type": "tuple" - } - ], - "name": "relayMessage", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "removeMessageFromBlacklist", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "resetRateLimitAmount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "sendMessage", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newFuelChainState", - "type": "address" - } - ], - "name": "setFuelChainState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unpauseWithdrawals", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalsPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "numDeployments": 2, - "linkedData": { - "factory": "FuelMessagePortalV3", - "constructorArgs": [ - "115792089237316195423570985008687907853269984665640564039457584007913129639935", - 604800 - ], - "initArgs": [ - "0xdDfCb9DF12CE6381507F2561B8a708fCd1CF8180", - "10000000000000000000" - ], - "isProxy": false, - "newImplementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" - }, - "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" -} \ No newline at end of file diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 379b3c0d..c05cc6c9 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -10,9 +10,12 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( const deployments = await hre.deployments.all(); + for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); + + try { console.log('--- Fetching deployed bytecode...'); let deployedBytecode: string; @@ -49,6 +52,17 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( '--- Performing mock upgrade to fetch the local bytecode...' ); + const proxyfactory = await localHardhat.ethers.getContractFactory( + contractName + ); + const proxy = await localHardhat.upgrades.deployProxy(proxyfactory, [], { + initializer: 'initialize', + constructorArgs: deployment.linkedData.constructorArgs, + }); + + await proxy.waitForDeployment(); + + const contract = await localHardhat.upgrades.upgradeProxy( deployment.address, ContractFactory, @@ -66,7 +80,13 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; if (!deployment.linkedData.isProxy) { - localBytecode = await hre.ethers.provider.getCode(localAddress); + + localBytecode = await hre.ethers.provider.getCode( + localAddress + ); + // await (await hre.artifacts.readArtifact(deployment.linkedData.factory)).deployedBytecode + + // localBytecode = await (await hre.artifacts.readArtifact(deployment.linkedData.factory)).deployedBytecode } else continue; console.log('--- Comparing bytecodes...'); From 2a77edc1f6855941f163fbf497d5d00b61eddc5e Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 21:14:57 +0530 Subject: [PATCH 35/84] debug: update hh network config --- packages/solidity-contracts/hardhat.config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index 4c12bdc5..77c9efd4 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -38,6 +38,9 @@ const config: HardhatUserConfig = { networks: { hardhat: { accounts: { + accountsBalance: "10000000000000000000000", + mnemonic: + 'test test test test test test test test test test test junk', count: 128, }, deploy: ['deploy/hardhat'], From 0560d16d9b6779b6b0cc8f7a8aa86b99ad880bf5 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 21:43:59 +0530 Subject: [PATCH 36/84] debug: update verification script --- .../scripts/hardhat/verifyDeployment.ts | 42 ++----------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index c05cc6c9..daa30dd5 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -10,12 +10,9 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( const deployments = await hre.deployments.all(); - for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); - - try { console.log('--- Fetching deployed bytecode...'); let deployedBytecode: string; @@ -33,7 +30,6 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( const ContractFactory = await localHardhat.ethers.getContractFactory( deployment.linkedData.factory ); - let localAddress: string; if (!deployment.linkedData.isProxy) { console.log('--- Validating Upgrade...'); @@ -47,46 +43,14 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( ); console.log('--- Upgrade Validated...'); - - console.log( - '--- Performing mock upgrade to fetch the local bytecode...' - ); - - const proxyfactory = await localHardhat.ethers.getContractFactory( - contractName - ); - const proxy = await localHardhat.upgrades.deployProxy(proxyfactory, [], { - initializer: 'initialize', - constructorArgs: deployment.linkedData.constructorArgs, - }); - - await proxy.waitForDeployment(); - - - const contract = await localHardhat.upgrades.upgradeProxy( - deployment.address, - ContractFactory, - { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - } - ); - - console.log('--- Upgrade successful'); - await contract.waitForDeployment(); - localAddress = await contract.getAddress(); } else continue; console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; if (!deployment.linkedData.isProxy) { - - localBytecode = await hre.ethers.provider.getCode( - localAddress - ); - // await (await hre.artifacts.readArtifact(deployment.linkedData.factory)).deployedBytecode - - // localBytecode = await (await hre.artifacts.readArtifact(deployment.linkedData.factory)).deployedBytecode + localBytecode = await ( + await hre.artifacts.readArtifact(deployment.linkedData.factory) + ).bytecode; } else continue; console.log('--- Comparing bytecodes...'); From e72e9846d0e1b232feba3ff5897198e5da967665 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 24 Sep 2024 21:54:09 +0530 Subject: [PATCH 37/84] chore: fetch only runtime bytecode --- packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index daa30dd5..0a70e7cf 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -50,7 +50,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( if (!deployment.linkedData.isProxy) { localBytecode = await ( await hre.artifacts.readArtifact(deployment.linkedData.factory) - ).bytecode; + ).deployedBytecode; } else continue; console.log('--- Comparing bytecodes...'); From 70c66f94044a4762339af366f546f93a012b9bd9 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 25 Sep 2024 09:36:03 +0530 Subject: [PATCH 38/84] debug: using local signer --- .../scripts/hardhat/verifyDeployment.ts | 84 +++++++++++++++++-- 1 file changed, 76 insertions(+), 8 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 0a70e7cf..9d5e522c 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -1,5 +1,8 @@ import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; +import { config as dotEnvConfig } from 'dotenv'; + +dotEnvConfig(); task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { @@ -27,10 +30,36 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( const localHardhat = require('hardhat'); await localHardhat.run('compile'); + // localHardhat.artifacts.readArtifact(deployment.linkedData.factory) + + + // localHardhat. + + + const rpcUrl = 'https://rpc.tenderly.co/fork/3fe27079-c302-4397-a43e-602cc4887dca'; // Replace with your custom RPC URL + localHardhat.ethers.provider = new localHardhat.ethers.JsonRpcProvider(rpcUrl); + + // const accounts = await hre.ethers.getSigners() + // const wallet = localHardhat.ethers.Wallet.fromPhrase('test test test test test test test test test test test junk'); + // console.log(await wallet.getBalance()) + // Create a provider and signer + // const provider = new localHardhat.ethers.JsonRpcProvider(rpcUrl); + + + let [signer] = await localHardhat.ethers.getSigners(); + + // if (process.env.CONTRACTS_DEPLOYER_KEY) signer = new localHardhat.ethers.Wallet(wallet.privateKey, provider); + + // const balance = await signer.getBalance(); + // console.log(await (await localHardhat.ethers.provider.getBalance(wallet.address).toString())); + + const ContractFactory = await localHardhat.ethers.getContractFactory( - deployment.linkedData.factory + deployment.linkedData.factory, signer ); + + if (!deployment.linkedData.isProxy) { console.log('--- Validating Upgrade...'); await localHardhat.upgrades.validateUpgrade( @@ -47,20 +76,59 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( console.log('--- Fetching local deployment bytecode...'); let localBytecode: string; - if (!deployment.linkedData.isProxy) { - localBytecode = await ( - await hre.artifacts.readArtifact(deployment.linkedData.factory) - ).deployedBytecode; - } else continue; + let localAddress; + // if (!deployment.linkedData.isProxy) { + + const proxyfactory = await localHardhat.ethers.getContractFactory( + contractName, signer + ); + const proxy = await localHardhat.upgrades.deployProxy(proxyfactory, [], { + initializer: 'initialize', + constructorArgs: deployment.linkedData.constructorArgs, + }); + + await proxy.waitForDeployment(); + + + const contract = await localHardhat.upgrades.upgradeProxy( + deployment.address, + ContractFactory, + { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + } + ); + + console.log('--- Upgrade successful'); + await contract.waitForDeployment(); + localAddress = await contract.getAddress(); + + localBytecode = await hre.ethers.provider.getCode( + localAddress + ); + + + // new hre.ethers.JsonRpcSigner() + // // const factory = hre.ethers.getContractFactory + // // localBytecode = + // // ContractFactory.bytecode + // // localBytecode = await ( + // // await hre.artifacts.readArtifact(deployment.linkedData.factory) + // // ).deployedBytecode; + // await hre.tenderlyNetwork.setFork("https://dashboard.tenderly.co/Viraz/vir/fork/3fe27079-c302-4397-a43e-602cc4887dca"); + // await hre.tenderlyNetwork.initializeFork() + + + // } else continue; console.log('--- Comparing bytecodes...'); console.log( '--- Deployed bytecode: ', - hre.ethers.keccak256(deployedBytecode) + deployedBytecode ); console.log( '--- Local bytecode: ', - hre.ethers.keccak256(localBytecode) + localBytecode ); if ( From 3af1b95d73c7c614f878f30a8430f1ab0d0834f2 Mon Sep 17 00:00:00 2001 From: Viraz Malhotra Date: Thu, 26 Sep 2024 15:56:25 +0530 Subject: [PATCH 39/84] fix upgrade verification script (#295) Co-authored-by: DefiCake --- .../.openzeppelin/sepolia.json | 30 +++- .../deploy/upgradeTest/001.chain_state.ts | 8 +- .../upgradeTest/prepareUpgrade.chain_state.ts | 22 +-- .../upgradeTest/FuelChainState.json | 6 +- packages/solidity-contracts/hardhat.config.ts | 3 - .../scripts/hardhat/verifyDeployment.ts | 147 ++++++------------ 6 files changed, 95 insertions(+), 121 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 9aaa73ee..7ff0020b 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -300,6 +300,26 @@ "address": "0xCbFF9726eD7ecc7e6F45Ca288f2Fb22505bA952f", "txHash": "0x282327e3eec89f92f5fb3d1f75ed63edf5cc58c39adcd6cf358e939557ede21d", "kind": "uups" + }, + { + "address": "0x40368666eff4Add443cEf30BBAd2eAcAe5F2cbE8", + "txHash": "0x1666522878d94cfb88223e8fefc49a0dbfe10dbfa1df955f39fbcc52525a192a", + "kind": "uups" + }, + { + "address": "0xB53F5723Dd4E46da32e1769Bd36A5aD880e707A5", + "txHash": "0xfde49abec5891d1583ed00cfa999bbb12fff448c61e2e955ca42edec98083c78", + "kind": "uups" + }, + { + "address": "0x625DFD69b61dF567be60516e2136b26Cf5a75Ed1", + "txHash": "0xac30754eac2cf75466ec1cabe4890a4287ae973c457afadd210f277410d77362", + "kind": "uups" + }, + { + "address": "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", + "txHash": "0x6f2745ebd7121db800c3941c1a6265d4894e1217571aea30e4a27dbb498f6cc0", + "kind": "uups" } ], "impls": { @@ -4848,7 +4868,15 @@ } }, "namespaces": {} - } + }, + "allAddresses": [ + "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "0x9Baa4095f3635D9763Fee4ca98bd3f8072aC5962", + "0xE070FA230679FEeF6bB337F256f16335F81d80B4", + "0x97b0A18B2888e904940fFd19E480a28aeec3F055", + "0x9F2Ce4098aBA913aE571F569CC2AFD5D106A4BB9", + "0xbCe30702443dbF69E52E1a9b8EE7d3D303FAfA14" + ] }, "548cca2a26c5cc0709b6faeff4014a53e98cc62eceebb963cbce89348317c4db": { "address": "0x958a6Af30dfF9Bc0a883171A763067EB16564833", diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index 2e557377..b06a24f9 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -13,7 +13,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { upgrades: { deployProxy, erc1967 }, deployments: { save }, } = hre; - const [deployer] = await ethers.getSigners(); const constructorArgs = [ TIME_TO_FINALIZE, @@ -21,7 +20,9 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { COMMIT_COOLDOWN, ]; - const contract = await deployProxy(new FuelChainState(deployer), [], { + const factory = await ethers.getContractFactory('FuelChainState'); + + const contract = await deployProxy(factory, [], { initializer: 'initialize', constructorArgs, }); @@ -29,13 +30,10 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const address = await contract.getAddress(); const implementation = await erc1967.getImplementationAddress(address); - const bytecode = await contract.getDeployedCode(); - console.log('Deployed FuelChainState at', address); await save('FuelChainState', { address, abi: [...FuelChainState.abi], - // deployedBytecode: bytecode, implementation, linkedData: { constructorArgs, diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index d7848f87..2b2e7b36 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -2,6 +2,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelChainState__factory as FuelChainState } from '../../typechain'; +import { TransactionResponse, getCreateAddress } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { @@ -11,28 +12,29 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const contractDeployment = await hre.deployments.get('FuelChainState'); - const contract = await hre.ethers.getContractFactory('FuelChainState'); + const factory = await hre.ethers.getContractFactory('FuelChainState'); - const implementationAddress = await prepareUpgrade( - contractDeployment.address, - contract, - { - kind: 'uups', - constructorArgs: contractDeployment.linkedData.constructorArgs, - } + const response = (await prepareUpgrade(contractDeployment.address, factory, { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + getTxResponse: true, + })) as TransactionResponse; + + const receipt = await hre.ethers.provider.getTransactionReceipt( + response.hash ); await save('FuelChainState', { address: contractDeployment.address, abi: [...FuelChainState.abi], implementation: contractDeployment.implementation, - + transactionHash: response.hash, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, factory: 'FuelChainState', initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - newImplementation: implementationAddress.toString(), + newImplementation: receipt?.contractAddress, }, }); }; diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 2c82378f..3db591f8 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xA3b517fD67a21af560a754aA86DAC6c29B3b5aFf", + "address": "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", "abi": [ { "inputs": [ @@ -572,13 +572,15 @@ "type": "function" } ], - "numDeployments": 2, + "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", + "numDeployments": 8, "linkedData": { "constructorArgs": [ 5, 30, 5 ], + "actualInitCode": "0x610100604052306080523480156200001657600080fd5b5060405162002268380380620022688339810160408190526200003991620001a8565b8063ffffffff168311156200006157604051637f6a9fa960e11b815260040160405180910390fd5b6000620000708360f0620001ec565b9050808411156200009457604051631357825760e01b815260040160405180910390fd5b808263ffffffff161115620000bf57604051600162118fd960e11b0319815260040160405180910390fd5b60c084905263ffffffff821660e05260a0839052620000dd620000e7565b505050506200021a565b600054610100900460ff1615620001545760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620001a6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600080600060608486031215620001be57600080fd5b8351925060208401519150604084015163ffffffff81168114620001e157600080fd5b809150509250925092565b60008160001904831182151516156200021557634e487b7160e01b600052601160045260246000fd5b500290565b60805160a05160c05160e051611fe362000285600039600081816103730152610e530152600081816104240152610d910152600081816103150152610cfe0152600081816106950152818161072b0152818161087a015281816109100152610a3b0152611fe36000f3fe6080604052600436106101805760003560e01c8063735808b7116100d6578063a42747da1161007f578063dc801def11610059578063dc801def14610486578063e63ab1e91461049b578063e900ead8146104cf57600080fd5b8063a42747da14610412578063c890239814610446578063d547741f1461046657600080fd5b806384cbff5f116100b057806384cbff5f1461036157806391d14854146103aa578063a217fddf146103fd57600080fd5b8063735808b7146103035780638129fc1c146103375780638456cb591461034c57600080fd5b806336568abe116101385780634f1ef286116101125780634f1ef286146102c357806352d1902d146102d65780635c975abb146102eb57600080fd5b806336568abe1461026e5780633659cfe61461028e5780633f4ba83a146102ae57600080fd5b8063248a9ca311610169578063248a9ca3146101fc5780632f2ff15d1461022c57806331c8b8171461024e57600080fd5b806301ffc9a7146101855780631a7c3f73146101ba575b600080fd5b34801561019157600080fd5b506101a56101a0366004611b18565b6104ef565b60405190151581526020015b60405180910390f35b3480156101c657600080fd5b506101ee7f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010681565b6040519081526020016101b1565b34801561020857600080fd5b506101ee610217366004611b5a565b60009081526097602052604090206001015490565b34801561023857600080fd5b5061024c610247366004611b9c565b610588565b005b34801561025a57600080fd5b506101ee610269366004611b5a565b6105b2565b34801561027a57600080fd5b5061024c610289366004611b9c565b6105df565b34801561029a57600080fd5b5061024c6102a9366004611bc8565b61067d565b3480156102ba57600080fd5b5061024c61084f565b61024c6102d1366004611c12565b610862565b3480156102e257600080fd5b506101ee610a21565b3480156102f757600080fd5b5060335460ff166101a5565b34801561030f57600080fd5b506101ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034357600080fd5b5061024c610af3565b34801561035857600080fd5b5061024c610cbb565b34801561036d57600080fd5b506103957f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b1565b3480156103b657600080fd5b506101a56103c5366004611b9c565b600091825260976020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561040957600080fd5b506101ee600081565b34801561041e57600080fd5b506101ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561045257600080fd5b506101a5610461366004611cf2565b610ced565b34801561047257600080fd5b5061024c610481366004611b9c565b610dc8565b34801561049257600080fd5b506101ee60f081565b3480156104a757600080fd5b506101ee7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b3480156104db57600080fd5b5061024c6104ea366004611cf2565b610ded565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061058257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000828152609760205260409020600101546105a381610f37565b6105ad8383610f41565b505050565b60008061012d6105c360f085611d43565b60f081106105d3576105d3611d57565b60020201549392505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461066f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6106798282611017565b5050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156107295760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610666565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661079e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146108275760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610666565b610830816110b4565b6040805160008082526020820190925261084c918391906110bf565b50565b600061085a81610f37565b61084c611299565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016141561090e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610666565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a0c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610666565b610a15826110b4565b610679828260016110bf565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ace5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610666565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600054610100900460ff1615808015610b135750600054600160ff909116105b80610b2d5750303b158015610b2d575060005460ff166001145b610b9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610666565b6000805460ff191660011790558015610bdf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610be76112f8565b610bef61137f565b610bf761137f565b610c02600033610f41565b610c2c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610f41565b610c567f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010633610f41565b801561084c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ce581610f37565b61084c6113fc565b6000610cf7611439565b6000610d237f000000000000000000000000000000000000000000000000000000000000000084611db5565b9050600061012d610d3560f084611d43565b60f08110610d4557610d45611d57565b6002020180549091508514610d86576040517f79a3cb5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810154610dbc907f00000000000000000000000000000000000000000000000000000000000000009063ffffffff16611dc9565b42101595945050505050565b600082815260976020526040902060010154610de381610f37565b6105ad8383611017565b610df5611439565b7f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a20106610e1f81610f37565b6000610e2c60f084611d43565b9050600061012d8260f08110610e4457610e44611d57565b6002020190504263ffffffff167f00000000000000000000000000000000000000000000000000000000000000008260010160009054906101000a900463ffffffff160163ffffffff161115610ec6576040517ff9381c6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8481556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000164263ffffffff1617905560405185815284907f1216b936e7a60e132d92c23737227ff7219df68ab525a98fa65f09b655f31e329060200160405180910390a25050505050565b61084c813361148c565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661067957600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684529091529020805460ff19166001179055610fb93390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561067957600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061067981610f37565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110f2576105ad8361152c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa925050508015611186575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261118391810190611de1565b60015b6111f85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610666565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461128d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610666565b506105ad83838361161c565b6112a1611647565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b600054610100900460ff166113755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b61137d611699565b565b600054610100900460ff1661137d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b611404611439565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112ce3390565b60335460ff161561137d5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610666565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610679576114cc81611722565b6114d7836020611741565b6040516020016114e8929190611e26565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b825261066691600401611ea7565b73ffffffffffffffffffffffffffffffffffffffff81163b6115b65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610666565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61162583611971565b6000825111806116325750805b156105ad5761164183836119be565b50505050565b60335460ff1661137d5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610666565b600054610100900460ff166117165760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b6033805460ff19169055565b606061058273ffffffffffffffffffffffffffffffffffffffff831660145b60606000611750836002611ef8565b61175b906002611dc9565b67ffffffffffffffff81111561177357611773611be3565b6040519080825280601f01601f19166020018201604052801561179d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106117d4576117d4611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061183757611837611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611873846002611ef8565b61187e906001611dc9565b90505b600181111561191b577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106118bf576118bf611d57565b1a60f81b8282815181106118d5576118d5611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361191481611f35565b9050611881565b50831561196a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610666565b9392505050565b61197a8161152c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061196a8383604051806060016040528060278152602001611f876027913960606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611a089190611f6a565b600060405180830381855af49150503d8060008114611a43576040519150601f19603f3d011682016040523d82523d6000602084013e611a48565b606091505b5091509150611a5986838387611a63565b9695505050505050565b60608315611adc578251611ad55773ffffffffffffffffffffffffffffffffffffffff85163b611ad55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610666565b5081611ae6565b611ae68383611aee565b949350505050565b815115611afe5781518083602001fd5b8060405162461bcd60e51b81526004016106669190611ea7565b600060208284031215611b2a57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461196a57600080fd5b600060208284031215611b6c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9757600080fd5b919050565b60008060408385031215611baf57600080fd5b82359150611bbf60208401611b73565b90509250929050565b600060208284031215611bda57600080fd5b61196a82611b73565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611c2557600080fd5b611c2e83611b73565b9150602083013567ffffffffffffffff80821115611c4b57600080fd5b818501915085601f830112611c5f57600080fd5b813581811115611c7157611c71611be3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611cb757611cb7611be3565b81604052828152886020848701011115611cd057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215611d0557600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611d5257611d52611d14565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082611dc457611dc4611d14565b500490565b60008219821115611ddc57611ddc611d86565b500190565b600060208284031215611df357600080fd5b5051919050565b60005b83811015611e15578181015183820152602001611dfd565b838111156116415750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e5e816017850160208801611dfa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e9b816028840160208801611dfa565b01602801949350505050565b6020815260008251806020840152611ec6816040850160208701611dfa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f3057611f30611d86565b500290565b600081611f4457611f44611d86565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60008251611f7c818460208701611dfa565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122099448193e09be6840463a9c1608734bca2911190433c92330bfb98936caee69164736f6c634300080900330000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000005", "factory": "FuelChainState", "initArgs": [], "isProxy": false, diff --git a/packages/solidity-contracts/hardhat.config.ts b/packages/solidity-contracts/hardhat.config.ts index 77c9efd4..4c12bdc5 100644 --- a/packages/solidity-contracts/hardhat.config.ts +++ b/packages/solidity-contracts/hardhat.config.ts @@ -38,9 +38,6 @@ const config: HardhatUserConfig = { networks: { hardhat: { accounts: { - accountsBalance: "10000000000000000000000", - mnemonic: - 'test test test test test test test test test test test junk', count: 128, }, deploy: ['deploy/hardhat'], diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 9d5e522c..5f3cf5f9 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -18,49 +18,16 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( try { console.log('--- Fetching deployed bytecode...'); - let deployedBytecode: string; if (!deployment.linkedData.isProxy) { - deployedBytecode = await hre.ethers.provider.getCode( - deployment.address - ); - } else continue; - - console.log('--- Creating local Hardhat network...'); - const localHardhat = require('hardhat'); - await localHardhat.run('compile'); - - // localHardhat.artifacts.readArtifact(deployment.linkedData.factory) - - - // localHardhat. - - - const rpcUrl = 'https://rpc.tenderly.co/fork/3fe27079-c302-4397-a43e-602cc4887dca'; // Replace with your custom RPC URL - localHardhat.ethers.provider = new localHardhat.ethers.JsonRpcProvider(rpcUrl); - - // const accounts = await hre.ethers.getSigners() - // const wallet = localHardhat.ethers.Wallet.fromPhrase('test test test test test test test test test test test junk'); - // console.log(await wallet.getBalance()) - // Create a provider and signer - // const provider = new localHardhat.ethers.JsonRpcProvider(rpcUrl); - - - let [signer] = await localHardhat.ethers.getSigners(); - - // if (process.env.CONTRACTS_DEPLOYER_KEY) signer = new localHardhat.ethers.Wallet(wallet.privateKey, provider); + console.log('--- Creating local Hardhat network...'); + const localHardhat = require('hardhat'); + await localHardhat.run('compile'); - // const balance = await signer.getBalance(); - // console.log(await (await localHardhat.ethers.provider.getBalance(wallet.address).toString())); - - - const ContractFactory = await localHardhat.ethers.getContractFactory( - deployment.linkedData.factory, signer - ); - - + const ContractFactory = await localHardhat.ethers.getContractFactory( + deployment.linkedData.factory + ); - if (!deployment.linkedData.isProxy) { console.log('--- Validating Upgrade...'); await localHardhat.upgrades.validateUpgrade( deployment.address as string, @@ -72,78 +39,58 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( ); console.log('--- Upgrade Validated...'); - } else continue; - console.log('--- Fetching local deployment bytecode...'); - let localBytecode: string; - let localAddress; - // if (!deployment.linkedData.isProxy) { - - const proxyfactory = await localHardhat.ethers.getContractFactory( - contractName, signer + console.log( + '--- Comparing expected init code with actual init code on-chain...' ); - const proxy = await localHardhat.upgrades.deployProxy(proxyfactory, [], { - initializer: 'initialize', - constructorArgs: deployment.linkedData.constructorArgs, - }); - await proxy.waitForDeployment(); + const { data: expectedInitCode } = + await ContractFactory.getDeployTransaction( + ...deployment.linkedData.constructorArgs + ); + const fetchedDeploymentTx = + await localHardhat.ethers.provider.getTransaction( + deployment.transactionHash + )!; - const contract = await localHardhat.upgrades.upgradeProxy( - deployment.address, - ContractFactory, - { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - } - ); - - console.log('--- Upgrade successful'); - await contract.waitForDeployment(); - localAddress = await contract.getAddress(); + const reciept = + await localHardhat.ethers.provider.getTransactionReceipt( + fetchedDeploymentTx?.hash + ); - localBytecode = await hre.ethers.provider.getCode( - localAddress + const tx = await hre.ethers.provider.getTransaction( + deployment.transactionHash! ); - - // new hre.ethers.JsonRpcSigner() - // // const factory = hre.ethers.getContractFactory - // // localBytecode = - // // ContractFactory.bytecode - // // localBytecode = await ( - // // await hre.artifacts.readArtifact(deployment.linkedData.factory) - // // ).deployedBytecode; - // await hre.tenderlyNetwork.setFork("https://dashboard.tenderly.co/Viraz/vir/fork/3fe27079-c302-4397-a43e-602cc4887dca"); - // await hre.tenderlyNetwork.initializeFork() - - - // } else continue; + if (expectedInitCode === tx?.data) { + console.log( + `✅ ${contractName} (${deployment.address}): Init Code verified sucessfully` + ); + } else { + console.log( + `❌ ${contractName} (${deployment.address}): Init Code mismatch` + ); + throw new Error('Init Code mismatch'); + } - console.log('--- Comparing bytecodes...'); - console.log( - '--- Deployed bytecode: ', - deployedBytecode - ); - console.log( - '--- Local bytecode: ', - localBytecode - ); - - if ( - hre.ethers.keccak256(deployedBytecode) === - hre.ethers.keccak256(localBytecode) - ) { console.log( - `✅ ${contractName} (${deployment.address}): Bytecode verified successfully` + '--- Check the new implementation deployment resulted in deploying that implementation addresss...' ); - } else { - console.log( - `❌ ${contractName} (${deployment.address}): Bytecode mismatch` - ); - throw new Error('Bytecode mismatch'); - } + + if ( + reciept?.contractAddress === deployment.linkedData.newImplementation + ) { + console.log( + `✅ ${contractName} (${deployment.address}): new implementation deployment verified` + ); + } else { + console.log( + `❌ ${contractName} (${deployment.address}): new implementation deployment verification failed` + ); + throw new Error('Init Code mismatch'); + } + } else continue; } catch (error) { console.log( `❌ ${contractName} (${deployment.address}): Verification failed` From b4056e48406c19666eb63e3bf54b8575a302537f Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 26 Sep 2024 16:20:29 +0530 Subject: [PATCH 40/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 14 +- .../upgradeTest/FuelChainState.json | 3 +- .../upgradeTest/FuelERC20GatewayV4.json | 871 +++++++++++++ .../upgradeTest/FuelMessagePortalV3.json | 1135 +++++++++++++++++ 4 files changed, 2019 insertions(+), 4 deletions(-) create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 7ff0020b..ed8a5f01 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -320,6 +320,16 @@ "address": "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", "txHash": "0x6f2745ebd7121db800c3941c1a6265d4894e1217571aea30e4a27dbb498f6cc0", "kind": "uups" + }, + { + "address": "0x68447dEe5c730A05636feC2a859CF4aad343492C", + "txHash": "0x551d62a3134c47ab4b91a957021437f5e24d0b9a1ec61501c1a13acecf5c92de", + "kind": "uups" + }, + { + "address": "0xaaeb5e81d4d2a0C211bB502B6a557BC552b8ceaE", + "txHash": "0x7baad45c2b683f3e3995edb6cee1cd560cd1a01d69deaff4c9c6a436d3f446b4", + "kind": "uups" } ], "impls": { @@ -5180,7 +5190,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8014", + "type": "t_contract(FuelMessagePortal)8355", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -5358,7 +5368,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8014": { + "t_contract(FuelMessagePortal)8355": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 3db591f8..f8a46233 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -573,14 +573,13 @@ } ], "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", - "numDeployments": 8, + "numDeployments": 12, "linkedData": { "constructorArgs": [ 5, 30, 5 ], - "actualInitCode": "0x610100604052306080523480156200001657600080fd5b5060405162002268380380620022688339810160408190526200003991620001a8565b8063ffffffff168311156200006157604051637f6a9fa960e11b815260040160405180910390fd5b6000620000708360f0620001ec565b9050808411156200009457604051631357825760e01b815260040160405180910390fd5b808263ffffffff161115620000bf57604051600162118fd960e11b0319815260040160405180910390fd5b60c084905263ffffffff821660e05260a0839052620000dd620000e7565b505050506200021a565b600054610100900460ff1615620001545760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620001a6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600080600060608486031215620001be57600080fd5b8351925060208401519150604084015163ffffffff81168114620001e157600080fd5b809150509250925092565b60008160001904831182151516156200021557634e487b7160e01b600052601160045260246000fd5b500290565b60805160a05160c05160e051611fe362000285600039600081816103730152610e530152600081816104240152610d910152600081816103150152610cfe0152600081816106950152818161072b0152818161087a015281816109100152610a3b0152611fe36000f3fe6080604052600436106101805760003560e01c8063735808b7116100d6578063a42747da1161007f578063dc801def11610059578063dc801def14610486578063e63ab1e91461049b578063e900ead8146104cf57600080fd5b8063a42747da14610412578063c890239814610446578063d547741f1461046657600080fd5b806384cbff5f116100b057806384cbff5f1461036157806391d14854146103aa578063a217fddf146103fd57600080fd5b8063735808b7146103035780638129fc1c146103375780638456cb591461034c57600080fd5b806336568abe116101385780634f1ef286116101125780634f1ef286146102c357806352d1902d146102d65780635c975abb146102eb57600080fd5b806336568abe1461026e5780633659cfe61461028e5780633f4ba83a146102ae57600080fd5b8063248a9ca311610169578063248a9ca3146101fc5780632f2ff15d1461022c57806331c8b8171461024e57600080fd5b806301ffc9a7146101855780631a7c3f73146101ba575b600080fd5b34801561019157600080fd5b506101a56101a0366004611b18565b6104ef565b60405190151581526020015b60405180910390f35b3480156101c657600080fd5b506101ee7f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010681565b6040519081526020016101b1565b34801561020857600080fd5b506101ee610217366004611b5a565b60009081526097602052604090206001015490565b34801561023857600080fd5b5061024c610247366004611b9c565b610588565b005b34801561025a57600080fd5b506101ee610269366004611b5a565b6105b2565b34801561027a57600080fd5b5061024c610289366004611b9c565b6105df565b34801561029a57600080fd5b5061024c6102a9366004611bc8565b61067d565b3480156102ba57600080fd5b5061024c61084f565b61024c6102d1366004611c12565b610862565b3480156102e257600080fd5b506101ee610a21565b3480156102f757600080fd5b5060335460ff166101a5565b34801561030f57600080fd5b506101ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034357600080fd5b5061024c610af3565b34801561035857600080fd5b5061024c610cbb565b34801561036d57600080fd5b506103957f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b1565b3480156103b657600080fd5b506101a56103c5366004611b9c565b600091825260976020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561040957600080fd5b506101ee600081565b34801561041e57600080fd5b506101ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561045257600080fd5b506101a5610461366004611cf2565b610ced565b34801561047257600080fd5b5061024c610481366004611b9c565b610dc8565b34801561049257600080fd5b506101ee60f081565b3480156104a757600080fd5b506101ee7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b3480156104db57600080fd5b5061024c6104ea366004611cf2565b610ded565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061058257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000828152609760205260409020600101546105a381610f37565b6105ad8383610f41565b505050565b60008061012d6105c360f085611d43565b60f081106105d3576105d3611d57565b60020201549392505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461066f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6106798282611017565b5050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156107295760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610666565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661079e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146108275760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610666565b610830816110b4565b6040805160008082526020820190925261084c918391906110bf565b50565b600061085a81610f37565b61084c611299565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016141561090e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610666565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a0c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610666565b610a15826110b4565b610679828260016110bf565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ace5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610666565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600054610100900460ff1615808015610b135750600054600160ff909116105b80610b2d5750303b158015610b2d575060005460ff166001145b610b9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610666565b6000805460ff191660011790558015610bdf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610be76112f8565b610bef61137f565b610bf761137f565b610c02600033610f41565b610c2c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33610f41565b610c567f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a2010633610f41565b801561084c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ce581610f37565b61084c6113fc565b6000610cf7611439565b6000610d237f000000000000000000000000000000000000000000000000000000000000000084611db5565b9050600061012d610d3560f084611d43565b60f08110610d4557610d45611d57565b6002020180549091508514610d86576040517f79a3cb5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810154610dbc907f00000000000000000000000000000000000000000000000000000000000000009063ffffffff16611dc9565b42101595945050505050565b600082815260976020526040902060010154610de381610f37565b6105ad8383611017565b610df5611439565b7f0b60b5d7f7e737e4561eecda7c6a01e19e626c495c26e6f45e5b255f76a20106610e1f81610f37565b6000610e2c60f084611d43565b9050600061012d8260f08110610e4457610e44611d57565b6002020190504263ffffffff167f00000000000000000000000000000000000000000000000000000000000000008260010160009054906101000a900463ffffffff160163ffffffff161115610ec6576040517ff9381c6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8481556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000164263ffffffff1617905560405185815284907f1216b936e7a60e132d92c23737227ff7219df68ab525a98fa65f09b655f31e329060200160405180910390a25050505050565b61084c813361148c565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661067957600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684529091529020805460ff19166001179055610fb93390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561067957600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061067981610f37565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110f2576105ad8361152c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa925050508015611186575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261118391810190611de1565b60015b6111f85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610666565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461128d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610666565b506105ad83838361161c565b6112a1611647565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b600054610100900460ff166113755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b61137d611699565b565b600054610100900460ff1661137d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b611404611439565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112ce3390565b60335460ff161561137d5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610666565b600082815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610679576114cc81611722565b6114d7836020611741565b6040516020016114e8929190611e26565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b825261066691600401611ea7565b73ffffffffffffffffffffffffffffffffffffffff81163b6115b65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610666565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61162583611971565b6000825111806116325750805b156105ad5761164183836119be565b50505050565b60335460ff1661137d5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610666565b600054610100900460ff166117165760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610666565b6033805460ff19169055565b606061058273ffffffffffffffffffffffffffffffffffffffff831660145b60606000611750836002611ef8565b61175b906002611dc9565b67ffffffffffffffff81111561177357611773611be3565b6040519080825280601f01601f19166020018201604052801561179d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106117d4576117d4611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061183757611837611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611873846002611ef8565b61187e906001611dc9565b90505b600181111561191b577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106118bf576118bf611d57565b1a60f81b8282815181106118d5576118d5611d57565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361191481611f35565b9050611881565b50831561196a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610666565b9392505050565b61197a8161152c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061196a8383604051806060016040528060278152602001611f876027913960606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611a089190611f6a565b600060405180830381855af49150503d8060008114611a43576040519150601f19603f3d011682016040523d82523d6000602084013e611a48565b606091505b5091509150611a5986838387611a63565b9695505050505050565b60608315611adc578251611ad55773ffffffffffffffffffffffffffffffffffffffff85163b611ad55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610666565b5081611ae6565b611ae68383611aee565b949350505050565b815115611afe5781518083602001fd5b8060405162461bcd60e51b81526004016106669190611ea7565b600060208284031215611b2a57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461196a57600080fd5b600060208284031215611b6c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9757600080fd5b919050565b60008060408385031215611baf57600080fd5b82359150611bbf60208401611b73565b90509250929050565b600060208284031215611bda57600080fd5b61196a82611b73565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611c2557600080fd5b611c2e83611b73565b9150602083013567ffffffffffffffff80821115611c4b57600080fd5b818501915085601f830112611c5f57600080fd5b813581811115611c7157611c71611be3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611cb757611cb7611be3565b81604052828152886020848701011115611cd057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215611d0557600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611d5257611d52611d14565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082611dc457611dc4611d14565b500490565b60008219821115611ddc57611ddc611d86565b500190565b600060208284031215611df357600080fd5b5051919050565b60005b83811015611e15578181015183820152602001611dfd565b838111156116415750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e5e816017850160208801611dfa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e9b816028840160208801611dfa565b01602801949350505050565b6020815260008251806020840152611ec6816040850160208701611dfa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f3057611f30611d86565b500290565b600081611f4457611f44611d86565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60008251611f7c818460208701611dfa565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122099448193e09be6840463a9c1608734bca2911190433c92330bfb98936caee69164736f6c634300080900330000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000005", "factory": "FuelChainState", "initArgs": [], "isProxy": false, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json new file mode 100644 index 00000000..ddd00e5f --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -0,0 +1,871 @@ +{ + "address": "0xaaeb5e81d4d2a0C211bB502B6a557BC552b8ceaE", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BridgeFull", + "type": "error" + }, + { + "inputs": [], + "name": "CallerIsNotPortal", + "type": "error" + }, + { + "inputs": [], + "name": "CannotDepositZero", + "type": "error" + }, + { + "inputs": [], + "name": "CannotWithdrawZero", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAmount", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAssetIssuerID", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageSender", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSender", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RateLimitUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetIssuerId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "depositLimits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "depositWithData", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "l2BurntAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "finalizeWithdrawal", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "fuelMessagePortal", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelMessagePortal", + "name": "fuelMessagePortal", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "requireWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rescueETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "sendMetadata", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "setAssetIssuerId", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "limit", + "type": "uint256" + } + ], + "name": "setGlobalDepositLimit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "tokensDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "whitelistRequired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "transactionHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", + "numDeployments": 2, + "linkedData": { + "factory": "FuelERC20GatewayV4", + "constructorArgs": [], + "initArgs": [ + "0x68447dEe5c730A05636feC2a859CF4aad343492C" + ], + "isProxy": false, + "newImplementation": "0x90cB311F9871490C160d50380f68801ed9146310" + }, + "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" +} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json new file mode 100644 index 00000000..6f4e010b --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -0,0 +1,1135 @@ +{ + "address": "0x68447dEe5c730A05636feC2a859CF4aad343492C", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_depositLimitGlobal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AlreadyRelayed", + "type": "error" + }, + { + "inputs": [], + "name": "AmountPrecisionIncompatibility", + "type": "error" + }, + { + "inputs": [], + "name": "AmountTooBig", + "type": "error" + }, + { + "inputs": [], + "name": "CurrentMessageSenderNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidBlockInHistoryProof", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageInBlockProof", + "type": "error" + }, + { + "inputs": [], + "name": "MessageBlacklisted", + "type": "error" + }, + { + "inputs": [], + "name": "MessageDataTooLarge", + "type": "error" + }, + { + "inputs": [], + "name": "MessageRelayFailed", + "type": "error" + }, + { + "inputs": [], + "name": "NotSupported", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "UnfinalizedBlock", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalsPaused", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldValue", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newValue", + "type": "address" + } + ], + "name": "FuelChainStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + } + ], + "name": "MessageRelayed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "MessageSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ResetRateLimit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ETH_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_BASE_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_MESSAGE_DATA_SIZE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "addMessageToBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + } + ], + "name": "depositETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositLimitGlobal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fuelBaseAssetDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "fuelChainStateContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextOutgoingMessageNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "incomingMessageSuccessful", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "fuelChainState", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "initializerV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "messageIsBlacklisted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "reinitializeV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Message", + "name": "message", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "applicationHash", + "type": "bytes32" + } + ], + "internalType": "struct FuelBlockHeaderLite", + "name": "rootBlockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "daHeight", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "outputMessagesCount", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "consensusParametersVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "stateTransitionBytecodeVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "bytes32", + "name": "txRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "outputMessagesRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "eventInboxRoot", + "type": "bytes32" + }, + { + "internalType": "uint16", + "name": "txCount", + "type": "uint16" + } + ], + "internalType": "struct FuelBlockHeader", + "name": "blockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "blockInHistoryProof", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "messageInBlockProof", + "type": "tuple" + } + ], + "name": "relayMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "removeMessageFromBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newFuelChainState", + "type": "address" + } + ], + "name": "setFuelChainState", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalsPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "transactionHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", + "numDeployments": 2, + "linkedData": { + "factory": "FuelMessagePortalV3", + "constructorArgs": [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + 604800 + ], + "initArgs": [ + "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", + "10000000000000000000" + ], + "isProxy": false, + "newImplementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" + }, + "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" +} \ No newline at end of file From 56b08efbed5247f04978a44bc3592b917362fd44 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 26 Sep 2024 16:21:11 +0530 Subject: [PATCH 41/84] chore: upgrade prepare upgrade scripts --- .../upgradeTest/prepareUpgrade.chain_state.ts | 2 +- .../prepareUpgrade.erc20_gateway_v4.ts | 21 +++++++++++-------- .../prepareUpgrade.fuel_message_portal_v3.ts | 21 +++++++++++-------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 2b2e7b36..6563fdc1 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -2,7 +2,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelChainState__factory as FuelChainState } from '../../typechain'; -import { TransactionResponse, getCreateAddress } from 'ethers'; +import { TransactionResponse } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts index c1d26102..58bc6d39 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -2,6 +2,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelERC20GatewayV4__factory as FuelERC20Gateway } from '../../typechain'; +import { TransactionResponse } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { @@ -11,27 +12,29 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const contractDeployment = await hre.deployments.get('FuelERC20GatewayV4'); - const contract = await hre.ethers.getContractFactory('FuelERC20GatewayV4'); + const factory = await hre.ethers.getContractFactory('FuelERC20GatewayV4'); - const implementationAddress = await prepareUpgrade( - contractDeployment.address, - contract, - { - kind: 'uups', - constructorArgs: contractDeployment.linkedData.constructorArgs, - } + const response = (await prepareUpgrade(contractDeployment.address, factory, { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + getTxResponse: true, + })) as TransactionResponse; + + const receipt = await hre.ethers.provider.getTransactionReceipt( + response.hash ); await save('FuelERC20GatewayV4', { address: contractDeployment.address, abi: [...FuelERC20Gateway.abi], implementation: contractDeployment.implementation, + transactionHash: response.hash, linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - newImplementation: implementationAddress.toString(), + newImplementation: receipt?.contractAddress, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts index 2291bbe0..51406f21 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -2,6 +2,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; import { FuelMessagePortalV3__factory as FuelMessagePortal } from '../../typechain'; +import { TransactionResponse } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { @@ -11,27 +12,29 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const contractDeployment = await hre.deployments.get('FuelMessagePortalV3'); - const contract = await hre.ethers.getContractFactory('FuelMessagePortalV3'); + const factory = await hre.ethers.getContractFactory('FuelMessagePortalV3'); - const implementationAddress = await prepareUpgrade( - contractDeployment.address, - contract, - { - kind: 'uups', - constructorArgs: contractDeployment.linkedData.constructorArgs, - } + const response = (await prepareUpgrade(contractDeployment.address, factory, { + kind: 'uups', + constructorArgs: contractDeployment.linkedData.constructorArgs, + getTxResponse: true, + })) as TransactionResponse; + + const receipt = await hre.ethers.provider.getTransactionReceipt( + response.hash ); await save('FuelMessagePortalV3', { address: contractDeployment.address, abi: [...FuelMessagePortal.abi], implementation: contractDeployment.implementation, + transactionHash: response.hash, linkedData: { factory: 'FuelMessagePortalV3', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, isProxy: false, - newImplementation: implementationAddress.toString(), + newImplementation: receipt?.contractAddress, }, }); }; From 0ee6323a8521abe5c363c6aa556094ad53eca31d Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 26 Sep 2024 22:45:39 +0530 Subject: [PATCH 42/84] chore: test ci fails for non-legit upgrades --- .../upgradeTest/prepareUpgrade.chain_state.ts | 2 +- .../upgradeTest/FuelChainState.json | 4 +- .../scripts/hardhat/verifyDeployment.ts | 123 +++++++++--------- 3 files changed, 61 insertions(+), 68 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 6563fdc1..1d47d522 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -31,7 +31,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { transactionHash: response.hash, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, - factory: 'FuelChainState', + factory: 'FuelERC20GatewayV4', initArgs: contractDeployment.linkedData.initArgs, isProxy: false, newImplementation: receipt?.contractAddress, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index f8a46233..007f2ff7 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -573,14 +573,14 @@ } ], "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", - "numDeployments": 12, + "numDeployments": 13, "linkedData": { "constructorArgs": [ 5, 30, 5 ], - "factory": "FuelChainState", + "factory": "FuelERC20GatewayV4", "initArgs": [], "isProxy": false, "newImplementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 5f3cf5f9..c3d8c5dc 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -16,87 +16,80 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); - try { - console.log('--- Fetching deployed bytecode...'); + console.log('--- Fetching deployed bytecode...'); - if (!deployment.linkedData.isProxy) { - console.log('--- Creating local Hardhat network...'); - const localHardhat = require('hardhat'); - await localHardhat.run('compile'); + if (!deployment.linkedData.isProxy) { + console.log('--- Creating local Hardhat network...'); + const localHardhat = require('hardhat'); + await localHardhat.run('compile'); - const ContractFactory = await localHardhat.ethers.getContractFactory( - deployment.linkedData.factory - ); + const ContractFactory = await localHardhat.ethers.getContractFactory( + deployment.linkedData.factory + ); - console.log('--- Validating Upgrade...'); - await localHardhat.upgrades.validateUpgrade( - deployment.address as string, - ContractFactory, - { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - } - ); + console.log('--- Validating Upgrade...'); + await localHardhat.upgrades.validateUpgrade( + deployment.address as string, + ContractFactory, + { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + } + ); - console.log('--- Upgrade Validated...'); + console.log('--- Upgrade Validated...'); - console.log( - '--- Comparing expected init code with actual init code on-chain...' - ); - - const { data: expectedInitCode } = - await ContractFactory.getDeployTransaction( - ...deployment.linkedData.constructorArgs - ); + console.log( + '--- Comparing expected init code with actual init code on-chain...' + ); - const fetchedDeploymentTx = - await localHardhat.ethers.provider.getTransaction( - deployment.transactionHash - )!; + const { data: expectedInitCode } = + await ContractFactory.getDeployTransaction( + ...deployment.linkedData.constructorArgs + ); - const reciept = - await localHardhat.ethers.provider.getTransactionReceipt( - fetchedDeploymentTx?.hash - ); + const fetchedDeploymentTx = + await localHardhat.ethers.provider.getTransaction( + deployment.transactionHash + )!; - const tx = await hre.ethers.provider.getTransaction( - deployment.transactionHash! + const reciept = + await localHardhat.ethers.provider.getTransactionReceipt( + fetchedDeploymentTx?.hash ); - if (expectedInitCode === tx?.data) { - console.log( - `✅ ${contractName} (${deployment.address}): Init Code verified sucessfully` - ); - } else { - console.log( - `❌ ${contractName} (${deployment.address}): Init Code mismatch` - ); - throw new Error('Init Code mismatch'); - } + const tx = await hre.ethers.provider.getTransaction( + deployment.transactionHash! + ); + if (expectedInitCode === tx?.data) { console.log( - '--- Check the new implementation deployment resulted in deploying that implementation addresss...' + `✅ ${contractName} (${deployment.address}): Init Code verified sucessfully` ); + } else { + console.log( + `❌ ${contractName} (${deployment.address}): Init Code mismatch` + ); + throw new Error('Init Code mismatch'); + } - if ( - reciept?.contractAddress === deployment.linkedData.newImplementation - ) { - console.log( - `✅ ${contractName} (${deployment.address}): new implementation deployment verified` - ); - } else { - console.log( - `❌ ${contractName} (${deployment.address}): new implementation deployment verification failed` - ); - throw new Error('Init Code mismatch'); - } - } else continue; - } catch (error) { console.log( - `❌ ${contractName} (${deployment.address}): Verification failed` + '--- Check the new implementation deployment resulted in deploying that implementation addresss...' ); - console.error(` Error: ${error.message}`); - } + + if ( + reciept?.contractAddress === deployment.linkedData.newImplementation + ) { + console.log( + `✅ ${contractName} (${deployment.address}): new implementation deployment verified` + ); + } else { + console.log( + `❌ ${contractName} (${deployment.address}): new implementation deployment verification failed` + ); + throw new Error('Init Code mismatch'); + } + } else continue; } } ); From 66dafd0c5b2db410c55103f974d6d0bcef650b08 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Thu, 26 Sep 2024 22:48:15 +0530 Subject: [PATCH 43/84] chore: revert previous changes --- packages/solidity-contracts/.openzeppelin/sepolia.json | 4 ++-- .../deploy/upgradeTest/prepareUpgrade.chain_state.ts | 2 +- .../deployments/upgradeTest/FuelChainState.json | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index ed8a5f01..b91009fd 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -5190,7 +5190,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8355", + "type": "t_contract(FuelMessagePortal)8014", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -5368,7 +5368,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8355": { + "t_contract(FuelMessagePortal)8014": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 1d47d522..6563fdc1 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -31,7 +31,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { transactionHash: response.hash, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, - factory: 'FuelERC20GatewayV4', + factory: 'FuelChainState', initArgs: contractDeployment.linkedData.initArgs, isProxy: false, newImplementation: receipt?.contractAddress, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 007f2ff7..4720e9c9 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -573,14 +573,14 @@ } ], "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", - "numDeployments": 13, + "numDeployments": 14, "linkedData": { "constructorArgs": [ 5, 30, 5 ], - "factory": "FuelERC20GatewayV4", + "factory": "FuelChainState", "initArgs": [], "isProxy": false, "newImplementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" From 1e2c2993bcb6775be1222180c12e712bd11c986c Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 12:39:18 +0530 Subject: [PATCH 44/84] chore: update artifacts --- .../solidity-contracts/.openzeppelin/sepolia.json | 15 +++++++++++++++ .../deployments/upgradeTest/FuelChainState.json | 8 +++----- .../upgradeTest/FuelERC20GatewayV4.json | 8 +++----- .../upgradeTest/FuelMessagePortalV3.json | 8 +++----- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index b91009fd..8638a9e6 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -330,6 +330,21 @@ "address": "0xaaeb5e81d4d2a0C211bB502B6a557BC552b8ceaE", "txHash": "0x7baad45c2b683f3e3995edb6cee1cd560cd1a01d69deaff4c9c6a436d3f446b4", "kind": "uups" + }, + { + "address": "0xEAC528d035A76D97b260A92b7e235f44827E3505", + "txHash": "0x7b6ccb7953f4d8647375d969ca26bb51f69adfb9593bb6d1dda62f4099f30f88", + "kind": "uups" + }, + { + "address": "0x4b120AA46550e2ed8960A1056984b9611c127e46", + "txHash": "0xe99ae8c239bfd37db3c30c42cc83c5d9019a294d79274f9689a6b273b35b7041", + "kind": "uups" + }, + { + "address": "0x6ec3E0078442eB1a634E850B084dD9b04a242BFd", + "txHash": "0x13d01c1dbe0ff0f71d5da16df257723e12c9b94a8fe0ef8add111ad12fa991eb", + "kind": "uups" } ], "impls": { diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 4720e9c9..eaf1ef4b 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", + "address": "0xEAC528d035A76D97b260A92b7e235f44827E3505", "abi": [ { "inputs": [ @@ -573,7 +573,7 @@ } ], "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", - "numDeployments": 14, + "numDeployments": 2, "linkedData": { "constructorArgs": [ 5, @@ -581,9 +581,7 @@ 5 ], "factory": "FuelChainState", - "initArgs": [], - "isProxy": false, - "newImplementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" + "initArgs": [] }, "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index ddd00e5f..a5168120 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0xaaeb5e81d4d2a0C211bB502B6a557BC552b8ceaE", + "address": "0x6ec3E0078442eB1a634E850B084dD9b04a242BFd", "abi": [ { "inputs": [], @@ -862,10 +862,8 @@ "factory": "FuelERC20GatewayV4", "constructorArgs": [], "initArgs": [ - "0x68447dEe5c730A05636feC2a859CF4aad343492C" - ], - "isProxy": false, - "newImplementation": "0x90cB311F9871490C160d50380f68801ed9146310" + "0x4b120AA46550e2ed8960A1056984b9611c127e46" + ] }, "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 6f4e010b..c0cbd30d 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x68447dEe5c730A05636feC2a859CF4aad343492C", + "address": "0x4b120AA46550e2ed8960A1056984b9611c127e46", "abi": [ { "inputs": [ @@ -1125,11 +1125,9 @@ 604800 ], "initArgs": [ - "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", + "0xEAC528d035A76D97b260A92b7e235f44827E3505", "10000000000000000000" - ], - "isProxy": false, - "newImplementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" + ] }, "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" } \ No newline at end of file From ef9d4b68772ad0a17af556de1bb96498d0915d7d Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 12:39:57 +0530 Subject: [PATCH 45/84] chore: cleanup deployment scripts --- .../solidity-contracts/deploy/upgradeTest/001.chain_state.ts | 1 - .../deploy/upgradeTest/002.fuel_message_portal_v3.ts | 1 - .../deploy/upgradeTest/003.erc20_gateway_v4.ts | 1 - 3 files changed, 3 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index b06a24f9..d414d556 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -39,7 +39,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { constructorArgs, factory: 'FuelChainState', initArgs: [], - isProxy: true, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 0701515f..801a0b0f 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -44,7 +44,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { factory: 'FuelMessagePortalV3', constructorArgs, initArgs, - isProxy: true, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index dfdc8859..b6ef4d74 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -32,7 +32,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { factory: 'FuelERC20GatewayV4', constructorArgs: [], initArgs, - isProxy: true, }, }); }; From 063ef285b56f629bbe290cbebcca67cb5552f3e3 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 12:41:59 +0530 Subject: [PATCH 46/84] chore: cleanup prepare upgrade scripts --- .../deploy/upgradeTest/prepareUpgrade.chain_state.ts | 9 +++++---- .../upgradeTest/prepareUpgrade.erc20_gateway_v4.ts | 4 +--- .../upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts | 4 +--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 6563fdc1..08e96e1a 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -1,7 +1,10 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; -import { FuelChainState__factory as FuelChainState } from '../../typechain'; +import { + FuelChainState__factory as FuelChainState, + UpgradeableTester__factory, +} from '../../typechain'; import { TransactionResponse } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { @@ -27,14 +30,12 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { await save('FuelChainState', { address: contractDeployment.address, abi: [...FuelChainState.abi], - implementation: contractDeployment.implementation, + implementation: receipt?.contractAddress!, transactionHash: response.hash, linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, factory: 'FuelChainState', initArgs: contractDeployment.linkedData.initArgs, - isProxy: false, - newImplementation: receipt?.contractAddress, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts index 58bc6d39..242d7f77 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -27,14 +27,12 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { await save('FuelERC20GatewayV4', { address: contractDeployment.address, abi: [...FuelERC20Gateway.abi], - implementation: contractDeployment.implementation, + implementation: receipt?.contractAddress!, transactionHash: response.hash, linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, - isProxy: false, - newImplementation: receipt?.contractAddress, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts index 51406f21..0c574050 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -27,14 +27,12 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { await save('FuelMessagePortalV3', { address: contractDeployment.address, abi: [...FuelMessagePortal.abi], - implementation: contractDeployment.implementation, + implementation: receipt?.contractAddress!, transactionHash: response.hash, linkedData: { factory: 'FuelMessagePortalV3', constructorArgs: contractDeployment.linkedData.constructorArgs, initArgs: contractDeployment.linkedData.initArgs, - isProxy: false, - newImplementation: receipt?.contractAddress, }, }); }; From fc3ea3d773f0d61fbc9c5bb2dac944d87d94a848 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 12:42:45 +0530 Subject: [PATCH 47/84] refactor: cleanup verification script --- .../scripts/hardhat/verifyDeployment.ts | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index c3d8c5dc..73ccfaa1 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -7,6 +7,9 @@ dotEnvConfig(); task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { const network = hre.network.name; + + const { ethers, upgrades } = hre; + console.log( `Verifying contract bytecode on ${network}:${hre.network.config.chainId}...` ); @@ -18,17 +21,21 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( console.log('--- Fetching deployed bytecode...'); - if (!deployment.linkedData.isProxy) { - console.log('--- Creating local Hardhat network...'); - const localHardhat = require('hardhat'); - await localHardhat.run('compile'); + const implementation = await upgrades.erc1967.getImplementationAddress( + deployment.address + ); - const ContractFactory = await localHardhat.ethers.getContractFactory( + // makes sure that the deployment data is consistent & the verification checks are only ran when prepare upgrade script has been executed + if ( + implementation == deployment.implementation && + deployment.transactionHash + ) { + const ContractFactory = await ethers.getContractFactory( deployment.linkedData.factory ); - console.log('--- Validating Upgrade...'); - await localHardhat.upgrades.validateUpgrade( + console.log(`--- Validating the upgrade to ${implementation}...`); + await upgrades.validateUpgrade( deployment.address as string, ContractFactory, { @@ -48,15 +55,13 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( ...deployment.linkedData.constructorArgs ); - const fetchedDeploymentTx = - await localHardhat.ethers.provider.getTransaction( - deployment.transactionHash - )!; + const fetchedDeploymentTx = await ethers.provider.getTransaction( + deployment.transactionHash + )!; - const reciept = - await localHardhat.ethers.provider.getTransactionReceipt( - fetchedDeploymentTx?.hash - ); + const reciept = await ethers.provider.getTransactionReceipt( + fetchedDeploymentTx?.hash + ); const tx = await hre.ethers.provider.getTransaction( deployment.transactionHash! @@ -77,9 +82,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( '--- Check the new implementation deployment resulted in deploying that implementation addresss...' ); - if ( - reciept?.contractAddress === deployment.linkedData.newImplementation - ) { + if (reciept?.contractAddress === implementation) { console.log( `✅ ${contractName} (${deployment.address}): new implementation deployment verified` ); From 615a40f973b91bba5b9ad91e49808e41763ef7d1 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 13:21:08 +0530 Subject: [PATCH 48/84] chore: re-generate artifacts --- .../.openzeppelin/sepolia.json | 5 + .../upgradeTest/FuelChainState.json | 2 +- .../upgradeTest/FuelERC20GatewayV4.json | 869 ------------- .../upgradeTest/FuelMessagePortalV3.json | 1133 ----------------- .../scripts/hardhat/verifyDeployment.ts | 2 - 5 files changed, 6 insertions(+), 2005 deletions(-) delete mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json delete mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 8638a9e6..8c85fdae 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -345,6 +345,11 @@ "address": "0x6ec3E0078442eB1a634E850B084dD9b04a242BFd", "txHash": "0x13d01c1dbe0ff0f71d5da16df257723e12c9b94a8fe0ef8add111ad12fa991eb", "kind": "uups" + }, + { + "address": "0x98475860CA72D27317323F5bde6faFB2142C597A", + "txHash": "0x924f1848ca10f49ce524eb8f92f0c2c50a396c4193b075d5dc6ae8d49b18ecb8", + "kind": "uups" } ], "impls": { diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index eaf1ef4b..6ba26994 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xEAC528d035A76D97b260A92b7e235f44827E3505", + "address": "0x98475860CA72D27317323F5bde6faFB2142C597A", "abi": [ { "inputs": [ diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json deleted file mode 100644 index a5168120..00000000 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "address": "0x6ec3E0078442eB1a634E850B084dD9b04a242BFd", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "BridgeFull", - "type": "error" - }, - { - "inputs": [], - "name": "CallerIsNotPortal", - "type": "error" - }, - { - "inputs": [], - "name": "CannotDepositZero", - "type": "error" - }, - { - "inputs": [], - "name": "CannotWithdrawZero", - "type": "error" - }, - { - "inputs": [], - "name": "GlobalDepositLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAssetIssuerID", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMessageSender", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSender", - "type": "error" - }, - { - "inputs": [], - "name": "RateLimitExceeded", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RateLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FUEL_ASSET_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PAUSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SET_RATE_LIMITER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "assetIssuerId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "currentPeriodAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "currentPeriodEnd", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "to", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "depositLimits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "to", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "depositWithData", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "l2BurntAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "finalizeWithdrawal", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "fuelMessagePortal", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelMessagePortal", - "name": "fuelMessagePortal", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "limitAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rateLimitDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "requireWhitelist", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rescueETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateLimitDuration", - "type": "uint256" - } - ], - "name": "resetRateLimitAmount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "sendMetadata", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "setAssetIssuerId", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "setGlobalDepositLimit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "tokensDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "whitelistRequired", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "transactionHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", - "numDeployments": 2, - "linkedData": { - "factory": "FuelERC20GatewayV4", - "constructorArgs": [], - "initArgs": [ - "0x4b120AA46550e2ed8960A1056984b9611c127e46" - ] - }, - "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" -} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json deleted file mode 100644 index c0cbd30d..00000000 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ /dev/null @@ -1,1133 +0,0 @@ -{ - "address": "0x4b120AA46550e2ed8960A1056984b9611c127e46", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_depositLimitGlobal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateLimitDuration", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AlreadyRelayed", - "type": "error" - }, - { - "inputs": [], - "name": "AmountPrecisionIncompatibility", - "type": "error" - }, - { - "inputs": [], - "name": "AmountTooBig", - "type": "error" - }, - { - "inputs": [], - "name": "CurrentMessageSenderNotSet", - "type": "error" - }, - { - "inputs": [], - "name": "GlobalDepositLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidBlockInHistoryProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMessageInBlockProof", - "type": "error" - }, - { - "inputs": [], - "name": "MessageBlacklisted", - "type": "error" - }, - { - "inputs": [], - "name": "MessageDataTooLarge", - "type": "error" - }, - { - "inputs": [], - "name": "MessageRelayFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotSupported", - "type": "error" - }, - { - "inputs": [], - "name": "RateLimitExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "UnfinalizedBlock", - "type": "error" - }, - { - "inputs": [], - "name": "WithdrawalsPaused", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "oldValue", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newValue", - "type": "address" - } - ], - "name": "FuelChainStateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "name": "MessageRelayed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "amount", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "MessageSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ResetRateLimit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETH_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FUEL_BASE_ASSET_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_MESSAGE_DATA_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PAUSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SET_RATE_LIMITER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "addMessageToBlacklist", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "currentPeriodAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentPeriodEnd", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - } - ], - "name": "depositETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositLimitGlobal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fuelBaseAssetDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "fuelChainStateContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNextOutgoingMessageNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "incomingMessageSuccessful", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelChainState", - "name": "", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract FuelChainState", - "name": "fuelChainState", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_limitAmount", - "type": "uint256" - } - ], - "name": "initializerV3", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "limitAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "messageIsBlacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "messageSender", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pauseWithdrawals", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rateLimitDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_limitAmount", - "type": "uint256" - } - ], - "name": "reinitializeV3", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "sender", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Message", - "name": "message", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "prevRoot", - "type": "bytes32" - }, - { - "internalType": "uint32", - "name": "height", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "applicationHash", - "type": "bytes32" - } - ], - "internalType": "struct FuelBlockHeaderLite", - "name": "rootBlockHeader", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "prevRoot", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "daHeight", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "outputMessagesCount", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "consensusParametersVersion", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "stateTransitionBytecodeVersion", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "height", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "txRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "outputMessagesRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "eventInboxRoot", - "type": "bytes32" - }, - { - "internalType": "uint16", - "name": "txCount", - "type": "uint16" - } - ], - "internalType": "struct FuelBlockHeader", - "name": "blockHeader", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct MerkleProof", - "name": "blockInHistoryProof", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct MerkleProof", - "name": "messageInBlockProof", - "type": "tuple" - } - ], - "name": "relayMessage", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageId", - "type": "bytes32" - } - ], - "name": "removeMessageFromBlacklist", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "resetRateLimitAmount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "recipient", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "sendMessage", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newFuelChainState", - "type": "address" - } - ], - "name": "setFuelChainState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unpauseWithdrawals", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalsPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "transactionHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", - "numDeployments": 2, - "linkedData": { - "factory": "FuelMessagePortalV3", - "constructorArgs": [ - "115792089237316195423570985008687907853269984665640564039457584007913129639935", - 604800 - ], - "initArgs": [ - "0xEAC528d035A76D97b260A92b7e235f44827E3505", - "10000000000000000000" - ] - }, - "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" -} \ No newline at end of file diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 73ccfaa1..da81a6a5 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -19,8 +19,6 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); - console.log('--- Fetching deployed bytecode...'); - const implementation = await upgrades.erc1967.getImplementationAddress( deployment.address ); From b059a1d5deda39b6147664e904529fb2f5d5bcc7 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 13:24:03 +0530 Subject: [PATCH 49/84] chore: add compilation in ci --- .github/workflows/verify-upgrade.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index d49f8ae1..129363c9 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -33,6 +33,5 @@ jobs: # Remove the deploy/ prefix BRANCH_NAME=${BRANCH_NAME#deploy/} - - npx hardhat verify-deployment --network $BRANCH_NAME + npx hardhat compile && npx hardhat verify-deployment --network $BRANCH_NAME working-directory: ./packages/solidity-contracts From a41d8a3fc7b117fca3cc7404211fb65b04e120ed Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 13:28:08 +0530 Subject: [PATCH 50/84] chore: add remaining artifacts --- .../.openzeppelin/sepolia.json | 10 + .../upgradeTest/FuelERC20GatewayV4.json | 869 +++++++++++++ .../upgradeTest/FuelMessagePortalV3.json | 1133 +++++++++++++++++ 3 files changed, 2012 insertions(+) create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json create mode 100644 packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 8c85fdae..925320d0 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -350,6 +350,16 @@ "address": "0x98475860CA72D27317323F5bde6faFB2142C597A", "txHash": "0x924f1848ca10f49ce524eb8f92f0c2c50a396c4193b075d5dc6ae8d49b18ecb8", "kind": "uups" + }, + { + "address": "0x0355189c97Bd1f76925006f3C9166Ae72596450E", + "txHash": "0xd7e61f72f73f5ccde729760e88eba938ec791ee318b511bdfba4527d8da9c394", + "kind": "uups" + }, + { + "address": "0xde82f4eBaaC22CE3Af62E45b7e518C1ba6bFCB87", + "txHash": "0xf60db98dc971ca137583fab4a72e91536c39d10c95e1f84bae302bba5579dde4", + "kind": "uups" } ], "impls": { diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json new file mode 100644 index 00000000..8e21c7a0 --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -0,0 +1,869 @@ +{ + "address": "0xde82f4eBaaC22CE3Af62E45b7e518C1ba6bFCB87", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BridgeFull", + "type": "error" + }, + { + "inputs": [], + "name": "CallerIsNotPortal", + "type": "error" + }, + { + "inputs": [], + "name": "CannotDepositZero", + "type": "error" + }, + { + "inputs": [], + "name": "CannotWithdrawZero", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAmount", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAssetIssuerID", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageSender", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSender", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RateLimitUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetIssuerId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "depositLimits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "to", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "depositWithData", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "l2BurntAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "finalizeWithdrawal", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "fuelMessagePortal", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelMessagePortal", + "name": "fuelMessagePortal", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "requireWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rescueETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "sendMetadata", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "setAssetIssuerId", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "limit", + "type": "uint256" + } + ], + "name": "setGlobalDepositLimit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "tokensDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "whitelistRequired", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "transactionHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", + "numDeployments": 2, + "linkedData": { + "factory": "FuelERC20GatewayV4", + "constructorArgs": [], + "initArgs": [ + "0x0355189c97Bd1f76925006f3C9166Ae72596450E" + ] + }, + "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" +} \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json new file mode 100644 index 00000000..2537321d --- /dev/null +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -0,0 +1,1133 @@ +{ + "address": "0x0355189c97Bd1f76925006f3C9166Ae72596450E", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_depositLimitGlobal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_rateLimitDuration", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AlreadyRelayed", + "type": "error" + }, + { + "inputs": [], + "name": "AmountPrecisionIncompatibility", + "type": "error" + }, + { + "inputs": [], + "name": "AmountTooBig", + "type": "error" + }, + { + "inputs": [], + "name": "CurrentMessageSenderNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "GlobalDepositLimit", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidBlockInHistoryProof", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMessageInBlockProof", + "type": "error" + }, + { + "inputs": [], + "name": "MessageBlacklisted", + "type": "error" + }, + { + "inputs": [], + "name": "MessageDataTooLarge", + "type": "error" + }, + { + "inputs": [], + "name": "MessageRelayFailed", + "type": "error" + }, + { + "inputs": [], + "name": "NotSupported", + "type": "error" + }, + { + "inputs": [], + "name": "RateLimitExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "UnfinalizedBlock", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalsPaused", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldValue", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newValue", + "type": "address" + } + ], + "name": "FuelChainStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + } + ], + "name": "MessageRelayed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "MessageSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ResetRateLimit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ETH_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FUEL_BASE_ASSET_DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_MESSAGE_DATA_SIZE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SET_RATE_LIMITER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "addMessageToBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentPeriodEnd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + } + ], + "name": "depositETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositLimitGlobal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fuelBaseAssetDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "fuelChainStateContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextOutgoingMessageNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "incomingMessageSuccessful", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract FuelChainState", + "name": "fuelChainState", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "initializerV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "limitAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "messageIsBlacklisted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rateLimitDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_limitAmount", + "type": "uint256" + } + ], + "name": "reinitializeV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "sender", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "amount", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Message", + "name": "message", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "applicationHash", + "type": "bytes32" + } + ], + "internalType": "struct FuelBlockHeaderLite", + "name": "rootBlockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "prevRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "daHeight", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "outputMessagesCount", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "consensusParametersVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "stateTransitionBytecodeVersion", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "height", + "type": "uint32" + }, + { + "internalType": "bytes32", + "name": "txRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "outputMessagesRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "eventInboxRoot", + "type": "bytes32" + }, + { + "internalType": "uint16", + "name": "txCount", + "type": "uint16" + } + ], + "internalType": "struct FuelBlockHeader", + "name": "blockHeader", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "blockInHistoryProof", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "key", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct MerkleProof", + "name": "messageInBlockProof", + "type": "tuple" + } + ], + "name": "relayMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + } + ], + "name": "removeMessageFromBlacklist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "resetRateLimitAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendMessage", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newFuelChainState", + "type": "address" + } + ], + "name": "setFuelChainState", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalDeposited", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseWithdrawals", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalsPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "transactionHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", + "numDeployments": 2, + "linkedData": { + "factory": "FuelMessagePortalV3", + "constructorArgs": [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + 604800 + ], + "initArgs": [ + "0x98475860CA72D27317323F5bde6faFB2142C597A", + "10000000000000000000" + ] + }, + "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" +} \ No newline at end of file From 262dd56edd2e4faa79167eb23567e60a1f839f68 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 17:44:45 +0530 Subject: [PATCH 51/84] chore: remove init args from the deploy scripts --- .../solidity-contracts/deploy/upgradeTest/001.chain_state.ts | 1 - .../deploy/upgradeTest/002.fuel_message_portal_v3.ts | 1 - .../deploy/upgradeTest/003.erc20_gateway_v4.ts | 1 - 3 files changed, 3 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts index d414d556..edf63f47 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/001.chain_state.ts @@ -38,7 +38,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { constructorArgs, factory: 'FuelChainState', - initArgs: [], }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts index 801a0b0f..7ae72883 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/002.fuel_message_portal_v3.ts @@ -43,7 +43,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelMessagePortalV3', constructorArgs, - initArgs, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts index b6ef4d74..c7b230fc 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/003.erc20_gateway_v4.ts @@ -31,7 +31,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: [], - initArgs, }, }); }; From f3ff3052845fcf352c3672243f6559de1d8f4f6f Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 22:22:50 +0530 Subject: [PATCH 52/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 658 +++++++++++++++++- .../upgradeTest/FuelChainState.json | 9 +- .../upgradeTest/FuelERC20GatewayV4.json | 11 +- .../upgradeTest/FuelMessagePortalV3.json | 10 +- 4 files changed, 668 insertions(+), 20 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 925320d0..7f34f633 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -360,6 +360,51 @@ "address": "0xde82f4eBaaC22CE3Af62E45b7e518C1ba6bFCB87", "txHash": "0xf60db98dc971ca137583fab4a72e91536c39d10c95e1f84bae302bba5579dde4", "kind": "uups" + }, + { + "address": "0x593Dc747CB819F45698B164eB84E827Fb4A1e0Be", + "txHash": "0x4ea4e395eed59703e544dd1b70418658108526de1ec29b2bbb15a8d1ab8e0a08", + "kind": "uups" + }, + { + "address": "0xD0397c636F4643C8Fac88A2f6fF25F2e75bBbfc0", + "txHash": "0x3929b47da93575709380c8b544e691c0b2342e30411a8e867944267d836d09ee", + "kind": "uups" + }, + { + "address": "0x36207dC084076C2C77f3dA645cC7A85E96cB1237", + "txHash": "0x53847263fd7abf8f4727b99db64d7edee47ad7529088448c41a354bfecf65236", + "kind": "uups" + }, + { + "address": "0xd849a729d84040c8AA732CA8E607e41c2E848859", + "txHash": "0xc9bab087a0ad748ccac2c81bfbba428b3cfd7725100b179c57962c9e11be09f0", + "kind": "uups" + }, + { + "address": "0x47ac5d776a3e711D9d9abC3b3a4Dd568A7211547", + "txHash": "0xc0125e942278f53af299a8f8e511341d772fc53c5753270c325fa5b7117c975d", + "kind": "uups" + }, + { + "address": "0x487f1e0F084ac72F009FB0EECA6e93Aebe6f923d", + "txHash": "0x20db9dc93bee445ea353e32369bb274db50593c153c8c7e30bbbb25e4bc2d53f", + "kind": "uups" + }, + { + "address": "0xcE8766f44AFE520787e7ed7003d1A107f4C24188", + "txHash": "0xa2ff0887aad9a1fb85fd88053973d7dba12fb9585144f849847f8109080caf06", + "kind": "uups" + }, + { + "address": "0x0174678C136621fa0599aa2CfD4155A3355818aD", + "txHash": "0x9ac8664a3e1c2989b57a191f230b5396772946a3555790258cd1d025ca58f544", + "kind": "uups" + }, + { + "address": "0x1703f66959382b268a2fcA52d38d73A8f9707Bfd", + "txHash": "0xa6626478ff77f81e6b58b8f985a6d39e54dd3a486bbfd689f523fb9617cc0d73", + "kind": "uups" } ], "impls": { @@ -4911,6 +4956,17 @@ }, "allAddresses": [ "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C", + "0x39EeE1C3989f0dD543Dee60f8582F7F81F522C38", + "0xCe0e80fdAaa0Da3140e4C2C1b8a9ccbAa2908A42", + "0xD59fb3a31a8B800A26A73F3BBC4806ECc3CbCA6b", + "0xa6E02fef782620035B2Ec3B74c6ceB43439ed031", + "0xa12ed7ee0241109C43A00bFc0dE565c238062DBc", + "0x5D2be63c94931f82B602Ecd1538064ab4196F8e7", + "0xcCc91BD4FfE8FB74D13Abd4b56d5238902776B30", + "0x2e8ced8F8Ea90827039280F82a5B82A2Db64e846", + "0xA23bf9EeC079c6b199A5634cdf0F81D8f5235b36", + "0x995B797562f59481bA50dce47d386F59c910439C", "0x9Baa4095f3635D9763Fee4ca98bd3f8072aC5962", "0xE070FA230679FEeF6bB337F256f16335F81d80B4", "0x97b0A18B2888e904940fFd19E480a28aeec3F055", @@ -5445,6 +5501,7 @@ }, "allAddresses": [ "0x90cB311F9871490C160d50380f68801ed9146310", + "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47", "0x1e9Cb94A2D657D027E7e1D046Ce01571FC4EF08d", "0xa8208529573e32B0aec07565fa8BC3cD01115449", "0x1b932A4Da23cbC1adb50A97bBc4DC23Aa2D7fD34" @@ -5723,7 +5780,11 @@ } }, "namespaces": {} - } + }, + "allAddresses": [ + "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", + "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" + ] }, "b3f9ffc7765e3c14f733b2b272144e15294520401ee2e008bc6581e5d34c9e41": { "address": "0x57346ed72A6e0f9D56b52f050c61803fF7d107E4", @@ -5921,6 +5982,601 @@ }, "namespaces": {} } + }, + "675be6357f9be1535d506492870615e915d34a922f9e1a0d1caac92a29f25da9": { + "address": "0xAf7b5f758BBC93abA2f0e77683B4E72BF93D9D11", + "txHash": "0xa89ec25df39b8f872f839804aecb86e6a6dc1e1fd8b3958a873b8972888054df", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)7068_storage)240_storage", + "contract": "FuelChainState", + "src": "contracts/fuelchain/FuelChainState.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)7068_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)7068_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + }, + "allAddresses": [ + "0xAf7b5f758BBC93abA2f0e77683B4E72BF93D9D11", + "0x3268493650FF84EA9457a06FeFEdCF97965f9Ff0" + ] + }, + "727ec2c706418d18d9d266f895924ccd411493419b6053ede3ef60c89e9a1f1a": { + "address": "0x54d8490f034e3A4D07CD220a7Dc88D9B91B82c25", + "txHash": "0x4bba6111f5c12bc831455311f4c434d02b7c94d3b93787453972ba6b8235e2cd", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)7068_storage)240_storage", + "contract": "FuelChainState", + "src": "contracts/fuelchain/FuelChainState.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)7068_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)7068_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "87c892553ebbaf78f47bfdbd4150fb0274acbe4729982a95084635f4fdd058e2": { + "address": "0x86bf5B647b3Bf247ACF9E7740d8dB02B1fA1E8F6", + "txHash": "0xf84dd32a103710e17ec8e213d2589b722dd3983f87b81db2669f8b967cb6b08a", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)2978_storage)240_storage", + "contract": "FuelChainV2", + "src": "contracts/fuelchain/FuelChainV2.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)2978_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)2978_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 6ba26994..a6a1865a 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0x98475860CA72D27317323F5bde6faFB2142C597A", + "address": "0xcE8766f44AFE520787e7ed7003d1A107f4C24188", "abi": [ { "inputs": [ @@ -572,7 +572,7 @@ "type": "function" } ], - "transactionHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", + "transactionHash": "0xa15ff880a31aa1bc492ad0ee7d66a592ec871123cb3e8b7f1549946abaa4c3f8", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -580,8 +580,7 @@ 30, 5 ], - "factory": "FuelChainState", - "initArgs": [] + "factory": "FuelChainState" }, - "implementation": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690" + "implementation": "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 8e21c7a0..750da913 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0xde82f4eBaaC22CE3Af62E45b7e518C1ba6bFCB87", + "address": "0x1703f66959382b268a2fcA52d38d73A8f9707Bfd", "abi": [ { "inputs": [], @@ -856,14 +856,11 @@ "type": "function" } ], - "transactionHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", + "transactionHash": "0x189b997dbd3c5944e7820c31ed723d119e47c642ee2baad3a4371c6a9cbd9c61", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", - "constructorArgs": [], - "initArgs": [ - "0x0355189c97Bd1f76925006f3C9166Ae72596450E" - ] + "constructorArgs": [] }, - "implementation": "0x90cB311F9871490C160d50380f68801ed9146310" + "implementation": "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 2537321d..2aa3bb28 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x0355189c97Bd1f76925006f3C9166Ae72596450E", + "address": "0x0174678C136621fa0599aa2CfD4155A3355818aD", "abi": [ { "inputs": [ @@ -1116,18 +1116,14 @@ "type": "function" } ], - "transactionHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", + "transactionHash": "0xfeef1cca2e13237103cd33ca7b749310965a559f0474031fb0c568b8fcdcba7f", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", "constructorArgs": [ "115792089237316195423570985008687907853269984665640564039457584007913129639935", 604800 - ], - "initArgs": [ - "0x98475860CA72D27317323F5bde6faFB2142C597A", - "10000000000000000000" ] }, - "implementation": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1" + "implementation": "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" } \ No newline at end of file From 2c4c9690d54f4160d46c61437ca147ba2354d824 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 22:23:19 +0530 Subject: [PATCH 53/84] chore: remove init args in prepare upgrade scripts --- .../deploy/upgradeTest/prepareUpgrade.chain_state.ts | 7 ++----- .../deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts | 2 +- .../upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts index 08e96e1a..cd337908 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.chain_state.ts @@ -1,10 +1,7 @@ import type { HardhatRuntimeEnvironment } from 'hardhat/types'; import type { DeployFunction } from 'hardhat-deploy/dist/types'; -import { - FuelChainState__factory as FuelChainState, - UpgradeableTester__factory, -} from '../../typechain'; +import { FuelChainState__factory as FuelChainState } from '../../typechain'; import { TransactionResponse } from 'ethers'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { @@ -21,6 +18,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { kind: 'uups', constructorArgs: contractDeployment.linkedData.constructorArgs, getTxResponse: true, + redeployImplementation: 'always', // added this so we can mock legit upgrades by default })) as TransactionResponse; const receipt = await hre.ethers.provider.getTransactionReceipt( @@ -35,7 +33,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { constructorArgs: contractDeployment.linkedData.constructorArgs, factory: 'FuelChainState', - initArgs: contractDeployment.linkedData.initArgs, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts index 242d7f77..cbca06dc 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.erc20_gateway_v4.ts @@ -18,6 +18,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { kind: 'uups', constructorArgs: contractDeployment.linkedData.constructorArgs, getTxResponse: true, + redeployImplementation: 'always', // added this so we can mock legit upgrades by default })) as TransactionResponse; const receipt = await hre.ethers.provider.getTransactionReceipt( @@ -32,7 +33,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelERC20GatewayV4', constructorArgs: contractDeployment.linkedData.constructorArgs, - initArgs: contractDeployment.linkedData.initArgs, }, }); }; diff --git a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts index 0c574050..ab67e57e 100644 --- a/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts +++ b/packages/solidity-contracts/deploy/upgradeTest/prepareUpgrade.fuel_message_portal_v3.ts @@ -18,6 +18,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { kind: 'uups', constructorArgs: contractDeployment.linkedData.constructorArgs, getTxResponse: true, + redeployImplementation: 'always', // added this so we can mock legit upgrades by default })) as TransactionResponse; const receipt = await hre.ethers.provider.getTransactionReceipt( @@ -32,7 +33,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { linkedData: { factory: 'FuelMessagePortalV3', constructorArgs: contractDeployment.linkedData.constructorArgs, - initArgs: contractDeployment.linkedData.initArgs, }, }); }; From 562aef06cac088da80336ac63ef3e3c9a9f20858 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Fri, 27 Sep 2024 22:25:11 +0530 Subject: [PATCH 54/84] fix: verification checks --- .../scripts/hardhat/verifyDeployment.ts | 65 ++++++++++--------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index da81a6a5..9ce1e592 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -4,14 +4,17 @@ import { config as dotEnvConfig } from 'dotenv'; dotEnvConfig(); -task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( +task('verify-deployment', 'Verifies proxy upgrades').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { const network = hre.network.name; - const { ethers, upgrades } = hre; + const { + ethers, + upgrades: { validateUpgrade }, + } = hre; console.log( - `Verifying contract bytecode on ${network}:${hre.network.config.chainId}...` + `Verifying proxy upgrade on ${network}:${hre.network.config.chainId}...` ); const deployments = await hre.deployments.all(); @@ -23,42 +26,37 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( deployment.address ); - // makes sure that the deployment data is consistent & the verification checks are only ran when prepare upgrade script has been executed - if ( - implementation == deployment.implementation && - deployment.transactionHash - ) { - const ContractFactory = await ethers.getContractFactory( + // Only perform verification checks for a legitimate upgrade + if (implementation != deployment.implementation) { + const factory = (await ethers.getContractFactory( deployment.linkedData.factory - ); + )) as ethers.ContractFactory; - console.log(`--- Validating the upgrade to ${implementation}...`); - await upgrades.validateUpgrade( - deployment.address as string, - ContractFactory, - { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - } + console.log( + `--- Validating the upgrade to ${deployment.implementation} implementation...` ); + await validateUpgrade(deployment.address as string, factory, { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + }); + console.log('--- Upgrade Validated...'); console.log( '--- Comparing expected init code with actual init code on-chain...' ); - const { data: expectedInitCode } = - await ContractFactory.getDeployTransaction( - ...deployment.linkedData.constructorArgs - ); + const { data: expectedInitCode } = await factory.getDeployTransaction( + ...deployment.linkedData.constructorArgs + ); const fetchedDeploymentTx = await ethers.provider.getTransaction( - deployment.transactionHash + deployment.transactionHash! )!; - const reciept = await ethers.provider.getTransactionReceipt( - fetchedDeploymentTx?.hash + const receipt = await ethers.provider.getTransactionReceipt( + fetchedDeploymentTx?.hash! ); const tx = await hre.ethers.provider.getTransaction( @@ -67,7 +65,7 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( if (expectedInitCode === tx?.data) { console.log( - `✅ ${contractName} (${deployment.address}): Init Code verified sucessfully` + `✅ ${contractName} (${deployment.address}): Init Code verified successfully` ); } else { console.log( @@ -77,18 +75,23 @@ task('verify-deployment', 'Verifies the deployed contract bytecode').setAction( } console.log( - '--- Check the new implementation deployment resulted in deploying that implementation addresss...' + '--- Check if the new implementation deployment resulted in deploying that implementation address...' ); - if (reciept?.contractAddress === implementation) { + const expectedNewImplementationAddress = ethers.getCreateAddress({ + from: receipt?.from!, + nonce: fetchedDeploymentTx?.nonce!, + }); + + if (receipt?.contractAddress === expectedNewImplementationAddress) { console.log( - `✅ ${contractName} (${deployment.address}): new implementation deployment verified` + `✅ ${contractName} (${deployment.address}): New implementation deployment verified` ); } else { console.log( - `❌ ${contractName} (${deployment.address}): new implementation deployment verification failed` + `❌ ${contractName} (${deployment.address}): New implementation deployment verification failed` ); - throw new Error('Init Code mismatch'); + throw new Error('New implementation deployment verification failed'); } } else continue; } From 0c8de33671a73a7f4d63d2e282d9e78e738547e9 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Sat, 28 Sep 2024 09:02:18 +0530 Subject: [PATCH 55/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 28 +++++++++++++++++++ .../upgradeTest/FuelChainState.json | 6 ++-- .../upgradeTest/FuelERC20GatewayV4.json | 6 ++-- .../upgradeTest/FuelMessagePortalV3.json | 6 ++-- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 7f34f633..9fbc0b0a 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -405,6 +405,26 @@ "address": "0x1703f66959382b268a2fcA52d38d73A8f9707Bfd", "txHash": "0xa6626478ff77f81e6b58b8f985a6d39e54dd3a486bbfd689f523fb9617cc0d73", "kind": "uups" + }, + { + "address": "0xde4E5794851fE9e4c0729B8Acc31E4dA47068D2f", + "txHash": "0xf688c72de9d8f612e3ea1fe0ba2406229c1188a26b4aef4de7beb13a59301cb7", + "kind": "uups" + }, + { + "address": "0xda64a4017c731966aBec784FE7eAd09C2DD2fE5d", + "txHash": "0xb3e93b0c5361b22fd1a13e74cff67506f58a8aa1d9248cb5413d7592a543ba69", + "kind": "uups" + }, + { + "address": "0x04E94c92F811E55EB6C19208b0fbC5e121B852DC", + "txHash": "0x61b0f2e0e56cad0da7034ca9e17247538d3940ff6104845792dced34ba808db7", + "kind": "uups" + }, + { + "address": "0x58096a912672704E85B221ec0Fabf653e85a9224", + "txHash": "0xed4c8b3bc297d4e09a802ef8bee0cd42d715045a616527de8b30b95cb5225fec", + "kind": "uups" } ], "impls": { @@ -4956,6 +4976,8 @@ }, "allAddresses": [ "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "0x83ad7e32937Fc78CeD9b69f7A1bFd9F1240d93D9", + "0xB5D5A58B0b9CCBf7Cb2ce960f90fbea83311f3dB", "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C", "0x39EeE1C3989f0dD543Dee60f8582F7F81F522C38", "0xCe0e80fdAaa0Da3140e4C2C1b8a9ccbAa2908A42", @@ -5501,6 +5523,8 @@ }, "allAddresses": [ "0x90cB311F9871490C160d50380f68801ed9146310", + "0xe79B6BA4F58F0601C400C85834aA51A091562368", + "0xB22fec34F72b57BFb6E370e01cB67DdbfC954aB6", "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47", "0x1e9Cb94A2D657D027E7e1D046Ce01571FC4EF08d", "0xa8208529573e32B0aec07565fa8BC3cD01115449", @@ -5783,6 +5807,7 @@ }, "allAddresses": [ "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", + "0x2a4a6e5C0747e2a78582B69f852d229026c1B272", "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" ] }, @@ -6181,6 +6206,9 @@ }, "allAddresses": [ "0xAf7b5f758BBC93abA2f0e77683B4E72BF93D9D11", + "0x80b9B62Ece99c83B11A7BD2e8d6d2567a7279CF3", + "0x551ccf63807531c3F123d895fAA281924EA85B3E", + "0xe6b4394f911F4c215E6a4f5db6d8cAE35cC51B13", "0x3268493650FF84EA9457a06FeFEdCF97965f9Ff0" ] }, diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index a6a1865a..1ab8d77e 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xcE8766f44AFE520787e7ed7003d1A107f4C24188", + "address": "0xda64a4017c731966aBec784FE7eAd09C2DD2fE5d", "abi": [ { "inputs": [ @@ -572,7 +572,7 @@ "type": "function" } ], - "transactionHash": "0xa15ff880a31aa1bc492ad0ee7d66a592ec871123cb3e8b7f1549946abaa4c3f8", + "transactionHash": "0x9e1e0d65f7c029f67eac20d23b6b546aea3ce2c8cdfa0c09b2ef6fc3c7623798", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -582,5 +582,5 @@ ], "factory": "FuelChainState" }, - "implementation": "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C" + "implementation": "0x83ad7e32937Fc78CeD9b69f7A1bFd9F1240d93D9" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 750da913..d563bc65 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x1703f66959382b268a2fcA52d38d73A8f9707Bfd", + "address": "0x58096a912672704E85B221ec0Fabf653e85a9224", "abi": [ { "inputs": [], @@ -856,11 +856,11 @@ "type": "function" } ], - "transactionHash": "0x189b997dbd3c5944e7820c31ed723d119e47c642ee2baad3a4371c6a9cbd9c61", + "transactionHash": "0x66a07370cb5513429d2cc860333efc8daa221580696df094ba646dc23842212d", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47" + "implementation": "0xe79B6BA4F58F0601C400C85834aA51A091562368" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 2aa3bb28..439a765f 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x0174678C136621fa0599aa2CfD4155A3355818aD", + "address": "0x04E94c92F811E55EB6C19208b0fbC5e121B852DC", "abi": [ { "inputs": [ @@ -1116,7 +1116,7 @@ "type": "function" } ], - "transactionHash": "0xfeef1cca2e13237103cd33ca7b749310965a559f0474031fb0c568b8fcdcba7f", + "transactionHash": "0x34cbb4d8d07b4bda9aa07e099ec0c71545986df7c0562bb8a228c56449efdf1d", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1125,5 +1125,5 @@ 604800 ] }, - "implementation": "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" + "implementation": "0x2a4a6e5C0747e2a78582B69f852d229026c1B272" } \ No newline at end of file From 3d522da632f9d07abc61da1a7c8f6f034408073c Mon Sep 17 00:00:00 2001 From: viraj124 Date: Sat, 28 Sep 2024 09:03:21 +0530 Subject: [PATCH 56/84] fix: implementation address check against the transaction --- .../scripts/hardhat/verifyDeployment.ts | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 9ce1e592..00a65ef3 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -1,7 +1,7 @@ import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { config as dotEnvConfig } from 'dotenv'; - +import { ContractFactory } from 'ethers'; dotEnvConfig(); task('verify-deployment', 'Verifies proxy upgrades').setAction( @@ -10,7 +10,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const { ethers, - upgrades: { validateUpgrade }, + upgrades: { validateUpgrade, erc1967 }, } = hre; console.log( @@ -22,7 +22,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); - const implementation = await upgrades.erc1967.getImplementationAddress( + const implementation = await erc1967.getImplementationAddress( deployment.address ); @@ -30,7 +30,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( if (implementation != deployment.implementation) { const factory = (await ethers.getContractFactory( deployment.linkedData.factory - )) as ethers.ContractFactory; + )) as ContractFactory; console.log( `--- Validating the upgrade to ${deployment.implementation} implementation...` @@ -78,12 +78,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( '--- Check if the new implementation deployment resulted in deploying that implementation address...' ); - const expectedNewImplementationAddress = ethers.getCreateAddress({ - from: receipt?.from!, - nonce: fetchedDeploymentTx?.nonce!, - }); - - if (receipt?.contractAddress === expectedNewImplementationAddress) { + if (receipt?.contractAddress === deployment.implementation) { console.log( `✅ ${contractName} (${deployment.address}): New implementation deployment verified` ); From 5063c7cab5f4d095a053319c4bc52312e6206671 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Sat, 28 Sep 2024 11:35:07 +0530 Subject: [PATCH 57/84] chore: rename vars --- .../scripts/hardhat/verifyDeployment.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 00a65ef3..2a533a13 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -22,12 +22,12 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); - const implementation = await erc1967.getImplementationAddress( + const currentImplementation = await erc1967.getImplementationAddress( deployment.address ); // Only perform verification checks for a legitimate upgrade - if (implementation != deployment.implementation) { + if (currentImplementation != deployment.implementation) { const factory = (await ethers.getContractFactory( deployment.linkedData.factory )) as ContractFactory; @@ -59,11 +59,11 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( fetchedDeploymentTx?.hash! ); - const tx = await hre.ethers.provider.getTransaction( + const txPayload = await hre.ethers.provider.getTransaction( deployment.transactionHash! ); - if (expectedInitCode === tx?.data) { + if (expectedInitCode === txPayload?.data) { console.log( `✅ ${contractName} (${deployment.address}): Init Code verified successfully` ); From 16a440e0a45c367b6c3ecece43a4789d93850f61 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 30 Sep 2024 15:04:40 +0530 Subject: [PATCH 58/84] chore: verification script cleanup --- .../scripts/hardhat/verifyDeployment.ts | 108 ++++++++++-------- 1 file changed, 58 insertions(+), 50 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 2a533a13..201ef368 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -27,68 +27,76 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( ); // Only perform verification checks for a legitimate upgrade - if (currentImplementation != deployment.implementation) { - const factory = (await ethers.getContractFactory( - deployment.linkedData.factory - )) as ContractFactory; - - console.log( - `--- Validating the upgrade to ${deployment.implementation} implementation...` - ); + if ( + currentImplementation.toLowerCase() === + deployment.implementation!.toLowerCase() + ) + continue; + + const factory = (await ethers.getContractFactory( + deployment.linkedData.factory + )) as ContractFactory; + + console.log( + `--- Validating the upgrade to ${deployment.implementation} implementation...` + ); - await validateUpgrade(deployment.address as string, factory, { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - }); + await validateUpgrade(deployment.address as string, factory, { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + }); - console.log('--- Upgrade Validated...'); + console.log('--- Upgrade Validated...'); - console.log( - '--- Comparing expected init code with actual init code on-chain...' - ); + console.log( + '--- Comparing expected init code with actual init code on-chain...' + ); - const { data: expectedInitCode } = await factory.getDeployTransaction( - ...deployment.linkedData.constructorArgs - ); + const { data: expectedInitCode } = await factory.getDeployTransaction( + ...deployment.linkedData.constructorArgs + ); - const fetchedDeploymentTx = await ethers.provider.getTransaction( - deployment.transactionHash! - )!; + const fetchedDeploymentTx = await ethers.provider.getTransaction( + deployment.transactionHash! + )!; - const receipt = await ethers.provider.getTransactionReceipt( - fetchedDeploymentTx?.hash! + const receipt = await ethers.provider.getTransactionReceipt( + fetchedDeploymentTx?.hash! + ); + + // checking for null/undefined value too + if ( + fetchedDeploymentTx?.data && + expectedInitCode === fetchedDeploymentTx.data + ) { + console.log( + `✅ ${contractName} (${deployment.address}): Init Code verified successfully` ); - - const txPayload = await hre.ethers.provider.getTransaction( - deployment.transactionHash! + } else { + console.log( + `❌ ${contractName} (${deployment.address}): Init Code mismatch` ); + throw new Error('Init Code mismatch'); + } - if (expectedInitCode === txPayload?.data) { - console.log( - `✅ ${contractName} (${deployment.address}): Init Code verified successfully` - ); - } else { - console.log( - `❌ ${contractName} (${deployment.address}): Init Code mismatch` - ); - throw new Error('Init Code mismatch'); - } + console.log( + '--- Check if the new implementation deployment resulted in deploying that implementation address...' + ); + // checking for null/undefined value too + if ( + receipt?.contractAddress && + receipt.contractAddress === deployment.implementation + ) { console.log( - '--- Check if the new implementation deployment resulted in deploying that implementation address...' + `✅ ${contractName} (${deployment.address}): New implementation deployment verified` ); - - if (receipt?.contractAddress === deployment.implementation) { - console.log( - `✅ ${contractName} (${deployment.address}): New implementation deployment verified` - ); - } else { - console.log( - `❌ ${contractName} (${deployment.address}): New implementation deployment verification failed` - ); - throw new Error('New implementation deployment verification failed'); - } - } else continue; + } else { + console.log( + `❌ ${contractName} (${deployment.address}): New implementation deployment verification failed` + ); + throw new Error('New implementation deployment verification failed'); + } } } ); From fc5cd65d6378af873202dd95aed0ef0e77791a50 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Mon, 30 Sep 2024 15:27:55 +0530 Subject: [PATCH 59/84] chore: formatting --- packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 201ef368..e246b491 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -63,7 +63,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const receipt = await ethers.provider.getTransactionReceipt( fetchedDeploymentTx?.hash! ); - + // checking for null/undefined value too if ( fetchedDeploymentTx?.data && From 63ff6c3852c7618292b24a10501385158e88e530 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:07:23 +0530 Subject: [PATCH 60/84] chore: minor cleanup in script --- .../scripts/hardhat/verifyDeployment.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index e246b491..5cdc024a 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -35,16 +35,20 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const factory = (await ethers.getContractFactory( deployment.linkedData.factory - )) as ContractFactory; + )) as ContractFactory; // Typing bug in `getContractFactory` console.log( `--- Validating the upgrade to ${deployment.implementation} implementation...` ); - await validateUpgrade(deployment.address as string, factory, { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - }); + await validateUpgrade( + deployment.address as string, + factory, + { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + } as any // Typing bug in `validateUpgrade` + ); console.log('--- Upgrade Validated...'); From 794e62c27e7ad22785bfaf52e1a34380a8d88ebe Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:29:43 +0530 Subject: [PATCH 61/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 22 +++++++++++++++++-- .../upgradeTest/FuelChainState.json | 6 ++--- .../upgradeTest/FuelERC20GatewayV4.json | 6 ++--- .../upgradeTest/FuelMessagePortalV3.json | 6 ++--- 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 9fbc0b0a..15030611 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -425,6 +425,21 @@ "address": "0x58096a912672704E85B221ec0Fabf653e85a9224", "txHash": "0xed4c8b3bc297d4e09a802ef8bee0cd42d715045a616527de8b30b95cb5225fec", "kind": "uups" + }, + { + "address": "0xe07e8371670ebe2363D3E9172Fe26BCf68425eEc", + "txHash": "0x847992c675750afe3c6a17bc0b90c8c9eefe2bc4807c793ff23183a08ad1b475", + "kind": "uups" + }, + { + "address": "0xD35dD8b42747B906773a566DD44297e8FF0Cc8C9", + "txHash": "0xad0e0cb8041e8c2748a27e93539e4a55c5fb0031053aaa74c6f0c277efefba61", + "kind": "uups" + }, + { + "address": "0xF811826EC40C9134601360B91C3071cAB234fCDa", + "txHash": "0xc9414f763bb5bc9590e0e72e487299401f759618c9ad4d6ed2d3580f9d413372", + "kind": "uups" } ], "impls": { @@ -4976,6 +4991,7 @@ }, "allAddresses": [ "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", + "0x711F29EB603A46F0Fd11957CF31C3c4a26DAb330", "0x83ad7e32937Fc78CeD9b69f7A1bFd9F1240d93D9", "0xB5D5A58B0b9CCBf7Cb2ce960f90fbea83311f3dB", "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C", @@ -5298,7 +5314,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8014", + "type": "t_contract(FuelMessagePortal)4640", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -5476,7 +5492,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8014": { + "t_contract(FuelMessagePortal)4640": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, @@ -5523,6 +5539,7 @@ }, "allAddresses": [ "0x90cB311F9871490C160d50380f68801ed9146310", + "0x0fe27454F985FB772C653234B20EC3D401F3C110", "0xe79B6BA4F58F0601C400C85834aA51A091562368", "0xB22fec34F72b57BFb6E370e01cB67DdbfC954aB6", "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47", @@ -5807,6 +5824,7 @@ }, "allAddresses": [ "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", + "0x543F6656AA7D3A9763cbf42eE25D76D7607F5233", "0x2a4a6e5C0747e2a78582B69f852d229026c1B272", "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" ] diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 1ab8d77e..091048e3 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xda64a4017c731966aBec784FE7eAd09C2DD2fE5d", + "address": "0xe07e8371670ebe2363D3E9172Fe26BCf68425eEc", "abi": [ { "inputs": [ @@ -572,7 +572,7 @@ "type": "function" } ], - "transactionHash": "0x9e1e0d65f7c029f67eac20d23b6b546aea3ce2c8cdfa0c09b2ef6fc3c7623798", + "transactionHash": "0xdb7bd142cdbcff3f86bece851e744557d8a4385f4cb41f24ad565c14eadfc75c", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -582,5 +582,5 @@ ], "factory": "FuelChainState" }, - "implementation": "0x83ad7e32937Fc78CeD9b69f7A1bFd9F1240d93D9" + "implementation": "0x711F29EB603A46F0Fd11957CF31C3c4a26DAb330" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index d563bc65..20098f73 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x58096a912672704E85B221ec0Fabf653e85a9224", + "address": "0xF811826EC40C9134601360B91C3071cAB234fCDa", "abi": [ { "inputs": [], @@ -856,11 +856,11 @@ "type": "function" } ], - "transactionHash": "0x66a07370cb5513429d2cc860333efc8daa221580696df094ba646dc23842212d", + "transactionHash": "0xb1467381392d2fa1d4e00c95398d9ca49f6161a9eb1c07c4b047f52491c93d9d", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0xe79B6BA4F58F0601C400C85834aA51A091562368" + "implementation": "0x0fe27454F985FB772C653234B20EC3D401F3C110" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 439a765f..56c4cb1f 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x04E94c92F811E55EB6C19208b0fbC5e121B852DC", + "address": "0xD35dD8b42747B906773a566DD44297e8FF0Cc8C9", "abi": [ { "inputs": [ @@ -1116,7 +1116,7 @@ "type": "function" } ], - "transactionHash": "0x34cbb4d8d07b4bda9aa07e099ec0c71545986df7c0562bb8a228c56449efdf1d", + "transactionHash": "0x7d62ee7dcb4e37eec768d218a3d16d22df72d743c5ae8091a47cdeb8a3aef1ee", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1125,5 +1125,5 @@ 604800 ] }, - "implementation": "0x2a4a6e5C0747e2a78582B69f852d229026c1B272" + "implementation": "0x543F6656AA7D3A9763cbf42eE25D76D7607F5233" } \ No newline at end of file From eb1669135a968cde029899cdb98d39e2ae91a8ba Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:35:15 +0530 Subject: [PATCH 62/84] debug: ci failure --- .github/workflows/verify-upgrade.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 129363c9..22ce6e66 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -33,5 +33,5 @@ jobs: # Remove the deploy/ prefix BRANCH_NAME=${BRANCH_NAME#deploy/} - npx hardhat compile && npx hardhat verify-deployment --network $BRANCH_NAME + npx hardhat verify-deployment --network $BRANCH_NAME working-directory: ./packages/solidity-contracts From b4abdfcfcb99d6a6ebe9fd1fe6c4eebec03c7226 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:36:32 +0530 Subject: [PATCH 63/84] chore: revert ci change --- .github/workflows/verify-upgrade.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml index 22ce6e66..129363c9 100644 --- a/.github/workflows/verify-upgrade.yml +++ b/.github/workflows/verify-upgrade.yml @@ -33,5 +33,5 @@ jobs: # Remove the deploy/ prefix BRANCH_NAME=${BRANCH_NAME#deploy/} - npx hardhat verify-deployment --network $BRANCH_NAME + npx hardhat compile && npx hardhat verify-deployment --network $BRANCH_NAME working-directory: ./packages/solidity-contracts From 525e9c8dd3d3c6e5cee2419bbb057e75b4f8c351 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:43:44 +0530 Subject: [PATCH 64/84] chore: revert latest change --- .../scripts/hardhat/verifyDeployment.ts | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 5cdc024a..64b3f9c6 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -35,20 +35,16 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const factory = (await ethers.getContractFactory( deployment.linkedData.factory - )) as ContractFactory; // Typing bug in `getContractFactory` + )) as ContractFactory; console.log( `--- Validating the upgrade to ${deployment.implementation} implementation...` ); - await validateUpgrade( - deployment.address as string, - factory, - { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - } as any // Typing bug in `validateUpgrade` - ); + await validateUpgrade(deployment.address as string, factory, { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + }); console.log('--- Upgrade Validated...'); @@ -103,4 +99,4 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( } } } -); +); \ No newline at end of file From 9e6e7c0df080270fffff7f0d750a348d3c0c229c Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 2 Oct 2024 12:52:50 +0530 Subject: [PATCH 65/84] chore: upgrade artifacts after merge with main --- .../.openzeppelin/sepolia.json | 758 ++++++++++++++++++ .../upgradeTest/FuelChainState.json | 11 +- .../upgradeTest/FuelERC20GatewayV4.json | 62 +- .../upgradeTest/FuelMessagePortalV3.json | 32 +- .../scripts/hardhat/verifyDeployment.ts | 16 +- 5 files changed, 851 insertions(+), 28 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 15030611..f993d6a8 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -440,6 +440,21 @@ "address": "0xF811826EC40C9134601360B91C3071cAB234fCDa", "txHash": "0xc9414f763bb5bc9590e0e72e487299401f759618c9ad4d6ed2d3580f9d413372", "kind": "uups" + }, + { + "address": "0xe2491478Cf2256c85090f545ebFeE8cDF26D4be5", + "txHash": "0x742b0a094592763635c122bc5305ca06a3c22173dcd456d8de92357c203133a7", + "kind": "uups" + }, + { + "address": "0x9aD93fAAB9548222a7f2358f686157603D6a7Bed", + "txHash": "0x165604480ca805805d07a1b26a05f2ba972d2ddd33fe3185bed6e198171de1fd", + "kind": "uups" + }, + { + "address": "0x7E325E714097Bc17a428d8cd0325Fd9af362bE38", + "txHash": "0xa50deaa5e09422d8aeabcb4144f4f892a9d1c481144886ae54b3310bd634d5ff", + "kind": "uups" } ], "impls": { @@ -6623,6 +6638,749 @@ }, "namespaces": {} } + }, + "76b2f0c5a8e51535b97b3fe9b5e474acb056e0f96cbc130cb05a2cedf0ac2045": { + "address": "0x6F8e6304f892abA27E70474E51be15060E8352E1", + "txHash": "0x5567a3babc4350d38e28826485834887284e33569d61805a2e71d9ecb5865dd7", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_commitSlots", + "offset": 0, + "slot": "301", + "type": "t_array(t_struct(Commit)3694_storage)240_storage", + "contract": "FuelChainState", + "src": "contracts/fuelchain/FuelChainState.sol:67" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(Commit)3694_storage)240_storage": { + "label": "struct Commit[240]", + "numberOfBytes": "15360" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(Commit)3694_storage": { + "label": "struct Commit", + "members": [ + { + "label": "blockHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "timestamp", + "type": "t_uint32", + "offset": 0, + "slot": "1" + }, + { + "label": "reserved1", + "type": "t_address", + "offset": 4, + "slot": "1" + }, + { + "label": "reserved2", + "type": "t_uint16", + "offset": 24, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + }, + "allAddresses": [ + "0x6F8e6304f892abA27E70474E51be15060E8352E1", + "0x45bEd8Ae1A13f136cd35196f906b7EB335F39BB3" + ] + }, + "1728bf9fcaaf80ed3a7c21c963a4cf01aba625c1e1a976c11b531c3515d1b949": { + "address": "0xce0f6Aa8c967965878123F47047bCf6c63c5E1BF", + "txHash": "0x50397506211ee970b1862cc4dff7ae61352d8fcff62263738bdebef8d0693cf8", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_status", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "301", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_incomingMessageSender", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:96" + }, + { + "label": "_fuelChainState", + "offset": 0, + "slot": "352", + "type": "t_contract(FuelChainState)4016", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:99" + }, + { + "label": "_outgoingMessageNonce", + "offset": 0, + "slot": "353", + "type": "t_uint256", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:102" + }, + { + "label": "_incomingMessageSuccessful", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:105" + }, + { + "label": "__gap", + "offset": 0, + "slot": "355", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:337" + }, + { + "label": "totalDeposited", + "offset": 0, + "slot": "404", + "type": "t_uint256", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "405", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" + }, + { + "label": "withdrawalsPaused", + "offset": 0, + "slot": "454", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" + }, + { + "label": "messageIsBlacklisted", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "456", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "457", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "458", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "459", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:258" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelChainState)4016": { + "label": "contract FuelChainState", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + }, + "allAddresses": [ + "0xce0f6Aa8c967965878123F47047bCf6c63c5E1BF", + "0xEf7211919eb16BF7c5A7B699ad6B31e50DcF6A56" + ] + }, + "ef9b501dd199bf1c5b9ba00d88d9391ad616f16d1a284f988e71c7b2aa54474a": { + "address": "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", + "txHash": "0xae09226ab15d6ec38da6b70f554066ee0a073227f1cebe01a749831dcb9a922d", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "_fuelMessagePortal", + "offset": 2, + "slot": "0", + "type": "t_contract(FuelMessagePortal)4650", + "contract": "FuelMessagesEnabled", + "src": "contracts/messaging/FuelMessagesEnabled.sol:21" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagesEnabledUpgradeable", + "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "50", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "100", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "150", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "200", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "201", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "__gap", + "offset": 0, + "slot": "250", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "300", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "whitelistRequired", + "offset": 0, + "slot": "350", + "type": "t_bool", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" + }, + { + "label": "assetIssuerId", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" + }, + { + "label": "_deposits", + "offset": 0, + "slot": "352", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:79" + }, + { + "label": "_depositLimits", + "offset": 0, + "slot": "353", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:80" + }, + { + "label": "_decimalsCache", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" + }, + { + "label": "rateLimitDuration", + "offset": 0, + "slot": "355", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "356", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "357", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "358", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:93" + }, + { + "label": "rateLimitStatus", + "offset": 0, + "slot": "359", + "type": "t_mapping(t_address,t_bool)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:98" + }, + { + "label": "__gap", + "offset": 0, + "slot": "360", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:452" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelMessagePortal)4650": { + "label": "contract FuelMessagePortal", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + }, + "allAddresses": [ + "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", + "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" + ] } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 091048e3..78b2d6d1 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xe07e8371670ebe2363D3E9172Fe26BCf68425eEc", + "address": "0xe2491478Cf2256c85090f545ebFeE8cDF26D4be5", "abi": [ { "inputs": [ @@ -37,6 +37,11 @@ "name": "FinalizationIsGtCooldown", "type": "error" }, + { + "inputs": [], + "name": "InvalidTimeToFinalize", + "type": "error" + }, { "inputs": [], "name": "TimeToFinalizeTooLarge", @@ -572,7 +577,7 @@ "type": "function" } ], - "transactionHash": "0xdb7bd142cdbcff3f86bece851e744557d8a4385f4cb41f24ad565c14eadfc75c", + "transactionHash": "0x07f6780f4961f6f1712789ba934bdb2590552f55054b44103708a7fb23149012", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -582,5 +587,5 @@ ], "factory": "FuelChainState" }, - "implementation": "0x711F29EB603A46F0Fd11957CF31C3c4a26DAb330" + "implementation": "0x45bEd8Ae1A13f136cd35196f906b7EB335F39BB3" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 20098f73..6997702d 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0xF811826EC40C9134601360B91C3071cAB234fCDa", + "address": "0x7E325E714097Bc17a428d8cd0325Fd9af362bE38", "abi": [ { "inputs": [], @@ -139,6 +139,25 @@ "name": "Paused", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "status", + "type": "bool" + } + ], + "name": "RateLimitStatusUpdated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -643,6 +662,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rateLimitStatus", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -811,6 +849,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "bool", + "name": "_rateLimitStatus", + "type": "bool" + } + ], + "name": "updateRateLimitStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -856,11 +912,11 @@ "type": "function" } ], - "transactionHash": "0xb1467381392d2fa1d4e00c95398d9ca49f6161a9eb1c07c4b047f52491c93d9d", + "transactionHash": "0x3431e954bcf713030b4a2c7ef2f53f3a10430a7f0795d0ae3514d9ba511f4600", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x0fe27454F985FB772C653234B20EC3D401F3C110" + "implementation": "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 56c4cb1f..c5fbaf1e 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0xD35dD8b42747B906773a566DD44297e8FF0Cc8C9", + "address": "0x9aD93fAAB9548222a7f2358f686157603D6a7Bed", "abi": [ { "inputs": [ @@ -430,6 +430,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "RATE_LIMIT_DURATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "SET_RATE_LIMITER_ROLE", @@ -743,19 +756,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "rateLimitDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1116,7 +1116,7 @@ "type": "function" } ], - "transactionHash": "0x7d62ee7dcb4e37eec768d218a3d16d22df72d743c5ae8091a47cdeb8a3aef1ee", + "transactionHash": "0xe06050120b76f845e22dfdb6e4850e9b15638729c5430e2e71e6b2950ea843db", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1125,5 +1125,5 @@ 604800 ] }, - "implementation": "0x543F6656AA7D3A9763cbf42eE25D76D7607F5233" + "implementation": "0xEf7211919eb16BF7c5A7B699ad6B31e50DcF6A56" } \ No newline at end of file diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 64b3f9c6..5cdc024a 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -35,16 +35,20 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const factory = (await ethers.getContractFactory( deployment.linkedData.factory - )) as ContractFactory; + )) as ContractFactory; // Typing bug in `getContractFactory` console.log( `--- Validating the upgrade to ${deployment.implementation} implementation...` ); - await validateUpgrade(deployment.address as string, factory, { - kind: 'uups', - constructorArgs: deployment.linkedData.constructorArgs, - }); + await validateUpgrade( + deployment.address as string, + factory, + { + kind: 'uups', + constructorArgs: deployment.linkedData.constructorArgs, + } as any // Typing bug in `validateUpgrade` + ); console.log('--- Upgrade Validated...'); @@ -99,4 +103,4 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( } } } -); \ No newline at end of file +); From 24674b20e4ec4ac33d95955ee12b811eaa642538 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 11:57:54 +0530 Subject: [PATCH 66/84] chore: update .gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d408e576..e392f12c 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,7 @@ target packages/fungible-token/exports/types # General dist folders -dist \ No newline at end of file +dist + +# verification ci artifacts +packages/solidity-contracts/verification.json \ No newline at end of file From 58873bfd4ea4935638ac35cc438670d96dfc033c Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 11:58:39 +0530 Subject: [PATCH 67/84] chore: add package for writing the verification payload --- packages/solidity-contracts/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/solidity-contracts/package.json b/packages/solidity-contracts/package.json index ce64ee1c..ac8a8b51 100644 --- a/packages/solidity-contracts/package.json +++ b/packages/solidity-contracts/package.json @@ -18,7 +18,7 @@ "build:exports": "tsup", "clean": "pnpm hardhat clean", "compile": "pnpm hardhat compile --show-stack-traces", - "coverage": "pnpm run build && pnpm hardhat coverage --temp artifacts --network hardhat", + "coverage": "pnpm run build && pnpm hardhat coverage --temp artifacts", "check": "pnpm solhint \"contracts/**/*.sol\"", "node": "pnpm hardhat node --network hardhat", "start-mining": "pnpm hardhat run --no-compile --network localhost scripts/startAutoMining.ts", @@ -54,6 +54,7 @@ "dotenv": "^16.0.3", "ethers": "6.13.1", "express": "^4.18.2", + "fs-extra": "^11.2.0", "fuels": "0.94.0", "hardhat": "^2.20.1", "hardhat-deploy": "^0.12.4", From 82f2f8e2630956313ffb15e7342f8ba21c1ffcd4 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 11:59:03 +0530 Subject: [PATCH 68/84] chore: update lock file --- pnpm-lock.yaml | 3449 +++++++++++++++++++----------------------------- 1 file changed, 1377 insertions(+), 2072 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8c009cf..967f07cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,16 +23,16 @@ importers: version: 0.0.10 '@fuels/eslint-plugin': specifier: 0.20.0 - version: 0.20.0(eslint@8.57.0)(typescript@5.4.5) + version: 0.20.0(eslint@8.57.1)(typescript@5.6.2) '@fuels/prettier-config': specifier: 0.0.10 version: 0.0.10(prettier@2.8.8) '@fuels/ts-config': specifier: 0.0.10 - version: 0.0.10(typescript@5.4.5) + version: 0.0.10(typescript@5.6.2) eslint: specifier: ^8.49.0 - version: 8.57.0 + version: 8.57.1 fuels: specifier: 0.94.4 version: 0.94.4 @@ -41,17 +41,17 @@ importers: version: 2.8.8 tsup: specifier: ^8.3.0 - version: 8.3.0(tsx@3.14.0)(typescript@5.4.5) + version: 8.3.0(tsx@3.14.0)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^3.12.7 version: 3.14.0 turbo: specifier: ^1.10.7 - version: 1.13.2 + version: 1.13.4 devDependencies: '@changesets/cli': specifier: ^2.26.2 - version: 2.27.1 + version: 2.27.9 '@fuel-ts/forc': specifier: 0.73.0 version: 0.73.0 @@ -90,31 +90,31 @@ importers: version: link:../test-utils '@types/chai': specifier: ^4.3.1 - version: 4.3.14 + version: 4.3.20 '@types/mocha': specifier: ^9.1.1 version: 9.1.1 chai: specifier: ^4.3.6 - version: 4.4.1 + version: 4.5.0 dotenv: specifier: ^16.0.3 version: 16.4.5 ethers: specifier: 6.13.1 - version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + version: 6.13.1 fuels: specifier: 0.94.4 version: 0.94.4 mocha: specifier: ^10.0.0 - version: 10.4.0 + version: 10.7.3 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@22.5.0)(typescript@5.4.5) + version: 10.9.2(@types/node@22.7.5)(typescript@5.6.2) typescript: specifier: ^5.1.6 - version: 5.4.5 + version: 5.6.2 packages/message-predicates: devDependencies: @@ -132,19 +132,19 @@ importers: version: 0.21.2 '@inquirer/prompts': specifier: ^5.3.8 - version: 5.3.8 + version: 5.5.0 '@nomicfoundation/hardhat-chai-matchers': specifier: ^2.0.4 - version: 2.0.6(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(chai@4.4.1)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(chai@4.5.0)(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.5 - version: 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + version: 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.10 - version: 1.0.10(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + version: 1.0.12(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@nomicfoundation/hardhat-verify': specifier: 1.1.1 - version: 1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + version: 1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@openzeppelin/contracts': specifier: ^4.8.3 version: 4.9.6 @@ -153,16 +153,16 @@ importers: version: 4.9.6 '@openzeppelin/hardhat-upgrades': specifier: ^3.0.4 - version: 3.0.5(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(bufferutil@4.0.5)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(utf-8-validate@5.0.7) + version: 3.4.0(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@typechain/ethers-v6': specifier: ^0.5.1 - version: 0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) + version: 0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) '@typechain/hardhat': specifier: ^9.1.0 - version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5)) + version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))(typechain@8.3.2(typescript@4.9.5)) '@types/chai': specifier: ^4.3.4 - version: 4.3.14 + version: 4.3.20 '@types/cors': specifier: 2.8.17 version: 2.8.17 @@ -171,22 +171,22 @@ importers: version: 4.17.21 '@types/lodash': specifier: ^4.14.202 - version: 4.17.0 + version: 4.17.10 '@types/mocha': specifier: ^10.0.0 - version: 10.0.6 + version: 10.0.9 '@types/node': specifier: ^18.11.9 - version: 18.19.31 + version: 18.19.55 '@typescript-eslint/eslint-plugin': specifier: ^5.43.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.43.0 - version: 5.62.0(eslint@8.57.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.57.1)(typescript@4.9.5) chai: specifier: ^4.3.7 - version: 4.4.1 + version: 4.5.0 cors: specifier: 2.8.5 version: 2.8.5 @@ -195,22 +195,25 @@ importers: version: 16.4.5 ethers: specifier: 6.13.1 - version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + version: 6.13.1 express: specifier: ^4.18.2 - version: 4.19.2 + version: 4.21.0 + fs-extra: + specifier: ^11.2.0 + version: 11.2.0 fuels: specifier: 0.94.0 version: 0.94.0 hardhat: specifier: ^2.20.1 - version: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + version: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) hardhat-deploy: specifier: ^0.12.4 - version: 0.12.4(bufferutil@4.0.5)(utf-8-validate@5.0.7) + version: 0.12.4 inquirer: specifier: ^10.1.8 - version: 10.1.8 + version: 10.2.2 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -228,25 +231,25 @@ importers: version: 4.1.5 prettier-plugin-solidity: specifier: ^1.1.3 - version: 1.3.1(prettier@3.2.5) + version: 1.4.1(prettier@3.3.3) solc: specifier: ^0.8.17 - version: 0.8.25 + version: 0.8.27 solhint: specifier: 3.3.7 version: 3.3.7 solidity-coverage: specifier: ^0.8.5 - version: 0.8.12(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + version: 0.8.13(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) ts-generator: specifier: ^0.1.1 version: 0.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) + version: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) tsup: specifier: ^7.2.0 - version: 7.3.0(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5) + version: 7.3.0(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) typechain: specifier: ^8.3.2 version: 8.3.2(typescript@4.9.5) @@ -258,7 +261,7 @@ importers: dependencies: ethers: specifier: 6.13.1 - version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + version: 6.13.1 fuels: specifier: 0.94.4 version: 0.94.4 @@ -277,17 +280,13 @@ importers: version: 16.4.5 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@22.5.0)(typescript@5.4.5) + version: 10.9.2(@types/node@22.7.5)(typescript@5.6.2) typescript: specifier: ^5.1.6 - version: 5.4.5 + version: 5.6.2 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} @@ -297,74 +296,77 @@ packages: '@aws-crypto/util@1.2.2': resolution: {integrity: sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==} - '@aws-sdk/types@3.535.0': - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/types@3.664.0': + resolution: {integrity: sha512-+GtXktvVgpreM2b+NJL9OqZGsOzHwlCUrO8jgQUvH/yA6Kd8QO2YFhQCp0C9sSzTteZJVqGBu8E0CQurxJHPbw==} + engines: {node: '>=16.0.0'} '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.24.4': - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + '@babel/runtime@7.25.7': + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.0': - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + '@changesets/apply-release-plan@7.0.5': + resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} - '@changesets/assemble-release-plan@6.0.0': - resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + '@changesets/assemble-release-plan@6.0.4': + resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.1': - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + '@changesets/cli@2.27.9': + resolution: {integrity: sha512-q42a/ZbDnxPpCb5Wkm6tMVIxgeI9C/bexntzTeCFBrQEdpisQqk8kCHllYZMDjYtEc1ZzumbMJAG8H0Z4rdvjg==} hasBin: true - '@changesets/config@3.0.0': - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + '@changesets/config@3.0.3': + resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.0.0': - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + '@changesets/get-dependents-graph@2.1.2': + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} '@changesets/get-github-info@0.5.2': resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} - '@changesets/get-release-plan@4.0.0': - resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + '@changesets/get-release-plan@4.0.4': + resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.0': - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + '@changesets/git@3.0.1': + resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} - '@changesets/logger@0.1.0': - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} '@changesets/parse@0.4.0': resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.0': - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + '@changesets/pre@2.0.1': + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.0': - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/read@0.6.1': + resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} + + '@changesets/should-skip-package@0.1.1': + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} @@ -372,8 +374,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.0': - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + '@changesets/write@0.3.2': + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -943,16 +945,16 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@ethereumjs/rlp@4.0.1': @@ -1104,10 +1106,6 @@ packages: resolution: {integrity: sha512-A6vk0c8d1FpRox9w9sSpTX1OOrD8WmIoFScz8HusgkUhlj8B8vK+3d9uLE/Q/35FsSpiJBHP9K+0Uc5QXiKVkg==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/crypto@0.94.1': - resolution: {integrity: sha512-+Ga41iXUxulw6o6mI86/gj3iyXDC0MP03+X7O6XTnOL1WIX1qiOWUnxaupouKhZuNq52k5nVTfH8nTLd9ek/Gg==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/crypto@0.94.4': resolution: {integrity: sha512-51nQ+Ln2jlOlwUGEJ8vpOffn5nl+lthWnT7tkEZxsgC76oiXy3eIeLo1JMTYWDrMhOlMHcRYp6JsWN9by08zCA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1116,10 +1114,6 @@ packages: resolution: {integrity: sha512-8QJNRKG+2GdAsl+BDsOit7QoI4g6nGwclSS+G1OyQBgoRowkMsIJkQpthYnzs5Wicv4vsQ2AniV9L7blea3IvA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/errors@0.94.1': - resolution: {integrity: sha512-eKNBFIlB1xPc13899R0FdhGwiykbkBdBlgAinbjDLm8RSWHYMAFjgRpho6HELcYpLYFqf6uY9ms/J3BBosSFEA==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/errors@0.94.4': resolution: {integrity: sha512-mLlgmh0vxTY7PDZdsgYHCLNXZnIULbKs6LBWrRVxNGbyvqVS6xzDJkOVd1EASEYSlLQ/9CjWrLkibFt/mJ3vLQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1132,10 +1126,6 @@ packages: resolution: {integrity: sha512-JTguSLfYKjab3GzkCb73Bp9Yxrzqh9+upfZr6KBOfh9E4aYhZMd1/CT6bw9JcsWo9nr3faEtnmhSz4U0sgc3kQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/hasher@0.94.1': - resolution: {integrity: sha512-EiaLTk3TwiJOo78O47blhrntEMG4zx1HqjfNcwcOASq11Rd3IdzWjtxQqdnWqTm+bvvaVd2NkoUgd42EtMlR2A==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/hasher@0.94.4': resolution: {integrity: sha512-6EQY/OwM4GE0/a7UZ9ISbz8N9bh0Jz1qufSPKSi5ZgGIzZxbQPeqJnYrf+xgJQjPiv+WP9uxzp72mpr71w7/xg==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1144,10 +1134,6 @@ packages: resolution: {integrity: sha512-9P7jnFL2TGOp67PRJ42W0vVR3CHbfck5Bynt6CCVsHE1tC47l2yZ/TUzKbem67Gxy88H2X9eLgt6Y8vvIP81tw==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/interfaces@0.94.1': - resolution: {integrity: sha512-ygw6wZoXQr2/AU91VuJporo68ySgVsmSRkNiJ+lP9Rq5WLie2TXTR4REyD4UGgTGKvjkwMl5YOVfGNFP6hRX4g==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/interfaces@0.94.4': resolution: {integrity: sha512-LaKgnNF07/90Z6qhzdzJ7ldNAKoHC+mR0VcooKmElzSUZMnu6LpOGP9gNYlvykJ+sr24nKxp48eky9SukI3CNA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1159,10 +1145,6 @@ packages: resolution: {integrity: sha512-Q08lUdgm6MXIyYjyYgJnVKkE+aXc++QtAo9rVdNLz68lWgLa/JUrmB+oR+P5EoyoCfKAeSaHVH/+PUsBGplGGA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/math@0.94.1': - resolution: {integrity: sha512-FzNmIPBTV4KbLi4D+2G0YdIjfC5sC9HTGyd93WITd5DHcqRlHXqTUMENyIa5tenouBXl9g8mNGfc8AJ/6UQIuQ==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/math@0.94.4': resolution: {integrity: sha512-Vxb/5iwEEJJKaLvIxrit8KEfSaiTS9ttXimzK7KtWnDVcMwGiqMeTXe7+c5oGfbbrFNQOMEN+owBkl0FgUACMw==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1209,10 +1191,6 @@ packages: resolution: {integrity: sha512-xFB1K/ju3nzMVlxguzeY7KL0XDhUqltVFuAMZLzx6pO6YKKSffyjA+2SpJr0nisStFEaKXlECzHjixo1j4IZIA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/utils@0.94.1': - resolution: {integrity: sha512-rRcg67TQGeaPyhzgmRL43E7+fwEibpcFy/YZTlXQ7wS3uRuUnJd6EjnVUtOjPJLV6w5tTJ50puSF24iLNc38FA==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - '@fuel-ts/utils@0.94.4': resolution: {integrity: sha512-aRzXZ7QTbD8bdmLcrj7FJiqS4wMQCsTVnMATu9UXDRKWFSUBc8wTkH+X9w9W2VZXsfn2GoW80ZJpVs54PzGMvA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1222,11 +1200,6 @@ packages: engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} hasBin: true - '@fuel-ts/versions@0.94.1': - resolution: {integrity: sha512-Da0X6oTgeic7T6bTmHa0crK+ccFvHEkC8h2SxeE3ptWYqC7osoNRoJTk5O7JO2LD0NKFIYJU9BghooOomXFXNw==} - engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} - hasBin: true - '@fuel-ts/versions@0.94.4': resolution: {integrity: sha512-k/e33mqWbPYdKa3lUBi9p5maFHwjkVvMBzrqfi1L4/8hmE++xSDhr+Fp9RyerILNWM03GAb7cOM7Ke6GabhaPA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1258,9 +1231,10 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1268,61 +1242,66 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead - '@inquirer/checkbox@2.4.7': - resolution: {integrity: sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==} + '@inquirer/checkbox@2.5.0': + resolution: {integrity: sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==} engines: {node: '>=18'} - '@inquirer/confirm@3.1.22': - resolution: {integrity: sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==} + '@inquirer/confirm@3.2.0': + resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/core@9.0.10': - resolution: {integrity: sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==} + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} engines: {node: '>=18'} - '@inquirer/editor@2.1.22': - resolution: {integrity: sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==} + '@inquirer/editor@2.2.0': + resolution: {integrity: sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==} engines: {node: '>=18'} - '@inquirer/expand@2.1.22': - resolution: {integrity: sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==} + '@inquirer/expand@2.3.0': + resolution: {integrity: sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==} engines: {node: '>=18'} - '@inquirer/figures@1.0.5': - resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} + '@inquirer/figures@1.0.7': + resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} engines: {node: '>=18'} - '@inquirer/input@2.2.9': - resolution: {integrity: sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==} + '@inquirer/input@2.3.0': + resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} engines: {node: '>=18'} - '@inquirer/number@1.0.10': - resolution: {integrity: sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==} + '@inquirer/number@1.1.0': + resolution: {integrity: sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==} engines: {node: '>=18'} - '@inquirer/password@2.1.22': - resolution: {integrity: sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==} + '@inquirer/password@2.2.0': + resolution: {integrity: sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==} engines: {node: '>=18'} - '@inquirer/prompts@5.3.8': - resolution: {integrity: sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==} + '@inquirer/prompts@5.5.0': + resolution: {integrity: sha512-BHDeL0catgHdcHbSFFUddNzvx/imzJMft+tWDPwTm3hfu8/tApk1HrooNngB2Mb4qY+KaRWF+iZqoVUPeslEog==} engines: {node: '>=18'} - '@inquirer/rawlist@2.2.4': - resolution: {integrity: sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==} + '@inquirer/rawlist@2.3.0': + resolution: {integrity: sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==} engines: {node: '>=18'} - '@inquirer/search@1.0.7': - resolution: {integrity: sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==} + '@inquirer/search@1.1.0': + resolution: {integrity: sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==} engines: {node: '>=18'} - '@inquirer/select@2.4.7': - resolution: {integrity: sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==} + '@inquirer/select@2.5.0': + resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} engines: {node: '>=18'} - '@inquirer/type@1.5.2': - resolution: {integrity: sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==} + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} '@isaacs/cliui@8.0.2': @@ -1341,8 +1320,8 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1360,18 +1339,19 @@ packages: resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} engines: {node: '>=12.0.0'} - '@next/eslint-plugin-next@13.5.6': - resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==} + '@next/eslint-plugin-next@13.5.7': + resolution: {integrity: sha512-c4vuEOOXeib4js5gDq+zFqAAdRGXX6T0d+zFETiQkRwy7vyj5lBov1dW0Z09nDst2lvxo7VEcKrQMUBH5Vgx7Q==} '@noble/curves@1.2.0': resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} - '@noble/curves@1.3.0': - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} - '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.6.0': + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.2.0': resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} @@ -1379,14 +1359,14 @@ packages: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} - '@noble/hashes@1.3.3': - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + '@noble/secp256k1@1.7.1': resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -1402,50 +1382,40 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nomicfoundation/edr-darwin-arm64@0.3.5': - resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@nomicfoundation/edr-darwin-arm64@0.6.3': + resolution: {integrity: sha512-hqtI7tYDqKG5PDmZ//Z65EH5cgH8VL/SAAu50rpHP7WAVfJWkOCcYbecywwF6nhHdonJbRTDGAeG1/+VOy6zew==} engines: {node: '>= 18'} - cpu: [arm64] - os: [darwin] - '@nomicfoundation/edr-darwin-x64@0.3.5': - resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} + '@nomicfoundation/edr-darwin-x64@0.6.3': + resolution: {integrity: sha512-4fGi79/lyOlRUORhCYsYb3sWqRHuHT7qqzyZfZuNOn8llaxmT1k36xNmvpyg37R8SzjnhT/DzoukSJrs23Ip9Q==} engines: {node: '>= 18'} - cpu: [x64] - os: [darwin] - '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': - resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} + '@nomicfoundation/edr-linux-arm64-gnu@0.6.3': + resolution: {integrity: sha512-yFFTvGFMhfAvQ1Z2itUh1jpoUA+mVROyVELcaxjIq8fyg602lQmbS+NXkhQ+oaeDgJ+06mSENrHBg4fcfRf9cw==} engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/edr-linux-arm64-musl@0.3.5': - resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} + '@nomicfoundation/edr-linux-arm64-musl@0.6.3': + resolution: {integrity: sha512-pOKmd0Fa3a6BHg5qbjbl/jMRELVi9oazbfiuU7Bvgn/dpTK+ID3jwT0SXiuC2zxjmPByWgXL6G9XRf5BPAM2rQ==} engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/edr-linux-x64-gnu@0.3.5': - resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} + '@nomicfoundation/edr-linux-x64-gnu@0.6.3': + resolution: {integrity: sha512-3AUferhkLIXtLV63w5GjpHttzdxZ36i656XMy+pkBZbbiqnzIVeKWg6DJv1A94fQY16gB4gqj9CLq4CWvbNN6w==} engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - '@nomicfoundation/edr-linux-x64-musl@0.3.5': - resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} + '@nomicfoundation/edr-linux-x64-musl@0.6.3': + resolution: {integrity: sha512-fr6bD872WIBXe9YnTDi0CzYepMcYRgSnkVqn0yK4wRnIvKrloWhxXNVY45GVIl51aNZguBnvoA4WEt6HIazs3A==} engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - '@nomicfoundation/edr-win32-x64-msvc@0.3.5': - resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} + '@nomicfoundation/edr-win32-x64-msvc@0.6.3': + resolution: {integrity: sha512-sn34MvN1ajw2Oq1+Drpxej78Z0HfIzI4p4WlolupAV9dOZKzp2JAIQeLVfZpjIFbF3zuyxLPP4dUBrQoFPEqhA==} engines: {node: '>= 18'} - cpu: [x64] - os: [win32] - '@nomicfoundation/edr@0.3.5': - resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} + '@nomicfoundation/edr@0.6.3': + resolution: {integrity: sha512-hThe5ORR75WFYTXKL0K2AyLDxkTMrG+VQ1yL9BhQYsuh3OIH+3yNDxMz2LjfvrpOrMmJ4kk5NKdFewpqDojjXQ==} engines: {node: '>= 18'} '@nomicfoundation/ethereumjs-common@4.0.4': @@ -1474,22 +1444,22 @@ packages: c-kzg: optional: true - '@nomicfoundation/hardhat-chai-matchers@2.0.6': - resolution: {integrity: sha512-Te1Uyo9oJcTCF0Jy9dztaLpshmlpjLf2yPtWXlXuLjMt3RRSmJLm/+rKVTW6gfadAEs12U/it6D0ZRnnRGiICQ==} + '@nomicfoundation/hardhat-chai-matchers@2.0.8': + resolution: {integrity: sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg==} peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 chai: ^4.2.0 ethers: ^6.1.0 hardhat: ^2.9.4 - '@nomicfoundation/hardhat-ethers@3.0.5': - resolution: {integrity: sha512-RNFe8OtbZK6Ila9kIlHp0+S80/0Bu/3p41HUpaRIoHLm6X3WekTd83vob3rE54Duufu1edCiBDxspBzi2rxHHw==} + '@nomicfoundation/hardhat-ethers@3.0.8': + resolution: {integrity: sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA==} peerDependencies: ethers: ^6.1.0 hardhat: ^2.0.0 - '@nomicfoundation/hardhat-network-helpers@1.0.10': - resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} + '@nomicfoundation/hardhat-network-helpers@1.0.12': + resolution: {integrity: sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA==} peerDependencies: hardhat: ^2.9.5 @@ -1498,68 +1468,76 @@ packages: peerDependencies: hardhat: ^2.0.4 - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': - resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + '@nomicfoundation/slang-darwin-arm64@0.17.0': + resolution: {integrity: sha512-O0q94EUtoWy9A5kOTOa9/khtxXDYnLqmuda9pQELurSiwbQEVCPQL8kb34VbOW+ifdre66JM/05Xw9JWhIZ9sA==} engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': - resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + '@nomicfoundation/slang-darwin-x64@0.17.0': + resolution: {integrity: sha512-IaDbHzvT08sBK2HyGzonWhq1uu8IxdjmTqAWHr25Oh/PYnamdi8u4qchZXXYKz/DHLoYN3vIpBXoqLQIomhD/g==} engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': - resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + '@nomicfoundation/slang-linux-arm64-gnu@0.17.0': + resolution: {integrity: sha512-Lj4anvOsQZxs1SycG8VyT2Rl2oqIhyLSUCgGepTt3CiJ/bM+8r8bLJIgh8vKkki4BWz49YsYIgaJB2IPv8FFTw==} engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': - resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + '@nomicfoundation/slang-linux-arm64-musl@0.17.0': + resolution: {integrity: sha512-/xkTCa9d5SIWUBQE3BmLqDFfJRr4yUBwbl4ynPiGUpRXrD69cs6pWKkwjwz/FdBpXqVo36I+zY95qzoTj/YhOA==} engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': - resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + '@nomicfoundation/slang-linux-x64-gnu@0.17.0': + resolution: {integrity: sha512-oe5IO5vntOqYvTd67deCHPIWuSuWm6aYtT2/0Kqz2/VLtGz4ClEulBSRwfnNzBVtw2nksWipE1w8BzhImI7Syg==} engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': - resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + '@nomicfoundation/slang-linux-x64-musl@0.17.0': + resolution: {integrity: sha512-PpYCI5K/kgLAMXaPY0V4VST5gCDprEOh7z/47tbI8kJQumI5odjsj/Cs8MpTo7/uRH6flKYbVNgUzcocWVYrAQ==} engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': - resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + '@nomicfoundation/slang-win32-arm64-msvc@0.17.0': + resolution: {integrity: sha512-u/Mkf7OjokdBilP7QOJj6QYJU4/mjkbKnTX21wLyCIzeVWS7yafRPYpBycKIBj2pRRZ6ceAY5EqRpb0aiCq+0Q==} engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': - resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + '@nomicfoundation/slang-win32-ia32-msvc@0.17.0': + resolution: {integrity: sha512-XJBVQfNnZQUv0tP2JSJ573S+pmgrLWgqSZOGaMllnB/TL1gRci4Z7dYRJUF2s82GlRJE+FHSI2Ro6JISKmlXCg==} engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': - resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + '@nomicfoundation/slang-win32-x64-msvc@0.17.0': + resolution: {integrity: sha512-zPGsAeiTfqfPNYHD8BfrahQmYzA78ZraoHKTGraq/1xwJwzBK4bu/NtvVA4pJjBV+B4L6DCxVhSbpn40q26JQA==} engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': - resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + '@nomicfoundation/slang@0.17.0': + resolution: {integrity: sha512-1GlkGRcGpVnjFw9Z1vvDKOKo2mzparFt7qrl2pDxWp+jrVtlvej98yCMX52pVyrYE7ZeOSZFnx/DtsSgoukStQ==} engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@nomicfoundation/solidity-analyzer@0.1.1': - resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer@0.1.2': + resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} engines: {node: '>= 12'} '@openzeppelin/contracts-upgradeable@4.9.6': @@ -1568,23 +1546,17 @@ packages: '@openzeppelin/contracts@4.9.6': resolution: {integrity: sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==} - '@openzeppelin/defender-admin-client@1.54.1': - resolution: {integrity: sha512-kRpSUdTsnSqntp4FOXIm95t+6VKHc8CUY2Si71VDuxs0q7HSPZkdpRPSntcolwEzWy9L4a8NS/QMwDF5NJ4X1g==} + '@openzeppelin/defender-sdk-base-client@1.15.0': + resolution: {integrity: sha512-nuf/xegMIuKCO0hMrxI1KQKTzQw1iCl/9kew2nJM9MrFIohhfEXItc5rbJRoV/jehmK/Jhi9ATF9OHH09StEsQ==} - '@openzeppelin/defender-base-client@1.54.1': - resolution: {integrity: sha512-DRGz/7KN3ZQwu28YWMOaojrC7jjPkz/uCwkC8/C8B11qwZhA5qIVvyhYHhhFOCl0J84+E3TNdvkPD2q3p2WaJw==} + '@openzeppelin/defender-sdk-deploy-client@1.15.0': + resolution: {integrity: sha512-2ODMN4j5pPYWyIOvA/zRQmJ0tJyqi6NV3S/PyvufBXa3oj/MDnVO5bMGSQFH0M2VE3bg+i/rcUb0hdbX9Rtm5Q==} - '@openzeppelin/defender-sdk-base-client@1.12.0': - resolution: {integrity: sha512-6n5SwJWCjFciC+T7QhfXnkEmkNZGKK0efkCZDAfu/Kd8L1AICnIkWwVte71dnzCBln7wglMiZupSHL3fZqePmQ==} + '@openzeppelin/defender-sdk-network-client@1.15.0': + resolution: {integrity: sha512-tNynCqFB1XYancq/8yGuj0HCSIyNLSRSuH53Hp2Tl+DpM7W5vIkzSRfvJJxC+8Sld83bVavyNJzTN9xid992Ag==} - '@openzeppelin/defender-sdk-deploy-client@1.12.0': - resolution: {integrity: sha512-E1RTyh0kXGRJJy7Kq/qSjQlyHJmtytLLKGHIVbI4Ijo9vwRZ7FZhZgK9lapJNshS4E1p3WgXHSOUJtOfn3F1bg==} - - '@openzeppelin/defender-sdk-network-client@1.12.0': - resolution: {integrity: sha512-0dlEHC27hOVRY+iVcoP2zH8K0jy4O+sOGKz2Ep9eebNcWc7GO6z1wsc4fU51AoiMh+G7cYb+l5z1wQ4Q3Y9vIA==} - - '@openzeppelin/hardhat-upgrades@3.0.5': - resolution: {integrity: sha512-7Klg1B6fH45+7Zxzr6d9mLqudrL9Uk6CUG5AeG5NckPfP4ZlQRo1squcQ8yJPwqDS8rQjfChiqKDelp4LTjyZQ==} + '@openzeppelin/hardhat-upgrades@3.4.0': + resolution: {integrity: sha512-bfPtUCmRT6kfh/Mz56tAAGS8N22Zr3rdCMG3E3g8CW61QRGsaeFHnZRetBgu1JoKocjCavEtis5/x60m+o5XUQ==} hasBin: true peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -1595,8 +1567,8 @@ packages: '@nomicfoundation/hardhat-verify': optional: true - '@openzeppelin/upgrades-core@1.32.6': - resolution: {integrity: sha512-TS8596pD1iAOIJMKSeqfYM4likHs/qw+D11xF+l0OklJ4IGwZ5qE4qkuPuOhwj7R8gwhT4ryFVjOztx2HLwKpw==} + '@openzeppelin/upgrades-core@1.39.0': + resolution: {integrity: sha512-TJ1kMeyp7yD4aDR2bFDK+9m5JVe/ObFDck3erVm2WcBKPtRsmFOP6b0QO1DM6w0HOOIiu8VKfrFDqZ6NyJcUyw==} hasBin: true '@pkgjs/parseargs@0.11.0': @@ -1607,180 +1579,103 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@rollup/rollup-android-arm-eabi@4.14.3': - resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm-eabi@4.22.4': - resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} + '@rollup/rollup-android-arm-eabi@4.24.0': + resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.14.3': - resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-android-arm64@4.22.4': - resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} + '@rollup/rollup-android-arm64@4.24.0': + resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.14.3': - resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} + '@rollup/rollup-darwin-arm64@4.24.0': + resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.22.4': - resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.14.3': - resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.22.4': - resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} + '@rollup/rollup-darwin-x64@4.24.0': + resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.14.3': - resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': - resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.14.3': - resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.22.4': - resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} + '@rollup/rollup-linux-arm-musleabihf@4.24.0': + resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.14.3': - resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} + '@rollup/rollup-linux-arm64-gnu@4.24.0': + resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.22.4': - resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} + '@rollup/rollup-linux-arm64-musl@4.24.0': + resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.14.3': - resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.22.4': - resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': - resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.14.3': - resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} + '@rollup/rollup-linux-riscv64-gnu@4.24.0': + resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.14.3': - resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} + '@rollup/rollup-linux-s390x-gnu@4.24.0': + resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.22.4': - resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.14.3': - resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.22.4': - resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.14.3': - resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + '@rollup/rollup-linux-x64-gnu@4.24.0': + resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.22.4': - resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} + '@rollup/rollup-linux-x64-musl@4.24.0': + resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.14.3': - resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-arm64-msvc@4.22.4': - resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} + '@rollup/rollup-win32-arm64-msvc@4.24.0': + resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.14.3': - resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} + '@rollup/rollup-win32-ia32-msvc@4.24.0': + resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.22.4': - resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.14.3': - resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} + '@rollup/rollup-win32-x64-msvc@4.24.0': + resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.22.4': - resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} - cpu: [x64] - os: [win32] + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@scure/base@1.1.6': - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} '@scure/bip32@1.1.5': resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - '@scure/bip32@1.3.3': - resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} '@scure/bip39@1.1.1': resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - '@scure/bip39@1.2.2': - resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} '@sentry/core@5.30.0': resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} @@ -1810,16 +1705,13 @@ packages: resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} engines: {node: '>=6'} - '@smithy/types@2.12.0': - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} + '@smithy/types@3.5.0': + resolution: {integrity: sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==} + engines: {node: '>=16.0.0'} '@solidity-parser/parser@0.14.5': resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} - '@solidity-parser/parser@0.17.0': - resolution: {integrity: sha512-Nko8R0/kUo391jsEHHxrGM07QFdnPGvlmox4rmH0kNiNAashItAilhy4Mv4pK5gQmW5f4sXAF58fwJbmlkGcVw==} - '@solidity-parser/parser@0.18.0': resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} @@ -1853,8 +1745,8 @@ packages: '@types/bn.js@4.11.6': resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} - '@types/bn.js@5.1.5': - resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -1862,8 +1754,8 @@ packages: '@types/chai-as-promised@7.1.8': resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} - '@types/chai@4.3.14': - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} + '@types/chai@4.3.20': + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -1871,11 +1763,11 @@ packages: '@types/cors@2.8.17': resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@4.19.0': - resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1892,8 +1784,8 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/lodash@4.17.0': - resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + '@types/lodash@4.17.10': + resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==} '@types/lru-cache@5.1.1': resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} @@ -1904,14 +1796,11 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mkdirp@0.5.2': resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} - '@types/mocha@10.0.6': - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + '@types/mocha@10.0.9': + resolution: {integrity: sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q==} '@types/mocha@9.1.1': resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} @@ -1925,14 +1814,11 @@ packages: '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - '@types/node@18.19.31': - resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} - - '@types/node@22.5.0': - resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} + '@types/node@18.19.55': + resolution: {integrity: sha512-zzw5Vw52205Zr/nmErSEkN5FLqXPuKX/k5d1D7RKHATGqU7y6YfX9QxZraUzUrFGqH6XzOzG196BC35ltJC4Cw==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/node@22.7.5': + resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} '@types/pbkdf2@3.1.2': resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} @@ -1940,8 +1826,8 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -2095,8 +1981,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@6.4.2: @@ -2104,8 +1990,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -2130,8 +2016,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} amazon-cognito-identity-js@6.3.12: resolution: {integrity: sha512-s7NKDZgx336cp+oDeUtB2ZzT8jWJp/v2LWuYl+LQtMEODe22RF1IJ4nRiDATp+rp1pTffCZcm44Quw4jx2bqNg==} @@ -2143,10 +2029,6 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2171,8 +2053,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -2209,8 +2091,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} array-back@3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} @@ -2251,20 +2133,14 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} - array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - - array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -2302,24 +2178,22 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + axe-core@4.10.0: + resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} engines: {node: '>=4'} - axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} - axios@1.7.5: - resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} - - axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2350,8 +2224,8 @@ packages: bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} boxen@5.1.2: @@ -2368,9 +2242,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} - brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} @@ -2395,12 +2266,8 @@ packages: buffer@4.9.2: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - bufferutil@4.0.5: - resolution: {integrity: sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==} - engines: {node: '>=6.14.2'} - - bundle-require@4.0.2: - resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} + bundle-require@4.2.1: + resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' @@ -2439,14 +2306,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -2459,13 +2318,13 @@ packages: resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} engines: {node: '>=16'} - chai-as-promised@7.1.1: - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + chai-as-promised@7.1.2: + resolution: {integrity: sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==} peerDependencies: - chai: '>= 2.1.2 < 5' + chai: '>= 2.1.2 < 6' - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} chalk@2.4.2: @@ -2482,14 +2341,14 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -2512,10 +2371,6 @@ packages: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - cli-table@0.3.11: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} @@ -2527,20 +2382,9 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2580,9 +2424,6 @@ packages: commander@2.18.0: resolution: {integrity: sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==} - commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -2595,8 +2436,8 @@ packages: resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} engines: {node: ^12.20.0 || >=14} - compare-versions@6.1.0: - resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2655,19 +2496,6 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -2705,15 +2533,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -2723,22 +2542,18 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decamelize@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -2746,9 +2561,6 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -2765,10 +2577,6 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -2781,8 +2589,8 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} difflib@0.2.4: @@ -2829,8 +2637,12 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -2860,8 +2672,11 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} es-object-atoms@1.0.0: @@ -2899,8 +2714,8 @@ packages: engines: {node: '>=18'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-html@1.0.3: @@ -2928,15 +2743,21 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.6.1: - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2962,34 +2783,34 @@ packages: peerDependencies: eslint: '>=4.19.1' - eslint-plugin-import@2.29.1: - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jest-dom@5.2.0: - resolution: {integrity: sha512-ctnCP0MsLmUvbCyhnOQ+/1OmsZj+e7V6kFunazIx5728Yq7TQnuKI8HOsgPTStB+9iYEpiEa+VfKB09Lq7/3fA==} + eslint-plugin-jest-dom@5.4.0: + resolution: {integrity: sha512-yBqvFsnpS5Sybjoq61cJiUsenRkC9K32hYQBFS9doBR7nbQZZ5FyO+X7MlmfM1C48Ejx/qTuOCgukDUNyzKZ7A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'} peerDependencies: - '@testing-library/dom': ^8.0.0 || ^9.0.0 - eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 + '@testing-library/dom': ^8.0.0 || ^9.0.0 || ^10.0.0 + eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 peerDependenciesMeta: '@testing-library/dom': optional: true - eslint-plugin-jsx-a11y@6.8.0: - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + eslint-plugin-jsx-a11y@6.10.0: + resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-prettier@5.1.3: - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -3002,20 +2823,20 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.34.1: - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + eslint-plugin-react@7.37.1: + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-testing-library@6.2.2: - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + eslint-plugin-testing-library@6.3.0: + resolution: {integrity: sha512-GYcEErTt6EGwE0bPDY+4aehfEBpB2gDBFKohir8jlATSUvzStEyzCx8QWB/14xeKc/AwyXkzScSzMHnFojkWrA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 @@ -3047,11 +2868,13 @@ packages: eslint@5.16.0: resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==} engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@5.0.1: @@ -3072,8 +2895,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -3100,8 +2923,8 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - ethereum-bloom-filters@1.1.0: - resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} ethereum-cryptography@0.1.3: resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} @@ -3109,8 +2932,8 @@ packages: ethereum-cryptography@1.2.0: resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - ethereum-cryptography@2.1.3: - resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} ethereumjs-abi@0.6.8: resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} @@ -3148,8 +2971,8 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} extendable-error@0.1.7: @@ -3182,11 +3005,14 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-uri@3.0.2: + resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fdir@6.3.0: - resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} + fdir@6.4.0: + resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -3212,8 +3038,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} find-replace@3.0.0: @@ -3232,9 +3058,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@2.0.1: resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} engines: {node: '>=4'} @@ -3256,8 +3079,8 @@ packages: fmix@0.1.0: resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -3268,8 +3091,8 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} form-data@3.0.1: @@ -3291,13 +3114,14 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fs-extra@0.30.0: - resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -3364,8 +3188,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} ghost-testrpc@0.0.2: resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} @@ -3379,30 +3203,35 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + deprecated: Glob versions prior to v9 are no longer supported glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + deprecated: Glob versions prior to v9 are no longer supported glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.0.3: resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} @@ -3420,8 +3249,8 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} globby@10.0.2: @@ -3438,9 +3267,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -3464,15 +3290,11 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - hardhat-deploy@0.12.4: resolution: {integrity: sha512-bYO8DIyeGxZWlhnMoCBon9HNZb6ji0jQn7ngP1t5UmGhC8rQYhji7B73qETMOFhzt5ECZPr+U52duj3nubsqdQ==} - hardhat@2.22.3: - resolution: {integrity: sha512-k8JV2ECWNchD6ahkg2BR5wKVxY0OiKot7fuxiIpRK0frRqyOljcR2vKwgWSLw6YIeDcNNA4xybj7Og7NSxr2hA==} + hardhat@2.22.12: + resolution: {integrity: sha512-yok65M+LsOeTBHQsjg//QreGCyrsaNmeLVzhTFqlOvZ4ZE5y69N0wRxH1b2BC9dGK8S8OPUJMNiL9X0RAvbm8w==} hasBin: true peerDependencies: ts-node: '*' @@ -3567,12 +3389,12 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} @@ -3596,6 +3418,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3607,8 +3430,8 @@ packages: resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - inquirer@10.1.8: - resolution: {integrity: sha512-syxGpOzLyqVeZi1KDBjRTnCn5PiGWySGHP0BbqXbqsEK0ckkZk3egAepEWslUjZXj0rhkUapVXM/IpADWe4D6w==} + inquirer@10.2.2: + resolution: {integrity: sha512-tyao/4Vo36XnUItZ7DnUXX4f1jVao2mSrleV/5IPtW/XAEA26hRVsbc68nuTEKWcr5vMP/1mVoT2O7u8H4v1Vg==} engines: {node: '>=18'} inquirer@6.5.2: @@ -3630,6 +3453,10 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -3652,12 +3479,16 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} @@ -3718,10 +3549,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -3792,9 +3619,8 @@ packages: iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} @@ -3823,9 +3649,6 @@ packages: json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -3835,6 +3658,10 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stream-stringify@3.1.6: + resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} + engines: {node: '>=7.10.1'} + json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -3842,9 +3669,6 @@ packages: jsonc-parser@3.1.0: resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} - jsonfile@2.4.0: - resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} - jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -3869,15 +3693,8 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - klaw@1.3.1: - resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} - - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - - language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} @@ -3891,8 +3708,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -3909,10 +3726,6 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -3960,31 +3773,18 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lru_map@0.3.3: resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - markdown-it@13.0.1: resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} hasBin: true @@ -4019,12 +3819,8 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} - - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -4065,10 +3861,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -4078,10 +3870,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} @@ -4090,25 +3878,17 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mixme@0.5.10: - resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} - engines: {node: '>= 8.0.0'} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -4121,17 +3901,18 @@ packages: mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + mocha@10.7.3: + resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} engines: {node: '>= 14.0.0'} hasBin: true + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -4179,8 +3960,8 @@ packages: encoding: optional: true - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true nofilter@3.1.0: @@ -4215,8 +3996,13 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -4238,10 +4024,6 @@ packages: resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} engines: {node: '>= 0.4'} - object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} - object.values@1.2.0: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} @@ -4268,8 +4050,8 @@ packages: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} ordinal@1.0.3: @@ -4326,6 +4108,12 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-manager-detector@0.2.1: + resolution: {integrity: sha512-/hVW2fZvAdEas+wyKh0SnlZ2mx0NIa1+j11YaQkogEJkcMErbwchHCuo8z7lEtajZJQZ6rgZNVTWMVVd71Bjng==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -4334,10 +4122,6 @@ packages: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -4368,12 +4152,12 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -4390,9 +4174,6 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - picocolors@1.1.0: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} @@ -4421,10 +4202,6 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - portfinder@1.0.32: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} @@ -4463,10 +4240,6 @@ packages: yaml: optional: true - preferred-pm@3.1.3: - resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} - engines: {node: '>=10'} - prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -4479,8 +4252,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier-plugin-solidity@1.3.1: - resolution: {integrity: sha512-MN4OP5I2gHAzHZG1wcuJl0FsLS3c4Cc5494bbg+6oQWBPuEamjwDvmGfFMZ6NFzsh3Efd9UUxeT7ImgjNH4ozA==} + prettier-plugin-solidity@1.4.1: + resolution: {integrity: sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==} engines: {node: '>=16'} peerDependencies: prettier: '>=2.3.0' @@ -4495,8 +4268,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true @@ -4527,21 +4300,13 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - - qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - ramda@0.30.1: resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} @@ -4559,18 +4324,10 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -4583,6 +4340,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -4591,10 +4352,6 @@ packages: resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} engines: {node: '>=6.0.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - reduce-flatten@2.0.0: resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} engines: {node: '>=6'} @@ -4606,8 +4363,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} regexpp@2.0.1: @@ -4622,9 +4379,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -4676,10 +4430,7 @@ packages: rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true - - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: @@ -4687,9 +4438,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.9: - resolution: {integrity: sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==} - engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true ripemd160@2.0.2: @@ -4699,13 +4449,8 @@ packages: resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true - rollup@4.14.3: - resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.22.4: - resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} + rollup@4.24.0: + resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4764,25 +4509,22 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -4848,18 +4590,13 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - - solc@0.7.3: - resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} - engines: {node: '>=8.0.0'} + solc@0.8.26: + resolution: {integrity: sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==} + engines: {node: '>=10.0.0'} hasBin: true - solc@0.8.25: - resolution: {integrity: sha512-7P0TF8gPeudl1Ko3RGkyY6XVCxe2SdD/qQhtns1vl3yAbK/PDifKDLHGtx1t7mX3LgR7ojV7Fg/Kc6Q9D2T8UQ==} + solc@0.8.27: + resolution: {integrity: sha512-BNxMol2tUAbkH7HKlXBcBqrGi2aqgv+uMHz26mJyTtlVgWmBA4ktiw0qVKHfkjf2oaHbwtbtaSeE2dhn/gTAKw==} engines: {node: '>=10.0.0'} hasBin: true @@ -4867,14 +4604,11 @@ packages: resolution: {integrity: sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==} hasBin: true - solidity-ast@0.4.56: - resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} - - solidity-comments-extractor@0.0.8: - resolution: {integrity: sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g==} + solidity-ast@0.4.59: + resolution: {integrity: sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g==} - solidity-coverage@0.8.12: - resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} + solidity-coverage@0.8.13: + resolution: {integrity: sha512-RiBoI+kF94V3Rv0+iwOj3HQVSqNzA9qm/qDP1ZDXK5IX0Cvho1qiz8hAXTsAo6KOIUeP73jfscq0KlLqVxzGWA==} hasBin: true peerDependencies: hardhat: ^2.11.0 @@ -4906,8 +4640,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4920,8 +4654,9 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} string-format@2.0.0: resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} @@ -4942,6 +4677,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string.prototype.includes@2.0.0: + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} + string.prototype.matchall@4.0.11: resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} @@ -4950,6 +4688,9 @@ packages: resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -4992,10 +4733,6 @@ packages: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} engines: {node: '>=6.5.0', npm: '>=3'} - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -5029,8 +4766,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} table-layout@1.0.2: @@ -5069,8 +4806,8 @@ packages: tiny-case@1.0.3: resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} - tinyglobby@0.2.6: - resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} + tinyglobby@0.2.9: + resolution: {integrity: sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==} engines: {node: '>=12.0.0'} tmp@0.0.33: @@ -5101,10 +4838,6 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -5153,8 +4886,8 @@ packages: tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} tsort@0.0.1: resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} @@ -5205,43 +4938,38 @@ packages: resolution: {integrity: sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==} hasBin: true - tty-table@4.2.3: - resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} - engines: {node: '>=8.0.0'} - hasBin: true - - turbo-darwin-64@1.13.2: - resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} + turbo-darwin-64@1.13.4: + resolution: {integrity: sha512-A0eKd73R7CGnRinTiS7txkMElg+R5rKFp9HV7baDiEL4xTG1FIg/56Vm7A5RVgg8UNgG2qNnrfatJtb+dRmNdw==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@1.13.2: - resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} + turbo-darwin-arm64@1.13.4: + resolution: {integrity: sha512-eG769Q0NF6/Vyjsr3mKCnkG/eW6dKMBZk6dxWOdrHfrg6QgfkBUk0WUUujzdtVPiUIvsh4l46vQrNVd9EOtbyA==} cpu: [arm64] os: [darwin] - turbo-linux-64@1.13.2: - resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} + turbo-linux-64@1.13.4: + resolution: {integrity: sha512-Bq0JphDeNw3XEi+Xb/e4xoKhs1DHN7OoLVUbTIQz+gazYjigVZvtwCvgrZI7eW9Xo1eOXM2zw2u1DGLLUfmGkQ==} cpu: [x64] os: [linux] - turbo-linux-arm64@1.13.2: - resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} + turbo-linux-arm64@1.13.4: + resolution: {integrity: sha512-BJcXw1DDiHO/okYbaNdcWN6szjXyHWx9d460v6fCHY65G8CyqGU3y2uUTPK89o8lq/b2C8NK0yZD+Vp0f9VoIg==} cpu: [arm64] os: [linux] - turbo-windows-64@1.13.2: - resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} + turbo-windows-64@1.13.4: + resolution: {integrity: sha512-OFFhXHOFLN7A78vD/dlVuuSSVEB3s9ZBj18Tm1hk3aW1HTWTuAw0ReN6ZNlVObZUHvGy8d57OAGGxf2bT3etQw==} cpu: [x64] os: [win32] - turbo-windows-arm64@1.13.2: - resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} + turbo-windows-arm64@1.13.4: + resolution: {integrity: sha512-u5A+VOKHswJJmJ8o8rcilBfU5U3Y1TTAfP9wX8bFh8teYF1ghP0EhtMRLjhtp6RPa+XCxHHVA2CiC3gbh5eg5g==} cpu: [arm64] os: [win32] - turbo@1.13.2: - resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} + turbo@1.13.4: + resolution: {integrity: sha512-1q7+9UJABuBAHrcC4Sxp5lOqYS5mvxRrwa33wpIyM18hlOCpRD/fTJNxZ0vhbMcJmz15o9kkVm743mPn7p6jpQ==} hasBin: true tweetnacl-util@0.15.1: @@ -5258,14 +4986,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -5274,24 +4998,16 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.25.0: - resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} + type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} type-is@1.6.18: @@ -5325,8 +5041,8 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} hasBin: true @@ -5341,11 +5057,6 @@ packages: uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - uglify-js@3.19.2: - resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} - engines: {node: '>=0.8.0'} - hasBin: true - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -5364,9 +5075,9 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - undici@6.13.0: - resolution: {integrity: sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw==} - engines: {node: '>=18.0'} + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} @@ -5386,10 +5097,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - utf-8-validate@5.0.7: - resolution: {integrity: sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==} - engines: {node: '>=6.14.2'} - utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} @@ -5414,9 +5121,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web3-utils@1.10.4: resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} engines: {node: '>=8.0.0'} @@ -5436,21 +5140,14 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} - which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -5479,8 +5176,8 @@ packages: resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} engines: {node: '>=8.0.0'} - workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + workerpool@6.5.1: + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -5525,9 +5222,6 @@ packages: utf-8-validate: optional: true - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -5535,42 +5229,23 @@ packages: yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} hasBin: true - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - yargs-unparser@2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -5594,55 +5269,53 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@adraffy/ens-normalize@1.10.1': {} '@aws-crypto/sha256-js@1.2.2': dependencies: '@aws-crypto/util': 1.2.2 - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.664.0 tslib: 1.14.1 '@aws-crypto/util@1.2.2': dependencies: - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.664.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 - '@aws-sdk/types@3.535.0': + '@aws-sdk/types@3.664.0': dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 + '@smithy/types': 3.5.0 + tslib: 2.7.0 '@aws-sdk/util-utf8-browser@3.259.0': dependencies: - tslib: 2.6.2 + tslib: 2.7.0 - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 + '@babel/highlight': 7.25.7 + picocolors: 1.1.0 - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.25.7': {} - '@babel/highlight@7.24.2': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 - '@babel/runtime@7.24.4': + '@babel/runtime@7.25.7': dependencies: regenerator-runtime: 0.14.1 - '@changesets/apply-release-plan@7.0.0': + '@changesets/apply-release-plan@7.0.5': dependencies: - '@babel/runtime': 7.24.4 - '@changesets/config': 3.0.0 + '@changesets/config': 3.0.3 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.0 + '@changesets/git': 3.0.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -5651,61 +5324,57 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.0': + '@changesets/assemble-release-plan@6.0.4': dependencies: - '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.0 + semver: 7.6.3 '@changesets/changelog-git@0.2.0': dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.1': + '@changesets/cli@2.27.9': dependencies: - '@babel/runtime': 7.24.4 - '@changesets/apply-release-plan': 7.0.0 - '@changesets/assemble-release-plan': 6.0.0 + '@changesets/apply-release-plan': 7.0.5 + '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.0 + '@changesets/config': 3.0.3 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 - '@changesets/get-release-plan': 4.0.0 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.4 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.0 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.8 ansi-colors: 4.1.3 - chalk: 2.4.2 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 - human-id: 1.0.2 - meow: 6.1.1 - outdent: 0.5.0 + mri: 1.2.0 p-limit: 2.3.0 - preferred-pm: 3.1.3 + package-manager-detector: 0.2.1 + picocolors: 1.1.0 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.3 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.3 - '@changesets/config@3.0.0': + '@changesets/config@3.0.3': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 - '@changesets/logger': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/logger': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 @@ -5715,13 +5384,12 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.0.0': + '@changesets/get-dependents-graph@2.1.2': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 - semver: 7.6.0 + picocolors: 1.1.0 + semver: 7.6.3 '@changesets/get-github-info@0.5.2': dependencies: @@ -5730,63 +5398,62 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.0': + '@changesets/get-release-plan@4.0.4': dependencies: - '@babel/runtime': 7.24.4 - '@changesets/assemble-release-plan': 6.0.0 - '@changesets/config': 3.0.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/assemble-release-plan': 6.0.4 + '@changesets/config': 3.0.3 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.0': + '@changesets/git@3.0.1': dependencies: - '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 spawndamnit: 2.0.0 - '@changesets/logger@0.1.0': + '@changesets/logger@0.1.1': dependencies: - chalk: 2.4.2 + picocolors: 1.1.0 '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.0': + '@changesets/pre@2.0.1': dependencies: - '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.0': + '@changesets/read@0.6.1': dependencies: - '@babel/runtime': 7.24.4 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 - chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 + picocolors: 1.1.0 + + '@changesets/should-skip-package@0.1.1': + dependencies: + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 '@changesets/types@4.1.0': {} '@changesets/types@6.0.0': {} - '@changesets/write@0.3.0': + '@changesets/write@0.3.2': dependencies: - '@babel/runtime': 7.24.4 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -6075,20 +5742,20 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6096,14 +5763,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.57.1': {} '@ethereumjs/rlp@4.0.1': {} '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.1.3 + ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 '@ethersproject/abi@5.7.0': @@ -6243,7 +5910,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)': + '@ethersproject/providers@5.7.2': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -6264,7 +5931,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -6367,11 +6034,11 @@ snapshots: dependencies: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 - '@fuel-ts/hasher': 0.94.1 + '@fuel-ts/hasher': 0.94.0 '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/math': 0.94.0 '@fuel-ts/utils': 0.94.0 - type-fest: 4.25.0 + type-fest: 4.26.1 '@fuel-ts/abi-coder@0.94.4': dependencies: @@ -6381,20 +6048,20 @@ snapshots: '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/math': 0.94.4 '@fuel-ts/utils': 0.94.4 - type-fest: 4.25.0 + type-fest: 4.26.1 '@fuel-ts/abi-typegen@0.94.0': dependencies: '@fuel-ts/errors': 0.94.0 - '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/utils': 0.94.0 '@fuel-ts/versions': 0.94.0 commander: 12.1.0 - glob: 10.3.12 + glob: 10.4.5 handlebars: 4.7.8 mkdirp: 1.0.4 ramda: 0.30.1 - rimraf: 5.0.9 + rimraf: 5.0.10 '@fuel-ts/abi-typegen@0.94.4': dependencies: @@ -6403,11 +6070,11 @@ snapshots: '@fuel-ts/utils': 0.94.4 '@fuel-ts/versions': 0.94.4 commander: 12.1.0 - glob: 10.3.12 + glob: 10.4.5 handlebars: 4.7.8 mkdirp: 1.0.4 ramda: 0.30.1 - rimraf: 5.0.9 + rimraf: 5.0.10 '@fuel-ts/account@0.94.0': dependencies: @@ -6423,7 +6090,7 @@ snapshots: '@fuel-ts/utils': 0.94.0 '@fuel-ts/versions': 0.94.0 '@fuels/vm-asm': 0.56.0 - '@noble/curves': 1.4.2 + '@noble/curves': 1.6.0 events: 3.3.0 graphql: 16.9.0 graphql-request: 5.0.0(graphql@16.9.0) @@ -6448,7 +6115,7 @@ snapshots: '@fuel-ts/utils': 0.94.4 '@fuel-ts/versions': 0.94.4 '@fuels/vm-asm': 0.56.0 - '@noble/curves': 1.4.2 + '@noble/curves': 1.6.0 events: 3.3.0 graphql: 16.9.0 graphql-request: 5.0.0(graphql@16.9.0) @@ -6464,8 +6131,8 @@ snapshots: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 '@fuel-ts/interfaces': 0.94.0 - '@fuel-ts/utils': 0.94.1 - '@noble/hashes': 1.4.0 + '@fuel-ts/utils': 0.94.0 + '@noble/hashes': 1.5.0 bech32: 2.0.0 '@fuel-ts/address@0.94.4': @@ -6474,7 +6141,7 @@ snapshots: '@fuel-ts/errors': 0.94.4 '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 bech32: 2.0.0 '@fuel-ts/contract@0.94.0': @@ -6484,8 +6151,8 @@ snapshots: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 '@fuel-ts/hasher': 0.94.0 - '@fuel-ts/interfaces': 0.94.1 - '@fuel-ts/math': 0.94.1 + '@fuel-ts/interfaces': 0.94.0 + '@fuel-ts/math': 0.94.0 '@fuel-ts/merkle': 0.94.0 '@fuel-ts/program': 0.94.0 '@fuel-ts/transactions': 0.94.0 @@ -6522,16 +6189,8 @@ snapshots: '@fuel-ts/errors': 0.94.0 '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/math': 0.94.0 - '@fuel-ts/utils': 0.94.1 - '@noble/hashes': 1.4.0 - - '@fuel-ts/crypto@0.94.1': - dependencies: - '@fuel-ts/errors': 0.94.1 - '@fuel-ts/interfaces': 0.94.1 - '@fuel-ts/math': 0.94.1 - '@fuel-ts/utils': 0.94.1 - '@noble/hashes': 1.4.0 + '@fuel-ts/utils': 0.94.0 + '@noble/hashes': 1.5.0 '@fuel-ts/crypto@0.94.4': dependencies: @@ -6539,16 +6198,12 @@ snapshots: '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/math': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 '@fuel-ts/errors@0.94.0': dependencies: '@fuel-ts/versions': 0.94.0 - '@fuel-ts/errors@0.94.1': - dependencies: - '@fuel-ts/versions': 0.94.1 - '@fuel-ts/errors@0.94.4': dependencies: '@fuel-ts/versions': 0.94.4 @@ -6562,51 +6217,36 @@ snapshots: '@fuel-ts/hasher@0.94.0': dependencies: '@fuel-ts/crypto': 0.94.0 - '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/utils': 0.94.0 - '@noble/hashes': 1.4.0 - - '@fuel-ts/hasher@0.94.1': - dependencies: - '@fuel-ts/crypto': 0.94.1 - '@fuel-ts/interfaces': 0.94.1 - '@fuel-ts/utils': 0.94.1 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 '@fuel-ts/hasher@0.94.4': dependencies: '@fuel-ts/crypto': 0.94.4 '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 '@fuel-ts/interfaces@0.94.0': {} - '@fuel-ts/interfaces@0.94.1': {} - '@fuel-ts/interfaces@0.94.4': {} '@fuel-ts/math@0.21.2': dependencies: - '@types/bn.js': 5.1.5 + '@types/bn.js': 5.1.6 bn.js: 5.2.1 '@fuel-ts/math@0.94.0': dependencies: '@fuel-ts/errors': 0.94.0 - '@types/bn.js': 5.1.5 - bn.js: 5.2.1 - - '@fuel-ts/math@0.94.1': - dependencies: - '@fuel-ts/errors': 0.94.1 - '@types/bn.js': 5.1.5 + '@types/bn.js': 5.1.6 bn.js: 5.2.1 '@fuel-ts/math@0.94.4': dependencies: '@fuel-ts/errors': 0.94.4 - '@types/bn.js': 5.1.5 + '@types/bn.js': 5.1.6 bn.js: 5.2.1 '@fuel-ts/merkle-shared@0.21.2': @@ -6621,7 +6261,7 @@ snapshots: '@fuel-ts/merkle@0.94.0': dependencies: - '@fuel-ts/hasher': 0.94.1 + '@fuel-ts/hasher': 0.94.0 '@fuel-ts/math': 0.94.0 '@fuel-ts/merkle@0.94.4': @@ -6696,8 +6336,8 @@ snapshots: '@fuel-ts/abi-coder': 0.94.0 '@fuel-ts/address': 0.94.0 '@fuel-ts/errors': 0.94.0 - '@fuel-ts/hasher': 0.94.1 - '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/hasher': 0.94.0 + '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/math': 0.94.0 '@fuel-ts/utils': 0.94.0 @@ -6719,14 +6359,6 @@ snapshots: '@fuel-ts/versions': 0.94.0 fflate: 0.8.2 - '@fuel-ts/utils@0.94.1': - dependencies: - '@fuel-ts/errors': 0.94.1 - '@fuel-ts/interfaces': 0.94.1 - '@fuel-ts/math': 0.94.1 - '@fuel-ts/versions': 0.94.1 - fflate: 0.8.2 - '@fuel-ts/utils@0.94.4': dependencies: '@fuel-ts/errors': 0.94.4 @@ -6740,11 +6372,6 @@ snapshots: chalk: 4.1.2 cli-table: 0.3.11 - '@fuel-ts/versions@0.94.1': - dependencies: - chalk: 4.1.2 - cli-table: 0.3.11 - '@fuel-ts/versions@0.94.4': dependencies: chalk: 4.1.2 @@ -6757,28 +6384,29 @@ snapshots: transitivePeerDependencies: - encoding - '@fuels/eslint-plugin@0.20.0(eslint@8.57.0)(typescript@5.4.5)': + '@fuels/eslint-plugin@0.20.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@next/eslint-plugin-next': 13.5.6 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + '@next/eslint-plugin-next': 13.5.7 + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jest-dom: 5.2.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) - eslint-plugin-react: 7.34.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.5) - prettier: 3.2.5 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jest-dom: 5.4.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-react: 7.37.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + eslint-plugin-testing-library: 6.3.0(eslint@8.57.1)(typescript@5.6.2) + prettier: 3.3.3 transitivePeerDependencies: - '@testing-library/dom' - '@types/eslint' - eslint-import-resolver-webpack + - eslint-plugin-import-x - supports-color - typescript @@ -6786,9 +6414,9 @@ snapshots: dependencies: prettier: 2.8.8 - '@fuels/ts-config@0.0.10(typescript@5.4.5)': + '@fuels/ts-config@0.0.10(typescript@5.6.2)': dependencies: - typescript: 5.4.5 + typescript: 5.6.2 '@fuels/vm-asm@0.56.0': {} @@ -6796,10 +6424,10 @@ snapshots: dependencies: graphql: 16.9.0 - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6808,28 +6436,27 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@inquirer/checkbox@2.4.7': + '@inquirer/checkbox@2.5.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 1.5.5 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/confirm@3.1.22': + '@inquirer/confirm@3.2.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 - '@inquirer/core@9.0.10': + '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.2 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.5.0 + '@types/node': 22.7.5 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 - cli-spinners: 2.9.2 cli-width: 4.1.0 mute-stream: 1.0.0 signal-exit: 4.1.0 @@ -6837,71 +6464,75 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/editor@2.1.22': + '@inquirer/editor@2.2.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 external-editor: 3.1.0 - '@inquirer/expand@2.1.22': + '@inquirer/expand@2.3.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.5': {} + '@inquirer/figures@1.0.7': {} - '@inquirer/input@2.2.9': + '@inquirer/input@2.3.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 - '@inquirer/number@1.0.10': + '@inquirer/number@1.1.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 - '@inquirer/password@2.1.22': + '@inquirer/password@2.2.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 ansi-escapes: 4.3.2 - '@inquirer/prompts@5.3.8': + '@inquirer/prompts@5.5.0': dependencies: - '@inquirer/checkbox': 2.4.7 - '@inquirer/confirm': 3.1.22 - '@inquirer/editor': 2.1.22 - '@inquirer/expand': 2.1.22 - '@inquirer/input': 2.2.9 - '@inquirer/number': 1.0.10 - '@inquirer/password': 2.1.22 - '@inquirer/rawlist': 2.2.4 - '@inquirer/search': 1.0.7 - '@inquirer/select': 2.4.7 + '@inquirer/checkbox': 2.5.0 + '@inquirer/confirm': 3.2.0 + '@inquirer/editor': 2.2.0 + '@inquirer/expand': 2.3.0 + '@inquirer/input': 2.3.0 + '@inquirer/number': 1.1.0 + '@inquirer/password': 2.2.0 + '@inquirer/rawlist': 2.3.0 + '@inquirer/search': 1.1.0 + '@inquirer/select': 2.5.0 - '@inquirer/rawlist@2.2.4': + '@inquirer/rawlist@2.3.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 yoctocolors-cjs: 2.1.2 - '@inquirer/search@1.0.7': + '@inquirer/search@1.1.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 1.5.5 yoctocolors-cjs: 2.1.2 - '@inquirer/select@2.4.7': + '@inquirer/select@2.5.0': dependencies: - '@inquirer/core': 9.0.10 - '@inquirer/figures': 1.0.5 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 1.5.5 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/type@1.5.2': + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 + + '@inquirer/type@2.0.0': dependencies: mute-stream: 1.0.0 @@ -6917,35 +6548,35 @@ snapshots: '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.25.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.25.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -6960,7 +6591,7 @@ snapshots: tweetnacl: 1.0.3 tweetnacl-util: 0.15.1 - '@next/eslint-plugin-next@13.5.6': + '@next/eslint-plugin-next@13.5.7': dependencies: glob: 7.1.7 @@ -6968,22 +6599,22 @@ snapshots: dependencies: '@noble/hashes': 1.3.2 - '@noble/curves@1.3.0': - dependencies: - '@noble/hashes': 1.3.3 - '@noble/curves@1.4.2': dependencies: '@noble/hashes': 1.4.0 + '@noble/curves@1.6.0': + dependencies: + '@noble/hashes': 1.5.0 + '@noble/hashes@1.2.0': {} '@noble/hashes@1.3.2': {} - '@noble/hashes@1.3.3': {} - '@noble/hashes@1.4.0': {} + '@noble/hashes@1.5.0': {} + '@noble/secp256k1@1.7.1': {} '@nodelib/fs.scandir@2.1.5': @@ -6998,36 +6629,31 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nomicfoundation/edr-darwin-arm64@0.3.5': - optional: true + '@nolyfill/is-core-module@1.0.39': {} - '@nomicfoundation/edr-darwin-x64@0.3.5': - optional: true + '@nomicfoundation/edr-darwin-arm64@0.6.3': {} - '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': - optional: true + '@nomicfoundation/edr-darwin-x64@0.6.3': {} - '@nomicfoundation/edr-linux-arm64-musl@0.3.5': - optional: true + '@nomicfoundation/edr-linux-arm64-gnu@0.6.3': {} - '@nomicfoundation/edr-linux-x64-gnu@0.3.5': - optional: true + '@nomicfoundation/edr-linux-arm64-musl@0.6.3': {} - '@nomicfoundation/edr-linux-x64-musl@0.3.5': - optional: true + '@nomicfoundation/edr-linux-x64-gnu@0.6.3': {} - '@nomicfoundation/edr-win32-x64-msvc@0.3.5': - optional: true + '@nomicfoundation/edr-linux-x64-musl@0.6.3': {} - '@nomicfoundation/edr@0.3.5': - optionalDependencies: - '@nomicfoundation/edr-darwin-arm64': 0.3.5 - '@nomicfoundation/edr-darwin-x64': 0.3.5 - '@nomicfoundation/edr-linux-arm64-gnu': 0.3.5 - '@nomicfoundation/edr-linux-arm64-musl': 0.3.5 - '@nomicfoundation/edr-linux-x64-gnu': 0.3.5 - '@nomicfoundation/edr-linux-x64-musl': 0.3.5 - '@nomicfoundation/edr-win32-x64-msvc': 0.3.5 + '@nomicfoundation/edr-win32-x64-msvc@0.6.3': {} + + '@nomicfoundation/edr@0.6.3': + dependencies: + '@nomicfoundation/edr-darwin-arm64': 0.6.3 + '@nomicfoundation/edr-darwin-x64': 0.6.3 + '@nomicfoundation/edr-linux-arm64-gnu': 0.6.3 + '@nomicfoundation/edr-linux-arm64-musl': 0.6.3 + '@nomicfoundation/edr-linux-x64-gnu': 0.6.3 + '@nomicfoundation/edr-linux-x64-musl': 0.6.3 + '@nomicfoundation/edr-win32-x64-msvc': 0.6.3 '@nomicfoundation/ethereumjs-common@4.0.4': dependencies: @@ -7049,39 +6675,39 @@ snapshots: '@nomicfoundation/ethereumjs-rlp': 5.0.4 ethereum-cryptography: 0.1.3 - '@nomicfoundation/hardhat-chai-matchers@2.0.6(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(chai@4.4.1)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': + '@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(chai@4.5.0)(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) '@types/chai-as-promised': 7.1.8 - chai: 4.4.1 - chai-as-promised: 7.1.1(chai@4.4.1) - deep-eql: 4.1.3 - ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + chai: 4.5.0 + chai-as-promised: 7.1.2(chai@4.5.0) + deep-eql: 4.1.4 + ethers: 6.13.1 + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) ordinal: 1.0.3 - '@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': + '@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': dependencies: - debug: 4.3.4(supports-color@8.1.1) - ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + debug: 4.3.7(supports-color@8.1.1) + ethers: 6.13.1 + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) lodash.isequal: 4.5.0 transitivePeerDependencies: - supports-color - '@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': + '@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) - '@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': + '@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 8.1.0 chalk: 2.4.2 - debug: 4.3.4(supports-color@8.1.1) - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + debug: 4.3.7(supports-color@8.1.1) + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.2 @@ -7089,136 +6715,128 @@ snapshots: transitivePeerDependencies: - supports-color - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': - optional: true + '@nomicfoundation/slang-darwin-arm64@0.17.0': {} - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': - optional: true + '@nomicfoundation/slang-darwin-x64@0.17.0': {} - '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': - optional: true + '@nomicfoundation/slang-linux-arm64-gnu@0.17.0': {} + + '@nomicfoundation/slang-linux-arm64-musl@0.17.0': {} + + '@nomicfoundation/slang-linux-x64-gnu@0.17.0': {} - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': + '@nomicfoundation/slang-linux-x64-musl@0.17.0': {} + + '@nomicfoundation/slang-win32-arm64-msvc@0.17.0': {} + + '@nomicfoundation/slang-win32-ia32-msvc@0.17.0': {} + + '@nomicfoundation/slang-win32-x64-msvc@0.17.0': {} + + '@nomicfoundation/slang@0.17.0': + dependencies: + '@nomicfoundation/slang-darwin-arm64': 0.17.0 + '@nomicfoundation/slang-darwin-x64': 0.17.0 + '@nomicfoundation/slang-linux-arm64-gnu': 0.17.0 + '@nomicfoundation/slang-linux-arm64-musl': 0.17.0 + '@nomicfoundation/slang-linux-x64-gnu': 0.17.0 + '@nomicfoundation/slang-linux-x64-musl': 0.17.0 + '@nomicfoundation/slang-win32-arm64-msvc': 0.17.0 + '@nomicfoundation/slang-win32-ia32-msvc': 0.17.0 + '@nomicfoundation/slang-win32-x64-msvc': 0.17.0 + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': optional: true - '@nomicfoundation/solidity-analyzer@0.1.1': + '@nomicfoundation/solidity-analyzer@0.1.2': optionalDependencies: - '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 - '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 - '@nomicfoundation/solidity-analyzer-freebsd-x64': 0.1.1 - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.1 - '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.1 - '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.1 - '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.1 - '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 - '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 - '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 '@openzeppelin/contracts-upgradeable@4.9.6': {} '@openzeppelin/contracts@4.9.6': {} - '@openzeppelin/defender-admin-client@1.54.1(bufferutil@4.0.5)(debug@4.3.4)(utf-8-validate@5.0.7)': - dependencies: - '@openzeppelin/defender-base-client': 1.54.1(debug@4.3.4) - axios: 1.7.5(debug@4.3.4) - ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) - lodash: 4.17.21 - node-fetch: 2.7.0 - transitivePeerDependencies: - - bufferutil - - debug - - encoding - - utf-8-validate - - '@openzeppelin/defender-base-client@1.54.1(debug@4.3.4)': + '@openzeppelin/defender-sdk-base-client@1.15.0': dependencies: amazon-cognito-identity-js: 6.3.12 async-retry: 1.3.3 - axios: 1.7.5(debug@4.3.4) - lodash: 4.17.21 - node-fetch: 2.7.0 transitivePeerDependencies: - - debug - encoding - '@openzeppelin/defender-sdk-base-client@1.12.0': + '@openzeppelin/defender-sdk-deploy-client@1.15.0(debug@4.3.7)': dependencies: - amazon-cognito-identity-js: 6.3.12 - async-retry: 1.3.3 - transitivePeerDependencies: - - encoding - - '@openzeppelin/defender-sdk-deploy-client@1.12.0(debug@4.3.4)': - dependencies: - '@openzeppelin/defender-sdk-base-client': 1.12.0 - axios: 1.7.5(debug@4.3.4) + '@openzeppelin/defender-sdk-base-client': 1.15.0 + axios: 1.7.7(debug@4.3.7) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding - '@openzeppelin/defender-sdk-network-client@1.12.0(debug@4.3.4)': + '@openzeppelin/defender-sdk-network-client@1.15.0(debug@4.3.7)': dependencies: - '@openzeppelin/defender-sdk-base-client': 1.12.0 - axios: 1.7.5(debug@4.3.4) + '@openzeppelin/defender-sdk-base-client': 1.15.0 + axios: 1.7.7(debug@4.3.7) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding - '@openzeppelin/hardhat-upgrades@3.0.5(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(bufferutil@4.0.5)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(utf-8-validate@5.0.7)': + '@openzeppelin/hardhat-upgrades@3.4.0(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) - '@openzeppelin/defender-admin-client': 1.54.1(bufferutil@4.0.5)(debug@4.3.4)(utf-8-validate@5.0.7) - '@openzeppelin/defender-base-client': 1.54.1(debug@4.3.4) - '@openzeppelin/defender-sdk-base-client': 1.12.0 - '@openzeppelin/defender-sdk-deploy-client': 1.12.0(debug@4.3.4) - '@openzeppelin/defender-sdk-network-client': 1.12.0(debug@4.3.4) - '@openzeppelin/upgrades-core': 1.32.6 + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + '@openzeppelin/defender-sdk-base-client': 1.15.0 + '@openzeppelin/defender-sdk-deploy-client': 1.15.0(debug@4.3.7) + '@openzeppelin/defender-sdk-network-client': 1.15.0(debug@4.3.7) + '@openzeppelin/upgrades-core': 1.39.0 chalk: 4.1.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) ethereumjs-util: 7.1.5 - ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + ethers: 6.13.1 + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) proper-lockfile: 4.1.2 - undici: 6.13.0 + undici: 6.19.8 optionalDependencies: - '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) transitivePeerDependencies: - - bufferutil - encoding - supports-color - - utf-8-validate - '@openzeppelin/upgrades-core@1.32.6': + '@openzeppelin/upgrades-core@1.39.0': dependencies: + '@nomicfoundation/slang': 0.17.0 cbor: 9.0.2 chalk: 4.1.2 - compare-versions: 6.1.0 - debug: 4.3.4(supports-color@8.1.1) + compare-versions: 6.1.1 + debug: 4.3.7(supports-color@8.1.1) ethereumjs-util: 7.1.5 + minimatch: 9.0.5 minimist: 1.2.8 proper-lockfile: 4.1.2 - solidity-ast: 0.4.56 + solidity-ast: 0.4.59 transitivePeerDependencies: - supports-color @@ -7227,125 +6845,79 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/rollup-android-arm-eabi@4.14.3': - optional: true - - '@rollup/rollup-android-arm-eabi@4.22.4': - optional: true - - '@rollup/rollup-android-arm64@4.14.3': - optional: true - - '@rollup/rollup-android-arm64@4.22.4': - optional: true - - '@rollup/rollup-darwin-arm64@4.14.3': - optional: true - - '@rollup/rollup-darwin-arm64@4.22.4': - optional: true - - '@rollup/rollup-darwin-x64@4.14.3': - optional: true - - '@rollup/rollup-darwin-x64@4.22.4': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.14.3': + '@rollup/rollup-android-arm-eabi@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + '@rollup/rollup-android-arm64@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.14.3': + '@rollup/rollup-darwin-arm64@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.22.4': + '@rollup/rollup-darwin-x64@4.24.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.14.3': + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.22.4': + '@rollup/rollup-linux-arm-musleabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.14.3': + '@rollup/rollup-linux-arm64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.22.4': + '@rollup/rollup-linux-arm64-musl@4.24.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + '@rollup/rollup-linux-riscv64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.14.3': + '@rollup/rollup-linux-s390x-gnu@4.24.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.22.4': + '@rollup/rollup-linux-x64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.14.3': + '@rollup/rollup-linux-x64-musl@4.24.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.22.4': + '@rollup/rollup-win32-arm64-msvc@4.24.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.14.3': + '@rollup/rollup-win32-ia32-msvc@4.24.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.22.4': + '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true - '@rollup/rollup-linux-x64-musl@4.14.3': - optional: true - - '@rollup/rollup-linux-x64-musl@4.22.4': - optional: true + '@rtsao/scc@1.1.0': {} - '@rollup/rollup-win32-arm64-msvc@4.14.3': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.22.4': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.14.3': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.22.4': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.14.3': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.22.4': - optional: true - - '@scure/base@1.1.6': {} + '@scure/base@1.1.9': {} '@scure/bip32@1.1.5': dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.6 + '@scure/base': 1.1.9 - '@scure/bip32@1.3.3': + '@scure/bip32@1.4.0': dependencies: - '@noble/curves': 1.3.0 - '@noble/hashes': 1.3.3 - '@scure/base': 1.1.6 + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 - '@scure/base': 1.1.6 + '@scure/base': 1.1.9 - '@scure/bip39@1.2.2': + '@scure/bip39@1.3.0': dependencies: - '@noble/hashes': 1.3.3 - '@scure/base': 1.1.6 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 '@sentry/core@5.30.0': dependencies: @@ -7396,16 +6968,14 @@ snapshots: '@sentry/types': 5.30.0 tslib: 1.14.1 - '@smithy/types@2.12.0': + '@smithy/types@3.5.0': dependencies: - tslib: 2.6.2 + tslib: 2.7.0 '@solidity-parser/parser@0.14.5': dependencies: antlr4ts: 0.5.0-alpha.4 - '@solidity-parser/parser@0.17.0': {} - '@solidity-parser/parser@0.18.0': {} '@tsconfig/node10@1.0.11': {} @@ -7416,69 +6986,69 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5)': + '@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5)': dependencies: - ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ethers: 6.13.1 lodash: 4.17.21 ts-essentials: 7.0.3(typescript@4.9.5) typechain: 8.3.2(typescript@4.9.5) typescript: 4.9.5 - '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))': + '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))(typechain@8.3.2(typescript@4.9.5))': dependencies: - '@typechain/ethers-v6': 0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) - ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + '@typechain/ethers-v6': 0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) + ethers: 6.13.1 fs-extra: 9.1.0 - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) typechain: 8.3.2(typescript@4.9.5) '@types/bn.js@4.11.6': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 - '@types/bn.js@5.1.5': + '@types/bn.js@5.1.6': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/chai-as-promised@7.1.8': dependencies: - '@types/chai': 4.3.14 + '@types/chai': 4.3.20 - '@types/chai@4.3.14': {} + '@types/chai@4.3.20': {} '@types/connect@3.4.38': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/cors@2.8.17': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.0': + '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 18.19.31 - '@types/qs': 6.9.15 + '@types/node': 18.19.55 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.0 - '@types/qs': 6.9.15 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/http-errors@2.0.4': {} @@ -7486,7 +7056,7 @@ snapshots: '@types/json5@0.0.29': {} - '@types/lodash@4.17.0': {} + '@types/lodash@4.17.10': {} '@types/lru-cache@5.1.1': {} @@ -7494,128 +7064,124 @@ snapshots: '@types/minimatch@5.1.2': {} - '@types/minimist@1.2.5': {} - '@types/mkdirp@0.5.2': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 - '@types/mocha@10.0.6': {} + '@types/mocha@10.0.9': {} '@types/mocha@9.1.1': {} '@types/mute-stream@0.0.4': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/node@12.20.55': {} '@types/node@18.15.13': {} - '@types/node@18.19.31': + '@types/node@18.19.55': dependencies: undici-types: 5.26.5 - '@types/node@22.5.0': + '@types/node@22.7.5': dependencies: undici-types: 6.19.8 - '@types/normalize-package-data@2.4.4': {} - '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/prettier@2.7.3': {} - '@types/qs@6.9.15': {} + '@types/qs@6.9.16': {} '@types/range-parser@1.2.7': {} '@types/resolve@0.0.8': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/secp256k1@4.0.6': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/semver@7.5.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 18.19.31 + '@types/node': 18.19.55 '@types/send': 0.17.4 '@types/wrap-ansi@3.0.0': {} - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare-lite: 1.4.0 - semver: 7.6.0 + semver: 7.6.3 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5)': + '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - supports-color @@ -7629,27 +7195,27 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - supports-color @@ -7661,85 +7227,85 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.3 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.2)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.5) + semver: 7.6.3 + tsutils: 3.21.0(typescript@5.6.2) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.2)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 8.57.0 + eslint: 8.57.1 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.2) + eslint: 8.57.1 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - eslint: 8.57.0 - semver: 7.6.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) + eslint: 8.57.1 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript @@ -7767,15 +7333,17 @@ snapshots: dependencies: acorn: 6.4.2 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.11.3 + acorn: 8.12.1 - acorn-walk@8.3.2: {} + acorn-walk@8.3.4: + dependencies: + acorn: 8.12.1 acorn@6.4.2: {} - acorn@8.11.3: {} + acorn@8.12.1: {} adm-zip@0.4.16: {} @@ -7785,7 +7353,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -7801,12 +7369,12 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 + fast-uri: 3.0.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 amazon-cognito-identity-js@6.3.12: dependencies: @@ -7825,8 +7393,6 @@ snapshots: dependencies: string-width: 4.2.3 - ansi-colors@4.1.1: {} - ansi-colors@4.1.3: {} ansi-escapes@3.2.0: {} @@ -7841,7 +7407,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@3.2.1: dependencies: @@ -7872,9 +7438,9 @@ snapshots: argparse@2.0.1: {} - aria-query@5.3.0: + aria-query@5.1.3: dependencies: - dequal: 2.0.3 + deep-equal: 2.2.3 array-back@3.1.0: {} @@ -7930,14 +7496,7 @@ snapshots: es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - array.prototype.toreversed@1.1.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.tosorted@1.1.3: + array.prototype.tosorted@1.1.4: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -7956,8 +7515,6 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - arrify@1.0.1: {} - assertion-error@1.1.0: {} ast-parents@0.0.1: {} @@ -7986,31 +7543,21 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axe-core@4.7.0: {} - - axios@1.6.8(debug@4.3.4): - dependencies: - follow-redirects: 1.15.6(debug@4.3.4) - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug + axe-core@4.10.0: {} - axios@1.7.5(debug@4.3.4): + axios@1.7.7(debug@4.3.7): dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.9(debug@4.3.7) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - axobject-query@3.2.1: - dependencies: - dequal: 2.0.3 + axobject-query@4.1.0: {} balanced-match@1.0.2: {} - base-x@3.0.9: + base-x@3.0.10: dependencies: safe-buffer: 5.2.1 @@ -8034,7 +7581,7 @@ snapshots: bn.js@5.2.1: {} - body-parser@1.20.2: + body-parser@1.20.3: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -8044,7 +7591,7 @@ snapshots: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -8075,10 +7622,6 @@ snapshots: dependencies: fill-range: 7.1.1 - breakword@1.0.6: - dependencies: - wcwidth: 1.0.1 - brorand@1.1.0: {} browser-stdout@1.3.1: {} @@ -8094,7 +7637,7 @@ snapshots: bs58@4.0.1: dependencies: - base-x: 3.0.9 + base-x: 3.0.10 bs58check@2.1.2: dependencies: @@ -8112,12 +7655,7 @@ snapshots: ieee754: 1.2.1 isarray: 1.0.0 - bufferutil@4.0.5: - dependencies: - node-gyp-build: 4.8.0 - optional: true - - bundle-require@4.0.2(esbuild@0.19.12): + bundle-require@4.2.1(esbuild@0.19.12): dependencies: esbuild: 0.19.12 load-tsconfig: 0.2.5 @@ -8156,14 +7694,6 @@ snapshots: callsites@3.1.0: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - - camelcase@5.3.1: {} - camelcase@6.3.0: {} cbor@8.1.0: @@ -8174,20 +7704,20 @@ snapshots: dependencies: nofilter: 3.1.0 - chai-as-promised@7.1.1(chai@4.4.1): + chai-as-promised@7.1.2(chai@4.5.0): dependencies: - chai: 4.4.1 + chai: 4.5.0 check-error: 1.0.3 - chai@4.4.1: + chai@4.5.0: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 + type-detect: 4.1.0 chalk@2.4.2: dependencies: @@ -8206,7 +7736,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - chokidar@3.5.3: + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -8218,17 +7748,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@3.6.0: + chokidar@4.0.1: dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 + readdirp: 4.0.2 ci-info@2.0.0: {} @@ -8247,8 +7769,6 @@ snapshots: dependencies: restore-cursor: 2.0.0 - cli-spinners@2.9.2: {} - cli-table@0.3.11: dependencies: colors: 1.0.3 @@ -8257,26 +7777,12 @@ snapshots: cli-width@4.1.0: {} - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - clone@1.0.4: {} - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -8315,15 +7821,13 @@ snapshots: commander@2.18.0: {} - commander@3.0.2: {} - commander@4.1.1: {} commander@8.3.0: {} commander@9.4.1: {} - compare-versions@6.1.0: {} + compare-versions@6.1.1: {} concat-map@0.0.1: {} @@ -8398,19 +7902,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} - - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - damerau-levenshtein@1.0.8: {} data-view-buffer@1.0.1: @@ -8443,37 +7934,43 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4(supports-color@8.1.1): + debug@4.3.7(supports-color@8.1.1): dependencies: - ms: 2.1.2 + ms: 2.1.3 optionalDependencies: supports-color: 8.1.1 - debug@4.3.7: - dependencies: - ms: 2.1.3 + decamelize@4.0.0: {} - decamelize-keys@1.1.1: + deep-eql@4.1.4: dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 + type-detect: 4.1.0 - decamelize@1.2.0: {} - - decamelize@4.0.0: {} - - deep-eql@4.1.3: + deep-equal@2.2.3: dependencies: - type-detect: 4.0.8 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.4 + is-arguments: 1.1.1 + is-array-buffer: 3.0.4 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.3 + side-channel: 1.0.6 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 deep-extend@0.6.0: {} deep-is@0.1.4: {} - defaults@1.0.4: - dependencies: - clone: 1.0.4 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -8490,15 +7987,13 @@ snapshots: depd@2.0.0: {} - dequal@2.0.3: {} - destroy@1.2.0: {} detect-indent@6.1.0: {} diff@4.0.2: {} - diff@5.0.0: {} + diff@5.2.0: {} difflib@0.2.4: dependencies: @@ -8542,7 +8037,9 @@ snapshots: encodeurl@1.0.2: {} - enhanced-resolve@5.16.0: + encodeurl@2.0.0: {} + + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -8577,7 +8074,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -8593,10 +8090,10 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -8615,7 +8112,19 @@ snapshots: es-errors@1.3.0: {} - es-iterator-helpers@1.0.18: + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + + es-iterator-helpers@1.0.19: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8624,7 +8133,7 @@ snapshots: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -8757,7 +8266,7 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - escalade@3.1.2: {} + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -8774,144 +8283,148 @@ snapshots: optionalDependencies: source-map: 0.2.0 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.13.1 + is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: - debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.16.0 - eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + '@nolyfill/is-core-module': 1.0.39 + debug: 4.3.7(supports-color@8.1.1) + enhanced-resolve: 5.17.1 + eslint: 8.57.1 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 - get-tsconfig: 4.7.3 - is-core-module: 2.13.1 + get-tsconfig: 4.8.1 + is-bun-module: 1.2.1 is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): dependencies: escape-string-regexp: 1.0.5 - eslint: 8.57.0 - ignore: 5.3.1 + eslint: 8.57.1 + ignore: 5.3.2 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: + '@rtsao/scc': 1.1.0 array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 - is-core-module: 2.13.1 + is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 object.values: 1.2.0 semver: 6.3.1 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest-dom@5.2.0(eslint@8.57.0): + eslint-plugin-jest-dom@5.4.0(eslint@8.57.1): dependencies: - '@babel/runtime': 7.24.4 - eslint: 8.57.0 + '@babel/runtime': 7.25.7 + eslint: 8.57.1 requireindex: 1.2.0 - eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): dependencies: - '@babel/runtime': 7.24.4 - aria-query: 5.3.0 + aria-query: 5.1.3 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 + axe-core: 4.10.0 + axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.18 - eslint: 8.57.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.8 object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): dependencies: - eslint: 8.57.0 - prettier: 3.2.5 + eslint: 8.57.1 + prettier: 3.3.3 prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 + synckit: 0.9.2 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@8.57.1) - eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-react@7.34.1(eslint@8.57.0): + eslint-plugin-react@7.37.1(eslint@8.57.1): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.toreversed: 1.1.2 - array.prototype.tosorted: 1.1.3 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.18 - eslint: 8.57.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.1 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): + eslint-plugin-testing-library@6.3.0(eslint@8.57.1)(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -8941,17 +8454,17 @@ snapshots: eslint@5.16.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.25.7 ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.5 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 eslint-scope: 4.0.3 eslint-utils: 1.4.3 eslint-visitor-keys: 1.3.0 espree: 5.0.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 file-entry-cache: 5.0.1 functional-red-black-tree: 1.0.1 @@ -8980,26 +8493,26 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@8.57.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -9007,7 +8520,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -9017,7 +8530,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -9031,15 +8544,15 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 esprima@2.7.3: {} esprima@4.0.1: {} - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -9057,9 +8570,9 @@ snapshots: etag@1.8.1: {} - ethereum-bloom-filters@1.1.0: + ethereum-bloom-filters@1.2.0: dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 ethereum-cryptography@0.1.3: dependencies: @@ -9086,12 +8599,12 @@ snapshots: '@scure/bip32': 1.1.5 '@scure/bip39': 1.1.1 - ethereum-cryptography@2.1.3: + ethereum-cryptography@2.2.1: dependencies: - '@noble/curves': 1.3.0 - '@noble/hashes': 1.3.3 - '@scure/bip32': 1.3.3 - '@scure/bip39': 1.2.2 + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 ethereumjs-abi@0.6.8: dependencies: @@ -9110,13 +8623,13 @@ snapshots: ethereumjs-util@7.1.5: dependencies: - '@types/bn.js': 5.1.5 + '@types/bn.js': 5.1.6 bn.js: 5.2.1 create-hash: 1.2.0 ethereum-cryptography: 0.1.3 rlp: 2.2.7 - ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7): + ethers@5.7.2: dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -9136,7 +8649,7 @@ snapshots: '@ethersproject/networks': 5.7.1 '@ethersproject/pbkdf2': 5.7.0 '@ethersproject/properties': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) + '@ethersproject/providers': 5.7.2 '@ethersproject/random': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/sha2': 5.7.0 @@ -9152,7 +8665,7 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7): + ethers@6.13.1: dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -9160,7 +8673,7 @@ snapshots: '@types/node': 18.15.13 aes-js: 4.0.0-beta.5 tslib: 2.4.0 - ws: 8.17.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ws: 8.17.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -9194,34 +8707,34 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - express@4.19.2: + express@4.21.0: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -9258,11 +8771,13 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-uri@3.0.2: {} + fastq@1.17.1: dependencies: reusify: 1.0.4 - fdir@6.3.0(picomatch@4.0.2): + fdir@6.4.0(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -9284,10 +8799,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.2.0: + finalhandler@1.3.1: dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -9314,11 +8829,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.8 - pkg-dir: 4.2.0 - flat-cache@2.0.1: dependencies: flatted: 2.0.2 @@ -9341,15 +8851,15 @@ snapshots: dependencies: imul: 1.0.1 - follow-redirects@1.15.6(debug@4.3.4): + follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) for-each@0.3.3: dependencies: is-callable: 1.2.7 - foreground-child@3.1.1: + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -9372,15 +8882,13 @@ snapshots: fresh@0.5.2: {} - fs-extra@0.30.0: + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 2.4.0 - klaw: 1.3.1 - path-is-absolute: 1.0.1 - rimraf: 2.7.1 + jsonfile: 6.1.0 + universalify: 2.0.1 - fs-extra@10.1.0: + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -9433,13 +8941,13 @@ snapshots: chokidar: 3.6.0 commander: 12.1.0 esbuild: 0.22.0 - glob: 10.3.12 + glob: 10.4.5 handlebars: 4.7.8 joycon: 3.1.1 lodash.camelcase: 4.3.0 portfinder: 1.0.32 toml: 3.0.0 - uglify-js: 3.19.2 + uglify-js: 3.19.3 yup: 1.4.0 transitivePeerDependencies: - encoding @@ -9468,7 +8976,7 @@ snapshots: chokidar: 3.6.0 commander: 12.1.0 esbuild: 0.22.0 - glob: 10.3.12 + glob: 10.4.5 handlebars: 4.7.8 joycon: 3.1.1 lodash.camelcase: 4.3.0 @@ -9515,7 +9023,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.3: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -9532,13 +9040,14 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.12: + glob@10.4.5: dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.4 - minipass: 7.0.4 - path-scurry: 1.10.2 + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 glob@5.0.15: dependencies: @@ -9588,7 +9097,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.0.1 + minimatch: 5.1.6 once: 1.4.0 global-modules@2.0.0: @@ -9607,9 +9116,10 @@ snapshots: dependencies: type-fest: 0.20.2 - globalthis@1.0.3: + globalthis@1.0.4: dependencies: define-properties: 1.2.1 + gopd: 1.0.1 globby@10.0.2: dependencies: @@ -9618,7 +9128,7 @@ snapshots: dir-glob: 3.0.1 fast-glob: 3.3.2 glob: 7.2.3 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -9627,7 +9137,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -9637,8 +9147,6 @@ snapshots: graceful-fs@4.2.11: {} - grapheme-splitter@1.0.4: {} - graphemer@1.4.0: {} graphql-request@5.0.0(graphql@16.9.0): @@ -9654,7 +9162,7 @@ snapshots: graphql-tag@2.12.6(graphql@16.9.0): dependencies: graphql: 16.9.0 - tslib: 2.6.2 + tslib: 2.7.0 graphql@16.9.0: {} @@ -9665,11 +9173,9 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.2 - - hard-rejection@2.1.0: {} + uglify-js: 3.19.3 - hardhat-deploy@0.12.4(bufferutil@4.0.5)(utf-8-validate@5.0.7): + hardhat-deploy@0.12.4: dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -9678,48 +9184,48 @@ snapshots: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) + '@ethersproject/providers': 5.7.2 '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 - '@types/qs': 6.9.15 - axios: 1.6.8(debug@4.3.4) + '@types/qs': 6.9.16 + axios: 1.7.7(debug@4.3.7) chalk: 4.1.2 chokidar: 3.6.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) enquirer: 2.4.1 - ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ethers: 5.7.2 form-data: 4.0.0 fs-extra: 10.1.0 match-all: 1.2.6 murmur-128: 0.2.1 - qs: 6.12.1 - zksync-ethers: 5.9.2(ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)) + qs: 6.13.0 + zksync-ethers: 5.9.2(ethers@5.7.2) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7): + hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.3.5 + '@nomicfoundation/edr': 0.6.3 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 - '@nomicfoundation/solidity-analyzer': 0.1.1 + '@nomicfoundation/solidity-analyzer': 0.1.2 '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.5 + '@types/bn.js': 5.1.6 '@types/lru-cache': 5.1.1 adm-zip: 0.4.16 aggregate-error: 3.1.0 ansi-escapes: 4.3.2 boxen: 5.1.2 chalk: 2.4.2 - chokidar: 3.6.0 + chokidar: 4.0.1 ci-info: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) enquirer: 2.4.1 env-paths: 2.2.1 ethereum-cryptography: 1.2.0 @@ -9728,25 +9234,26 @@ snapshots: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.5 + immutable: 4.3.7 io-ts: 1.10.4 + json-stream-stringify: 3.1.6 keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.4.0 + mocha: 10.7.3 p-map: 4.0.0 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.1 - solc: 0.7.3(debug@4.3.4) + solc: 0.8.26(debug@4.3.7) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 tsort: 0.0.1 undici: 5.28.4 uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ws: 7.5.10 optionalDependencies: - ts-node: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - bufferutil @@ -9812,7 +9319,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -9830,9 +9337,9 @@ snapshots: ignore@5.2.4: {} - ignore@5.3.1: {} + ignore@5.3.2: {} - immutable@4.3.5: {} + immutable@4.3.7: {} import-fresh@2.0.0: dependencies: @@ -9861,10 +9368,11 @@ snapshots: ini@3.0.1: {} - inquirer@10.1.8: + inquirer@10.2.2: dependencies: - '@inquirer/prompts': 5.3.8 - '@inquirer/type': 1.5.2 + '@inquirer/core': 9.2.1 + '@inquirer/prompts': 5.5.0 + '@inquirer/type': 1.5.5 '@types/mute-stream': 0.0.4 ansi-escapes: 4.3.2 mute-stream: 1.0.0 @@ -9901,6 +9409,11 @@ snapshots: ipaddr.js@1.9.1: {} + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -9925,9 +9438,13 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 + is-bun-module@1.2.1: + dependencies: + semver: 7.6.3 + is-callable@1.2.7: {} - is-core-module@2.13.1: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -9973,8 +9490,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} - is-plain-obj@2.1.0: {} is-regex@1.1.4: @@ -10042,7 +9557,7 @@ snapshots: reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - jackspeak@2.3.6: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -10069,24 +9584,20 @@ snapshots: json-parse-better-errors@1.0.2: {} - json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} json-stable-stringify-without-jsonify@1.0.1: {} + json-stream-stringify@3.1.6: {} + json5@1.0.2: dependencies: minimist: 1.2.8 jsonc-parser@3.1.0: {} - jsonfile@2.4.0: - optionalDependencies: - graceful-fs: 4.2.11 - jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -10109,7 +9620,7 @@ snapshots: keccak@3.0.4: dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.2 readable-stream: 3.6.2 keyv@4.5.4: @@ -10118,17 +9629,11 @@ snapshots: kind-of@6.0.3: {} - klaw@1.3.1: - optionalDependencies: - graceful-fs: 4.2.11 - - kleur@4.1.5: {} - - language-subtag-registry@0.3.22: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: dependencies: - language-subtag-registry: 0.3.22 + language-subtag-registry: 0.3.23 levn@0.3.0: dependencies: @@ -10140,7 +9645,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@3.1.1: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -10157,13 +9662,6 @@ snapshots: load-tsconfig@0.2.5: {} - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -10206,25 +9704,17 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.2.0: {} + lru-cache@10.4.3: {} lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lru_map@0.3.3: {} make-error@1.3.6: {} - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - markdown-it@13.0.1: dependencies: argparse: 2.0.1 @@ -10266,21 +9756,7 @@ snapshots: memorystream@0.3.1: {} - meow@6.1.1: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - - merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} merge-stream@2.0.0: {} @@ -10307,8 +9783,6 @@ snapshots: mimic-fn@2.1.0: {} - min-indent@1.0.1: {} - minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} @@ -10317,10 +9791,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.0.1: - dependencies: - brace-expansion: 2.0.1 - minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 @@ -10329,21 +9799,13 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.8: {} - minipass@7.0.4: {} - - mixme@0.5.10: {} + minipass@7.1.2: {} mkdirp@0.5.6: dependencies: @@ -10355,32 +9817,32 @@ snapshots: dependencies: obliterator: 2.0.4 - mocha@10.4.0: + mocha@10.7.3: dependencies: - ansi-colors: 4.1.1 + ansi-colors: 4.1.3 browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) - diff: 5.0.0 + chokidar: 3.6.0 + debug: 4.3.7(supports-color@8.1.1) + diff: 5.2.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 glob: 8.1.0 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 - minimatch: 5.0.1 + minimatch: 5.1.6 ms: 2.1.3 - serialize-javascript: 6.0.0 + serialize-javascript: 6.0.2 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 6.2.1 + workerpool: 6.5.1 yargs: 16.2.0 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 yargs-unparser: 2.0.0 - ms@2.0.0: {} + mri@1.2.0: {} - ms@2.1.2: {} + ms@2.0.0: {} ms@2.1.3: {} @@ -10420,7 +9882,7 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-gyp-build@4.8.0: {} + node-gyp-build@4.8.2: {} nofilter@3.1.0: {} @@ -10460,7 +9922,12 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 object-keys@1.1.1: {} @@ -10490,12 +9957,6 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.3 - object.hasown@1.1.4: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - object.values@1.2.0: dependencies: call-bind: 1.0.7 @@ -10529,14 +9990,14 @@ snapshots: type-check: 0.3.2 word-wrap: 1.2.5 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 ordinal@1.0.3: {} @@ -10582,6 +10043,10 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} + + package-manager-detector@0.2.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -10591,13 +10056,6 @@ snapshots: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.24.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - parseurl@1.3.3: {} path-exists@3.0.0: {} @@ -10614,12 +10072,12 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.2: + path-scurry@1.11.1: dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.4.3 + minipass: 7.1.2 - path-to-regexp@0.1.7: {} + path-to-regexp@0.1.10: {} path-type@3.0.0: dependencies: @@ -10637,8 +10095,6 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - picocolors@1.0.0: {} - picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -10653,10 +10109,6 @@ snapshots: pirates@4.0.6: {} - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - portfinder@1.0.32: dependencies: async: 2.6.4 @@ -10667,25 +10119,19 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-load-config@4.0.2(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5)): + postcss-load-config@4.0.2(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5)): dependencies: - lilconfig: 3.1.1 - yaml: 2.4.1 + lilconfig: 3.1.2 + yaml: 2.5.1 optionalDependencies: - ts-node: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) - postcss-load-config@6.0.1(tsx@3.14.0): + postcss-load-config@6.0.1(tsx@3.14.0)(yaml@2.5.1): dependencies: - lilconfig: 3.1.1 + lilconfig: 3.1.2 optionalDependencies: tsx: 3.14.0 - - preferred-pm@3.1.3: - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 + yaml: 2.5.1 prelude-ls@1.1.2: {} @@ -10695,19 +10141,18 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-solidity@1.3.1(prettier@3.2.5): + prettier-plugin-solidity@1.4.1(prettier@3.3.3): dependencies: - '@solidity-parser/parser': 0.17.0 - prettier: 3.2.5 - semver: 7.6.0 - solidity-comments-extractor: 0.0.8 + '@solidity-parser/parser': 0.18.0 + prettier: 3.3.3 + semver: 7.6.3 prettier@1.19.1: optional: true prettier@2.8.8: {} - prettier@3.2.5: {} + prettier@3.3.3: {} progress@2.0.3: {} @@ -10736,18 +10181,12 @@ snapshots: punycode@2.3.1: {} - qs@6.11.0: - dependencies: - side-channel: 1.0.6 - - qs@6.12.1: + qs@6.13.0: dependencies: side-channel: 1.0.6 queue-microtask@1.2.3: {} - quick-lru@4.0.1: {} - ramda@0.30.1: {} randombytes@2.1.0: @@ -10765,25 +10204,12 @@ snapshots: react-is@16.13.1: {} - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -10801,6 +10227,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + rechoir@0.6.2: dependencies: resolve: 1.22.8 @@ -10809,11 +10237,6 @@ snapshots: dependencies: minimatch: 3.1.2 - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - reduce-flatten@2.0.0: {} reflect.getprototypeof@1.0.6: @@ -10823,12 +10246,12 @@ snapshots: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10841,8 +10264,6 @@ snapshots: require-from-string@2.0.2: {} - require-main-filename@2.0.0: {} - requireindex@1.2.0: {} resolve-from@3.0.0: {} @@ -10861,13 +10282,13 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -10886,17 +10307,13 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@2.7.1: - dependencies: - glob: 7.2.3 - rimraf@3.0.2: dependencies: glob: 7.2.3 - rimraf@5.0.9: + rimraf@5.0.10: dependencies: - glob: 10.3.12 + glob: 10.4.5 ripemd160@2.0.2: dependencies: @@ -10907,48 +10324,26 @@ snapshots: dependencies: bn.js: 5.2.1 - rollup@4.14.3: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.3 - '@rollup/rollup-android-arm64': 4.14.3 - '@rollup/rollup-darwin-arm64': 4.14.3 - '@rollup/rollup-darwin-x64': 4.14.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 - '@rollup/rollup-linux-arm-musleabihf': 4.14.3 - '@rollup/rollup-linux-arm64-gnu': 4.14.3 - '@rollup/rollup-linux-arm64-musl': 4.14.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 - '@rollup/rollup-linux-riscv64-gnu': 4.14.3 - '@rollup/rollup-linux-s390x-gnu': 4.14.3 - '@rollup/rollup-linux-x64-gnu': 4.14.3 - '@rollup/rollup-linux-x64-musl': 4.14.3 - '@rollup/rollup-win32-arm64-msvc': 4.14.3 - '@rollup/rollup-win32-ia32-msvc': 4.14.3 - '@rollup/rollup-win32-x64-msvc': 4.14.3 - fsevents: 2.3.3 - - rollup@4.22.4: + rollup@4.24.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.22.4 - '@rollup/rollup-android-arm64': 4.22.4 - '@rollup/rollup-darwin-arm64': 4.22.4 - '@rollup/rollup-darwin-x64': 4.22.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 - '@rollup/rollup-linux-arm-musleabihf': 4.22.4 - '@rollup/rollup-linux-arm64-gnu': 4.22.4 - '@rollup/rollup-linux-arm64-musl': 4.22.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 - '@rollup/rollup-linux-riscv64-gnu': 4.22.4 - '@rollup/rollup-linux-s390x-gnu': 4.22.4 - '@rollup/rollup-linux-x64-gnu': 4.22.4 - '@rollup/rollup-linux-x64-musl': 4.22.4 - '@rollup/rollup-win32-arm64-msvc': 4.22.4 - '@rollup/rollup-win32-ia32-msvc': 4.22.4 - '@rollup/rollup-win32-x64-msvc': 4.22.4 + '@rollup/rollup-android-arm-eabi': 4.24.0 + '@rollup/rollup-android-arm64': 4.24.0 + '@rollup/rollup-darwin-arm64': 4.24.0 + '@rollup/rollup-darwin-x64': 4.24.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 + '@rollup/rollup-linux-arm-musleabihf': 4.24.0 + '@rollup/rollup-linux-arm64-gnu': 4.24.0 + '@rollup/rollup-linux-arm64-musl': 4.24.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 + '@rollup/rollup-linux-riscv64-gnu': 4.24.0 + '@rollup/rollup-linux-s390x-gnu': 4.24.0 + '@rollup/rollup-linux-x64-gnu': 4.24.0 + '@rollup/rollup-linux-x64-musl': 4.24.0 + '@rollup/rollup-win32-arm64-msvc': 4.24.0 + '@rollup/rollup-win32-ia32-msvc': 4.24.0 + '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 run-async@2.4.1: {} @@ -10972,7 +10367,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 safe-array-concat@1.1.2: dependencies: @@ -11014,17 +10409,15 @@ snapshots: dependencies: elliptic: 6.5.7 node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.2 semver@5.7.2: {} semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.3: {} - send@0.18.0: + send@0.19.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -11042,21 +10435,19 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.0: + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - serve-static@1.15.0: + serve-static@1.16.2: dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.0 transitivePeerDependencies: - supports-color - set-blocking@2.0.0: {} - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -11107,7 +10498,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 signal-exit@3.0.7: {} @@ -11127,34 +10518,23 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - smartwrap@2.0.2: - dependencies: - array.prototype.flat: 1.3.2 - breakword: 1.0.6 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 - - solc@0.7.3(debug@4.3.4): + solc@0.8.26(debug@4.3.7): dependencies: command-exists: 1.2.9 - commander: 3.0.2 - follow-redirects: 1.15.6(debug@4.3.4) - fs-extra: 0.30.0 + commander: 8.3.0 + follow-redirects: 1.15.9(debug@4.3.7) js-sha3: 0.8.0 memorystream: 0.3.1 - require-from-string: 2.0.2 semver: 5.7.2 tmp: 0.0.33 transitivePeerDependencies: - debug - solc@0.8.25: + solc@0.8.27: dependencies: command-exists: 1.2.9 commander: 8.3.0 - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.9(debug@4.3.7) js-sha3: 0.8.0 memorystream: 0.3.1 semver: 5.7.2 @@ -11183,13 +10563,9 @@ snapshots: transitivePeerDependencies: - supports-color - solidity-ast@0.4.56: - dependencies: - array.prototype.findlast: 1.2.5 - - solidity-comments-extractor@0.0.8: {} + solidity-ast@0.4.59: {} - solidity-coverage@0.8.12(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)): + solidity-coverage@0.8.13(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)): dependencies: '@ethersproject/abi': 5.7.0 '@solidity-parser/parser': 0.18.0 @@ -11200,15 +10576,15 @@ snapshots: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) + hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) jsonschema: 1.4.1 lodash: 4.17.21 - mocha: 10.4.0 + mocha: 10.7.3 node-emoji: 1.11.0 pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.6.0 + semver: 7.6.3 shelljs: 0.8.5 web3-utils: 1.10.4 @@ -11236,16 +10612,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.17: {} + spdx-license-ids@3.0.20: {} sprintf-js@1.0.3: {} @@ -11255,9 +10631,9 @@ snapshots: statuses@2.0.1: {} - stream-transform@2.1.3: + stop-iteration-iterator@1.0.0: dependencies: - mixme: 0.5.10 + internal-slot: 1.0.7 string-format@2.0.0: {} @@ -11284,6 +10660,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string.prototype.includes@2.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 @@ -11295,7 +10676,7 @@ snapshots: gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 set-function-name: 2.0.2 side-channel: 1.0.6 @@ -11306,6 +10687,11 @@ snapshots: es-abstract: 1.23.3 es-object-atoms: 1.0.0 + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -11343,7 +10729,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@3.0.0: {} @@ -11353,10 +10739,6 @@ snapshots: dependencies: is-hex-prefixed: 1.0.0 - strip-indent@3.0.0: - dependencies: - min-indent: 1.0.1 - strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -11365,7 +10747,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.3.12 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -11389,10 +10771,10 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.8.8: + synckit@0.9.2: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.7.0 table-layout@1.0.2: dependencies: @@ -11410,7 +10792,7 @@ snapshots: table@6.8.2: dependencies: - ajv: 8.12.0 + ajv: 8.17.1 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -11434,9 +10816,9 @@ snapshots: tiny-case@1.0.3: {} - tinyglobby@0.2.6: + tinyglobby@0.2.9: dependencies: - fdir: 6.3.0(picomatch@4.0.2) + fdir: 6.4.0(picomatch@4.0.2) picomatch: 4.0.2 tmp@0.0.33: @@ -11461,11 +10843,9 @@ snapshots: tree-kill@1.2.2: {} - trim-newlines@3.0.1: {} - - ts-api-utils@1.3.0(typescript@5.4.5): + ts-api-utils@1.3.0(typescript@5.6.2): dependencies: - typescript: 5.4.5 + typescript: 5.6.2 ts-command-line-args@2.5.1: dependencies: @@ -11494,16 +10874,16 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5): + ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.31 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 18.19.55 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -11512,21 +10892,21 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@22.5.0)(typescript@5.4.5): + ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.5.0 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 22.7.5 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.5 + typescript: 5.6.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -11541,23 +10921,23 @@ snapshots: tslib@2.4.0: {} - tslib@2.6.2: {} + tslib@2.7.0: {} tsort@0.0.1: {} - tsup@7.3.0(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5): + tsup@7.3.0(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5): dependencies: - bundle-require: 4.0.2(esbuild@0.19.12) + bundle-require: 4.2.1(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5)) + postcss-load-config: 4.0.2(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5)) resolve-from: 5.0.0 - rollup: 4.14.3 + rollup: 4.24.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -11567,26 +10947,26 @@ snapshots: - supports-color - ts-node - tsup@8.3.0(tsx@3.14.0)(typescript@5.4.5): + tsup@8.3.0(tsx@3.14.0)(typescript@5.6.2)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 chokidar: 3.6.0 consola: 3.2.3 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) esbuild: 0.23.1 execa: 5.1.1 joycon: 3.1.1 picocolors: 1.1.0 - postcss-load-config: 6.0.1(tsx@3.14.0) + postcss-load-config: 6.0.1(tsx@3.14.0)(yaml@2.5.1) resolve-from: 5.0.0 - rollup: 4.22.4 + rollup: 4.24.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 - tinyglobby: 0.2.6 + tinyglobby: 0.2.9 tree-kill: 1.2.2 optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.2 transitivePeerDependencies: - jiti - supports-color @@ -11598,55 +10978,45 @@ snapshots: tslib: 1.14.1 typescript: 4.9.5 - tsutils@3.21.0(typescript@5.4.5): + tsutils@3.21.0(typescript@5.6.2): dependencies: tslib: 1.14.1 - typescript: 5.4.5 + typescript: 5.6.2 tsx@3.14.0: dependencies: esbuild: 0.18.20 - get-tsconfig: 4.7.3 + get-tsconfig: 4.8.1 source-map-support: 0.5.21 optionalDependencies: fsevents: 2.3.3 - tty-table@4.2.3: - dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.7.2 - - turbo-darwin-64@1.13.2: + turbo-darwin-64@1.13.4: optional: true - turbo-darwin-arm64@1.13.2: + turbo-darwin-arm64@1.13.4: optional: true - turbo-linux-64@1.13.2: + turbo-linux-64@1.13.4: optional: true - turbo-linux-arm64@1.13.2: + turbo-linux-arm64@1.13.4: optional: true - turbo-windows-64@1.13.2: + turbo-windows-64@1.13.4: optional: true - turbo-windows-arm64@1.13.2: + turbo-windows-arm64@1.13.4: optional: true - turbo@1.13.2: + turbo@1.13.4: optionalDependencies: - turbo-darwin-64: 1.13.2 - turbo-darwin-arm64: 1.13.2 - turbo-linux-64: 1.13.2 - turbo-linux-arm64: 1.13.2 - turbo-windows-64: 1.13.2 - turbo-windows-arm64: 1.13.2 + turbo-darwin-64: 1.13.4 + turbo-darwin-arm64: 1.13.4 + turbo-linux-64: 1.13.4 + turbo-linux-arm64: 1.13.4 + turbo-windows-64: 1.13.4 + turbo-windows-arm64: 1.13.4 tweetnacl-util@0.15.1: {} @@ -11660,23 +11030,17 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} - - type-fest@0.13.1: {} + type-detect@4.1.0: {} type-fest@0.20.2: {} type-fest@0.21.3: {} - type-fest@0.6.0: {} - type-fest@0.7.1: {} - type-fest@0.8.1: {} - type-fest@2.19.0: {} - type-fest@4.25.0: {} + type-fest@4.26.1: {} type-is@1.6.18: dependencies: @@ -11686,7 +11050,7 @@ snapshots: typechain@8.3.2(typescript@4.9.5): dependencies: '@types/prettier': 2.7.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) fs-extra: 7.0.1 glob: 7.1.7 js-sha3: 0.8.0 @@ -11733,7 +11097,7 @@ snapshots: typescript@4.9.5: {} - typescript@5.4.5: {} + typescript@5.6.2: {} typical@4.0.0: {} @@ -11741,8 +11105,6 @@ snapshots: uc.micro@1.0.6: {} - uglify-js@3.19.2: {} - uglify-js@3.19.3: {} unbox-primitive@1.0.2: @@ -11760,7 +11122,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - undici@6.13.0: {} + undici@6.19.8: {} unfetch@4.2.0: {} @@ -11774,11 +11136,6 @@ snapshots: dependencies: punycode: 2.3.1 - utf-8-validate@5.0.7: - dependencies: - node-gyp-build: 4.8.0 - optional: true - utf8@3.0.0: {} util-deprecate@1.0.2: {} @@ -11796,16 +11153,12 @@ snapshots: vary@1.1.2: {} - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 - ethereum-bloom-filters: 1.1.0 - ethereum-cryptography: 2.1.3 + ethereum-bloom-filters: 1.2.0 + ethereum-cryptography: 2.2.1 ethjs-unit: 0.1.6 number-to-bn: 1.7.0 randombytes: 2.1.0 @@ -11834,7 +11187,7 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.3: + which-builtin-type@1.1.4: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -11856,13 +11209,6 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 - which-module@2.0.1: {} - - which-pm@2.0.0: - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 @@ -11892,7 +11238,7 @@ snapshots: reduce-flatten: 2.0.0 typical: 5.2.0 - workerpool@6.2.1: {} + workerpool@6.5.1: {} wrap-ansi@6.2.0: dependencies: @@ -11918,34 +11264,17 @@ snapshots: dependencies: mkdirp: 0.5.6 - ws@7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7): - optionalDependencies: - bufferutil: 4.0.5 - utf-8-validate: 5.0.7 + ws@7.5.10: {} - ws@8.17.1(bufferutil@4.0.5)(utf-8-validate@5.0.7): - optionalDependencies: - bufferutil: 4.0.5 - utf-8-validate: 5.0.7 - - y18n@4.0.3: {} + ws@8.17.1: {} y18n@5.0.8: {} yallist@2.1.2: {} - yallist@4.0.0: {} - - yaml@2.4.1: {} - - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - - yargs-parser@20.2.4: {} + yaml@2.5.1: {} - yargs-parser@21.1.1: {} + yargs-parser@20.2.9: {} yargs-unparser@2.0.0: dependencies: @@ -11954,39 +11283,15 @@ snapshots: flat: 5.0.2 is-plain-obj: 2.1.0 - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.4 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 21.1.1 + yargs-parser: 20.2.9 yn@3.1.1: {} @@ -12001,6 +11306,6 @@ snapshots: toposort: 2.0.2 type-fest: 2.19.0 - zksync-ethers@5.9.2(ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)): + zksync-ethers@5.9.2(ethers@5.7.2): dependencies: - ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) + ethers: 5.7.2 From 7cbc3e49933292ec3832d71d18302e6e4b1efe30 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:00:35 +0530 Subject: [PATCH 69/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 22 +++++++++++++++++-- .../upgradeTest/FuelChainState.json | 6 ++--- .../upgradeTest/FuelERC20GatewayV4.json | 6 ++--- .../upgradeTest/FuelMessagePortalV3.json | 6 ++--- packages/solidity-contracts/package.json | 2 +- 5 files changed, 30 insertions(+), 12 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index f993d6a8..7fd2d79a 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -455,6 +455,21 @@ "address": "0x7E325E714097Bc17a428d8cd0325Fd9af362bE38", "txHash": "0xa50deaa5e09422d8aeabcb4144f4f892a9d1c481144886ae54b3310bd634d5ff", "kind": "uups" + }, + { + "address": "0xC909a6b87f9ac1bA5b5f6928BD5E9aBF59031F3A", + "txHash": "0xd98c28b8552f3369b72dd9b6be496f0429d6be114fe1c94c9079d794a1037509", + "kind": "uups" + }, + { + "address": "0xC660DebcfaC0f664C061DDDC3A0E5a16608cDe63", + "txHash": "0x9296223677cbb146c08bda40144129f44442304b7cb237042a79cf947534cff1", + "kind": "uups" + }, + { + "address": "0x21Da06444EA4E48358834398C9575bf92851Ae27", + "txHash": "0xf4f110d2e0664c61b5502dbbfdf8b7d5b93b82317edb01b59f18a4e3f7e24db5", + "kind": "uups" } ], "impls": { @@ -6837,6 +6852,7 @@ }, "allAddresses": [ "0x6F8e6304f892abA27E70474E51be15060E8352E1", + "0xcbE4869d80347CF1069EC407b2800290CC6D48B6", "0x45bEd8Ae1A13f136cd35196f906b7EB335F39BB3" ] }, @@ -7116,6 +7132,7 @@ }, "allAddresses": [ "0xce0f6Aa8c967965878123F47047bCf6c63c5E1BF", + "0x04F425CcC331521479BC8cE41Bcd9cf7621F6D8e", "0xEf7211919eb16BF7c5A7B699ad6B31e50DcF6A56" ] }, @@ -7146,7 +7163,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)4650", + "type": "t_contract(FuelMessagePortal)8024", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -7332,7 +7349,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)4650": { + "t_contract(FuelMessagePortal)8024": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, @@ -7379,6 +7396,7 @@ }, "allAddresses": [ "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", + "0x98B0b68dacCb91255BCed7Ab550Bb643495e879B", "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" ] } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 78b2d6d1..7d91af37 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xe2491478Cf2256c85090f545ebFeE8cDF26D4be5", + "address": "0xC909a6b87f9ac1bA5b5f6928BD5E9aBF59031F3A", "abi": [ { "inputs": [ @@ -577,7 +577,7 @@ "type": "function" } ], - "transactionHash": "0x07f6780f4961f6f1712789ba934bdb2590552f55054b44103708a7fb23149012", + "transactionHash": "0x43edc0839ebe3743837febedda97a3f8d2a13417303618a390c8581731d84a9c", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -587,5 +587,5 @@ ], "factory": "FuelChainState" }, - "implementation": "0x45bEd8Ae1A13f136cd35196f906b7EB335F39BB3" + "implementation": "0xcbE4869d80347CF1069EC407b2800290CC6D48B6" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 6997702d..31015d35 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x7E325E714097Bc17a428d8cd0325Fd9af362bE38", + "address": "0x21Da06444EA4E48358834398C9575bf92851Ae27", "abi": [ { "inputs": [], @@ -912,11 +912,11 @@ "type": "function" } ], - "transactionHash": "0x3431e954bcf713030b4a2c7ef2f53f3a10430a7f0795d0ae3514d9ba511f4600", + "transactionHash": "0x5825ff196ce5eb2f1010758986fac3a0b2ac5e16666804f6160907f4b17481ef", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" + "implementation": "0x98B0b68dacCb91255BCed7Ab550Bb643495e879B" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index c5fbaf1e..f4ea56db 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0x9aD93fAAB9548222a7f2358f686157603D6a7Bed", + "address": "0xC660DebcfaC0f664C061DDDC3A0E5a16608cDe63", "abi": [ { "inputs": [ @@ -1116,7 +1116,7 @@ "type": "function" } ], - "transactionHash": "0xe06050120b76f845e22dfdb6e4850e9b15638729c5430e2e71e6b2950ea843db", + "transactionHash": "0xc1e13e3855a86b14a8863b2592b9ac2f734ec079a1ae7447e56ba8baf6f07d02", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1125,5 +1125,5 @@ 604800 ] }, - "implementation": "0xEf7211919eb16BF7c5A7B699ad6B31e50DcF6A56" + "implementation": "0x04F425CcC331521479BC8cE41Bcd9cf7621F6D8e" } \ No newline at end of file diff --git a/packages/solidity-contracts/package.json b/packages/solidity-contracts/package.json index ac8a8b51..cca5372e 100644 --- a/packages/solidity-contracts/package.json +++ b/packages/solidity-contracts/package.json @@ -18,7 +18,7 @@ "build:exports": "tsup", "clean": "pnpm hardhat clean", "compile": "pnpm hardhat compile --show-stack-traces", - "coverage": "pnpm run build && pnpm hardhat coverage --temp artifacts", + "coverage": "pnpm run build && pnpm hardhat coverage --temp artifacts --network hardhat", "check": "pnpm solhint \"contracts/**/*.sol\"", "node": "pnpm hardhat node --network hardhat", "start-mining": "pnpm hardhat run --no-compile --network localhost scripts/startAutoMining.ts", From 17586db1401181bdbf9ee7dce12aad9402311cb4 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:03:13 +0530 Subject: [PATCH 70/84] refactor: write verification payload to a file --- .../scripts/hardhat/verifyDeployment.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 5cdc024a..f1f4ecf7 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -2,6 +2,7 @@ import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { config as dotEnvConfig } from 'dotenv'; import { ContractFactory } from 'ethers'; +import { writeJsonSync } from 'fs-extra'; dotEnvConfig(); task('verify-deployment', 'Verifies proxy upgrades').setAction( @@ -19,6 +20,8 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const deployments = await hre.deployments.all(); + const verficationPayload = []; + for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); @@ -101,6 +104,15 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( ); throw new Error('New implementation deployment verification failed'); } + + // update payload for each upgrade + verficationPayload.push({ + bytecode: expectedInitCode, + address: deployment.implementation, + txHash: fetchedDeploymentTx.hash, + }); } + + writeJsonSync('verification.json', verficationPayload, { spaces: 2 }); } ); From 4ca6d3ca8764d1a2d23055701f6240dc6bfa7ee6 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:17:19 +0530 Subject: [PATCH 71/84] feat: make upgrade verification ci manual --- .github/workflows/manual-verify-upgrade.yml | 37 +++++++++++++++++++++ .github/workflows/verify-upgrade.yml | 37 --------------------- 2 files changed, 37 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/manual-verify-upgrade.yml delete mode 100644 .github/workflows/verify-upgrade.yml diff --git a/.github/workflows/manual-verify-upgrade.yml b/.github/workflows/manual-verify-upgrade.yml new file mode 100644 index 00000000..bcedca4d --- /dev/null +++ b/.github/workflows/manual-verify-upgrade.yml @@ -0,0 +1,37 @@ +name: Manual Verify Upgrade + +on: + workflow_dispatch: + inputs: + network: + description: 'Enter the network you want to verify the upgrade on' + required: true + default: 'mainnet' + type: string + rpc: + description: 'Enter network rpc' + required: true + type: string + +jobs: + verify-upgrade: + runs-on: ubuntu-latest + env: + RPC_URL: ${{ github.event.inputs.rpc }} + steps: + - uses: actions/checkout@v3 + - uses: FuelLabs/github-actions/setups/node@master + with: + node-version: 20.16.0 + pnpm-version: 9.0.6 + - name: Verify deployment bytecode + run: | + npx hardhat compile && npx hardhat verify-deployment --network ${{ github.event.inputs.network }} + working-directory: ./packages/solidity-contracts + - name: Upload bytecode as artifact + uses: actions/upload-artifact@v4 + with: + name: deployment-bytecode + path: verification.json + retention-days: 90 + working-directory: ./packages/solidity-contracts diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/verify-upgrade.yml deleted file mode 100644 index 129363c9..00000000 --- a/.github/workflows/verify-upgrade.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Verify Deployment - -on: - push: - branches: - - main - pull_request: - branches: - - main # Target branch for the PR - release: - types: [published] - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - verify-upgrade: - runs-on: ubuntu-latest - env: - RPC_URL: ${{ secrets.RPC_URL || 'https://sepolia.gateway.tenderly.co' }} - if: github.event_name == 'pull_request' && startsWith(github.head_ref, 'deploy/') - steps: - - uses: actions/checkout@v3 - - uses: FuelLabs/github-actions/setups/node@master - with: - node-version: 20.16.0 - pnpm-version: 9.0.6 - - name: Verify deployment bytecode - run: | - # Extract branch name from `GITHUB_HEAD_REF` (PR source branch) - BRANCH_NAME=${{ github.head_ref }} - - # Remove the deploy/ prefix - BRANCH_NAME=${BRANCH_NAME#deploy/} - npx hardhat compile && npx hardhat verify-deployment --network $BRANCH_NAME - working-directory: ./packages/solidity-contracts From 8e4c858aee764aee99c4efa8caf46ec73efbbd84 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:22:34 +0530 Subject: [PATCH 72/84] chore: fix ci formatting --- .github/workflows/manual-verify-upgrade.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/manual-verify-upgrade.yml b/.github/workflows/manual-verify-upgrade.yml index bcedca4d..1f57fcc6 100644 --- a/.github/workflows/manual-verify-upgrade.yml +++ b/.github/workflows/manual-verify-upgrade.yml @@ -2,16 +2,16 @@ name: Manual Verify Upgrade on: workflow_dispatch: - inputs: - network: - description: 'Enter the network you want to verify the upgrade on' - required: true - default: 'mainnet' - type: string - rpc: - description: 'Enter network rpc' - required: true - type: string + inputs: + network: + description: 'Enter the network you want to verify the upgrade on' + required: true + default: 'mainnet' + type: string + rpc: + description: 'Enter network rpc' + required: true + type: string jobs: verify-upgrade: From 15abf8e4abdff420b781fd94720333ec9fc8d06e Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:37:21 +0530 Subject: [PATCH 73/84] chore: revert lock file update --- pnpm-lock.yaml | 3449 +++++++++++++++++++++++++++++------------------- 1 file changed, 2072 insertions(+), 1377 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 967f07cc..9d9cbbd6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,16 +23,16 @@ importers: version: 0.0.10 '@fuels/eslint-plugin': specifier: 0.20.0 - version: 0.20.0(eslint@8.57.1)(typescript@5.6.2) + version: 0.20.0(eslint@8.57.0)(typescript@5.4.5) '@fuels/prettier-config': specifier: 0.0.10 version: 0.0.10(prettier@2.8.8) '@fuels/ts-config': specifier: 0.0.10 - version: 0.0.10(typescript@5.6.2) + version: 0.0.10(typescript@5.4.5) eslint: specifier: ^8.49.0 - version: 8.57.1 + version: 8.57.0 fuels: specifier: 0.94.4 version: 0.94.4 @@ -41,17 +41,17 @@ importers: version: 2.8.8 tsup: specifier: ^8.3.0 - version: 8.3.0(tsx@3.14.0)(typescript@5.6.2)(yaml@2.5.1) + version: 8.3.0(tsx@3.14.0)(typescript@5.4.5) tsx: specifier: ^3.12.7 version: 3.14.0 turbo: specifier: ^1.10.7 - version: 1.13.4 + version: 1.13.2 devDependencies: '@changesets/cli': specifier: ^2.26.2 - version: 2.27.9 + version: 2.27.1 '@fuel-ts/forc': specifier: 0.73.0 version: 0.73.0 @@ -90,31 +90,31 @@ importers: version: link:../test-utils '@types/chai': specifier: ^4.3.1 - version: 4.3.20 + version: 4.3.14 '@types/mocha': specifier: ^9.1.1 version: 9.1.1 chai: specifier: ^4.3.6 - version: 4.5.0 + version: 4.4.1 dotenv: specifier: ^16.0.3 version: 16.4.5 ethers: specifier: 6.13.1 - version: 6.13.1 + version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) fuels: specifier: 0.94.4 version: 0.94.4 mocha: specifier: ^10.0.0 - version: 10.7.3 + version: 10.4.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@22.7.5)(typescript@5.6.2) + version: 10.9.2(@types/node@22.5.0)(typescript@5.4.5) typescript: specifier: ^5.1.6 - version: 5.6.2 + version: 5.4.5 packages/message-predicates: devDependencies: @@ -132,19 +132,19 @@ importers: version: 0.21.2 '@inquirer/prompts': specifier: ^5.3.8 - version: 5.5.0 + version: 5.3.8 '@nomicfoundation/hardhat-chai-matchers': specifier: ^2.0.4 - version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(chai@4.5.0)(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 2.0.6(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(chai@4.4.1)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.5 - version: 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.10 - version: 1.0.12(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 1.0.10(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) '@nomicfoundation/hardhat-verify': specifier: 1.1.1 - version: 1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) '@openzeppelin/contracts': specifier: ^4.8.3 version: 4.9.6 @@ -153,16 +153,16 @@ importers: version: 4.9.6 '@openzeppelin/hardhat-upgrades': specifier: ^3.0.4 - version: 3.4.0(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 3.0.5(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(bufferutil@4.0.5)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(utf-8-validate@5.0.7) '@typechain/ethers-v6': specifier: ^0.5.1 - version: 0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) + version: 0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) '@typechain/hardhat': specifier: ^9.1.0 - version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))(typechain@8.3.2(typescript@4.9.5)) + version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5)) '@types/chai': specifier: ^4.3.4 - version: 4.3.20 + version: 4.3.14 '@types/cors': specifier: 2.8.17 version: 2.8.17 @@ -171,22 +171,22 @@ importers: version: 4.17.21 '@types/lodash': specifier: ^4.14.202 - version: 4.17.10 + version: 4.17.0 '@types/mocha': specifier: ^10.0.0 - version: 10.0.9 + version: 10.0.6 '@types/node': specifier: ^18.11.9 - version: 18.19.55 + version: 18.19.31 '@typescript-eslint/eslint-plugin': specifier: ^5.43.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.43.0 - version: 5.62.0(eslint@8.57.1)(typescript@4.9.5) + version: 5.62.0(eslint@8.57.0)(typescript@4.9.5) chai: specifier: ^4.3.7 - version: 4.5.0 + version: 4.4.1 cors: specifier: 2.8.5 version: 2.8.5 @@ -195,25 +195,22 @@ importers: version: 16.4.5 ethers: specifier: 6.13.1 - version: 6.13.1 + version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) express: specifier: ^4.18.2 - version: 4.21.0 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 + version: 4.19.2 fuels: specifier: 0.94.0 version: 0.94.0 hardhat: specifier: ^2.20.1 - version: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + version: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) hardhat-deploy: specifier: ^0.12.4 - version: 0.12.4 + version: 0.12.4(bufferutil@4.0.5)(utf-8-validate@5.0.7) inquirer: specifier: ^10.1.8 - version: 10.2.2 + version: 10.1.8 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -231,25 +228,25 @@ importers: version: 4.1.5 prettier-plugin-solidity: specifier: ^1.1.3 - version: 1.4.1(prettier@3.3.3) + version: 1.3.1(prettier@3.2.5) solc: specifier: ^0.8.17 - version: 0.8.27 + version: 0.8.25 solhint: specifier: 3.3.7 version: 3.3.7 solidity-coverage: specifier: ^0.8.5 - version: 0.8.13(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + version: 0.8.12(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) ts-generator: specifier: ^0.1.1 version: 0.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) + version: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) tsup: specifier: ^7.2.0 - version: 7.3.0(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + version: 7.3.0(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5) typechain: specifier: ^8.3.2 version: 8.3.2(typescript@4.9.5) @@ -261,7 +258,7 @@ importers: dependencies: ethers: specifier: 6.13.1 - version: 6.13.1 + version: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) fuels: specifier: 0.94.4 version: 0.94.4 @@ -280,13 +277,17 @@ importers: version: 16.4.5 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@22.7.5)(typescript@5.6.2) + version: 10.9.2(@types/node@22.5.0)(typescript@5.4.5) typescript: specifier: ^5.1.6 - version: 5.6.2 + version: 5.4.5 packages: + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} @@ -296,77 +297,74 @@ packages: '@aws-crypto/util@1.2.2': resolution: {integrity: sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==} - '@aws-sdk/types@3.664.0': - resolution: {integrity: sha512-+GtXktvVgpreM2b+NJL9OqZGsOzHwlCUrO8jgQUvH/yA6Kd8QO2YFhQCp0C9sSzTteZJVqGBu8E0CQurxJHPbw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/types@3.535.0': + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - '@babel/code-frame@7.25.7': - resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.7': - resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.7': - resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.25.7': - resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} + '@babel/runtime@7.24.4': + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.5': - resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} + '@changesets/apply-release-plan@7.0.0': + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} - '@changesets/assemble-release-plan@6.0.4': - resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} + '@changesets/assemble-release-plan@6.0.0': + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.9': - resolution: {integrity: sha512-q42a/ZbDnxPpCb5Wkm6tMVIxgeI9C/bexntzTeCFBrQEdpisQqk8kCHllYZMDjYtEc1ZzumbMJAG8H0Z4rdvjg==} + '@changesets/cli@2.27.1': + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true - '@changesets/config@3.0.3': - resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} + '@changesets/config@3.0.0': + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.2': - resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} + '@changesets/get-dependents-graph@2.0.0': + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} '@changesets/get-github-info@0.5.2': resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} - '@changesets/get-release-plan@4.0.4': - resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} + '@changesets/get-release-plan@4.0.0': + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.1': - resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} + '@changesets/git@3.0.0': + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} - '@changesets/logger@0.1.1': - resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} + '@changesets/logger@0.1.0': + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} '@changesets/parse@0.4.0': resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.1': - resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} + '@changesets/pre@2.0.0': + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} - '@changesets/read@0.6.1': - resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} - - '@changesets/should-skip-package@0.1.1': - resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} + '@changesets/read@0.6.0': + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} @@ -374,8 +372,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.2': - resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@changesets/write@0.3.0': + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -945,16 +943,16 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@ethereumjs/rlp@4.0.1': @@ -1106,6 +1104,10 @@ packages: resolution: {integrity: sha512-A6vk0c8d1FpRox9w9sSpTX1OOrD8WmIoFScz8HusgkUhlj8B8vK+3d9uLE/Q/35FsSpiJBHP9K+0Uc5QXiKVkg==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/crypto@0.94.1': + resolution: {integrity: sha512-+Ga41iXUxulw6o6mI86/gj3iyXDC0MP03+X7O6XTnOL1WIX1qiOWUnxaupouKhZuNq52k5nVTfH8nTLd9ek/Gg==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/crypto@0.94.4': resolution: {integrity: sha512-51nQ+Ln2jlOlwUGEJ8vpOffn5nl+lthWnT7tkEZxsgC76oiXy3eIeLo1JMTYWDrMhOlMHcRYp6JsWN9by08zCA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1114,6 +1116,10 @@ packages: resolution: {integrity: sha512-8QJNRKG+2GdAsl+BDsOit7QoI4g6nGwclSS+G1OyQBgoRowkMsIJkQpthYnzs5Wicv4vsQ2AniV9L7blea3IvA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/errors@0.94.1': + resolution: {integrity: sha512-eKNBFIlB1xPc13899R0FdhGwiykbkBdBlgAinbjDLm8RSWHYMAFjgRpho6HELcYpLYFqf6uY9ms/J3BBosSFEA==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/errors@0.94.4': resolution: {integrity: sha512-mLlgmh0vxTY7PDZdsgYHCLNXZnIULbKs6LBWrRVxNGbyvqVS6xzDJkOVd1EASEYSlLQ/9CjWrLkibFt/mJ3vLQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1126,6 +1132,10 @@ packages: resolution: {integrity: sha512-JTguSLfYKjab3GzkCb73Bp9Yxrzqh9+upfZr6KBOfh9E4aYhZMd1/CT6bw9JcsWo9nr3faEtnmhSz4U0sgc3kQ==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/hasher@0.94.1': + resolution: {integrity: sha512-EiaLTk3TwiJOo78O47blhrntEMG4zx1HqjfNcwcOASq11Rd3IdzWjtxQqdnWqTm+bvvaVd2NkoUgd42EtMlR2A==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/hasher@0.94.4': resolution: {integrity: sha512-6EQY/OwM4GE0/a7UZ9ISbz8N9bh0Jz1qufSPKSi5ZgGIzZxbQPeqJnYrf+xgJQjPiv+WP9uxzp72mpr71w7/xg==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1134,6 +1144,10 @@ packages: resolution: {integrity: sha512-9P7jnFL2TGOp67PRJ42W0vVR3CHbfck5Bynt6CCVsHE1tC47l2yZ/TUzKbem67Gxy88H2X9eLgt6Y8vvIP81tw==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/interfaces@0.94.1': + resolution: {integrity: sha512-ygw6wZoXQr2/AU91VuJporo68ySgVsmSRkNiJ+lP9Rq5WLie2TXTR4REyD4UGgTGKvjkwMl5YOVfGNFP6hRX4g==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/interfaces@0.94.4': resolution: {integrity: sha512-LaKgnNF07/90Z6qhzdzJ7ldNAKoHC+mR0VcooKmElzSUZMnu6LpOGP9gNYlvykJ+sr24nKxp48eky9SukI3CNA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1145,6 +1159,10 @@ packages: resolution: {integrity: sha512-Q08lUdgm6MXIyYjyYgJnVKkE+aXc++QtAo9rVdNLz68lWgLa/JUrmB+oR+P5EoyoCfKAeSaHVH/+PUsBGplGGA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/math@0.94.1': + resolution: {integrity: sha512-FzNmIPBTV4KbLi4D+2G0YdIjfC5sC9HTGyd93WITd5DHcqRlHXqTUMENyIa5tenouBXl9g8mNGfc8AJ/6UQIuQ==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/math@0.94.4': resolution: {integrity: sha512-Vxb/5iwEEJJKaLvIxrit8KEfSaiTS9ttXimzK7KtWnDVcMwGiqMeTXe7+c5oGfbbrFNQOMEN+owBkl0FgUACMw==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1191,6 +1209,10 @@ packages: resolution: {integrity: sha512-xFB1K/ju3nzMVlxguzeY7KL0XDhUqltVFuAMZLzx6pO6YKKSffyjA+2SpJr0nisStFEaKXlECzHjixo1j4IZIA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/utils@0.94.1': + resolution: {integrity: sha512-rRcg67TQGeaPyhzgmRL43E7+fwEibpcFy/YZTlXQ7wS3uRuUnJd6EjnVUtOjPJLV6w5tTJ50puSF24iLNc38FA==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + '@fuel-ts/utils@0.94.4': resolution: {integrity: sha512-aRzXZ7QTbD8bdmLcrj7FJiqS4wMQCsTVnMATu9UXDRKWFSUBc8wTkH+X9w9W2VZXsfn2GoW80ZJpVs54PzGMvA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1200,6 +1222,11 @@ packages: engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} hasBin: true + '@fuel-ts/versions@0.94.1': + resolution: {integrity: sha512-Da0X6oTgeic7T6bTmHa0crK+ccFvHEkC8h2SxeE3ptWYqC7osoNRoJTk5O7JO2LD0NKFIYJU9BghooOomXFXNw==} + engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} + hasBin: true + '@fuel-ts/versions@0.94.4': resolution: {integrity: sha512-k/e33mqWbPYdKa3lUBi9p5maFHwjkVvMBzrqfi1L4/8hmE++xSDhr+Fp9RyerILNWM03GAb7cOM7Ke6GabhaPA==} engines: {node: ^18.20.3 || ^20.0.0 || ^22.0.0} @@ -1231,10 +1258,9 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1242,66 +1268,61 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - '@inquirer/checkbox@2.5.0': - resolution: {integrity: sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==} + '@inquirer/checkbox@2.4.7': + resolution: {integrity: sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==} engines: {node: '>=18'} - '@inquirer/confirm@3.2.0': - resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} + '@inquirer/confirm@3.1.22': + resolution: {integrity: sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==} engines: {node: '>=18'} - '@inquirer/core@9.2.1': - resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + '@inquirer/core@9.0.10': + resolution: {integrity: sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==} engines: {node: '>=18'} - '@inquirer/editor@2.2.0': - resolution: {integrity: sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==} + '@inquirer/editor@2.1.22': + resolution: {integrity: sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==} engines: {node: '>=18'} - '@inquirer/expand@2.3.0': - resolution: {integrity: sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==} + '@inquirer/expand@2.1.22': + resolution: {integrity: sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==} engines: {node: '>=18'} - '@inquirer/figures@1.0.7': - resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} + '@inquirer/figures@1.0.5': + resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} engines: {node: '>=18'} - '@inquirer/input@2.3.0': - resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} + '@inquirer/input@2.2.9': + resolution: {integrity: sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==} engines: {node: '>=18'} - '@inquirer/number@1.1.0': - resolution: {integrity: sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==} + '@inquirer/number@1.0.10': + resolution: {integrity: sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==} engines: {node: '>=18'} - '@inquirer/password@2.2.0': - resolution: {integrity: sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==} + '@inquirer/password@2.1.22': + resolution: {integrity: sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==} engines: {node: '>=18'} - '@inquirer/prompts@5.5.0': - resolution: {integrity: sha512-BHDeL0catgHdcHbSFFUddNzvx/imzJMft+tWDPwTm3hfu8/tApk1HrooNngB2Mb4qY+KaRWF+iZqoVUPeslEog==} + '@inquirer/prompts@5.3.8': + resolution: {integrity: sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==} engines: {node: '>=18'} - '@inquirer/rawlist@2.3.0': - resolution: {integrity: sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==} + '@inquirer/rawlist@2.2.4': + resolution: {integrity: sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==} engines: {node: '>=18'} - '@inquirer/search@1.1.0': - resolution: {integrity: sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==} + '@inquirer/search@1.0.7': + resolution: {integrity: sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==} engines: {node: '>=18'} - '@inquirer/select@2.5.0': - resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} + '@inquirer/select@2.4.7': + resolution: {integrity: sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==} engines: {node: '>=18'} - '@inquirer/type@1.5.5': - resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} - engines: {node: '>=18'} - - '@inquirer/type@2.0.0': - resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + '@inquirer/type@1.5.2': + resolution: {integrity: sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==} engines: {node: '>=18'} '@isaacs/cliui@8.0.2': @@ -1320,8 +1341,8 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1339,19 +1360,18 @@ packages: resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} engines: {node: '>=12.0.0'} - '@next/eslint-plugin-next@13.5.7': - resolution: {integrity: sha512-c4vuEOOXeib4js5gDq+zFqAAdRGXX6T0d+zFETiQkRwy7vyj5lBov1dW0Z09nDst2lvxo7VEcKrQMUBH5Vgx7Q==} + '@next/eslint-plugin-next@13.5.6': + resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==} '@noble/curves@1.2.0': resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.3.0': + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.6.0': - resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} - engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.2.0': resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} @@ -1359,14 +1379,14 @@ packages: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} + '@noble/hashes@1.3.3': + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} - '@noble/hashes@1.5.0': - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} - engines: {node: ^14.21.3 || >=16} - '@noble/secp256k1@1.7.1': resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -1382,40 +1402,50 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nolyfill/is-core-module@1.0.39': - resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} - engines: {node: '>=12.4.0'} - - '@nomicfoundation/edr-darwin-arm64@0.6.3': - resolution: {integrity: sha512-hqtI7tYDqKG5PDmZ//Z65EH5cgH8VL/SAAu50rpHP7WAVfJWkOCcYbecywwF6nhHdonJbRTDGAeG1/+VOy6zew==} + '@nomicfoundation/edr-darwin-arm64@0.3.5': + resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} engines: {node: '>= 18'} + cpu: [arm64] + os: [darwin] - '@nomicfoundation/edr-darwin-x64@0.6.3': - resolution: {integrity: sha512-4fGi79/lyOlRUORhCYsYb3sWqRHuHT7qqzyZfZuNOn8llaxmT1k36xNmvpyg37R8SzjnhT/DzoukSJrs23Ip9Q==} + '@nomicfoundation/edr-darwin-x64@0.3.5': + resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} engines: {node: '>= 18'} + cpu: [x64] + os: [darwin] - '@nomicfoundation/edr-linux-arm64-gnu@0.6.3': - resolution: {integrity: sha512-yFFTvGFMhfAvQ1Z2itUh1jpoUA+mVROyVELcaxjIq8fyg602lQmbS+NXkhQ+oaeDgJ+06mSENrHBg4fcfRf9cw==} + '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': + resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] - '@nomicfoundation/edr-linux-arm64-musl@0.6.3': - resolution: {integrity: sha512-pOKmd0Fa3a6BHg5qbjbl/jMRELVi9oazbfiuU7Bvgn/dpTK+ID3jwT0SXiuC2zxjmPByWgXL6G9XRf5BPAM2rQ==} + '@nomicfoundation/edr-linux-arm64-musl@0.3.5': + resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] - '@nomicfoundation/edr-linux-x64-gnu@0.6.3': - resolution: {integrity: sha512-3AUferhkLIXtLV63w5GjpHttzdxZ36i656XMy+pkBZbbiqnzIVeKWg6DJv1A94fQY16gB4gqj9CLq4CWvbNN6w==} + '@nomicfoundation/edr-linux-x64-gnu@0.3.5': + resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} engines: {node: '>= 18'} + cpu: [x64] + os: [linux] - '@nomicfoundation/edr-linux-x64-musl@0.6.3': - resolution: {integrity: sha512-fr6bD872WIBXe9YnTDi0CzYepMcYRgSnkVqn0yK4wRnIvKrloWhxXNVY45GVIl51aNZguBnvoA4WEt6HIazs3A==} + '@nomicfoundation/edr-linux-x64-musl@0.3.5': + resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} engines: {node: '>= 18'} + cpu: [x64] + os: [linux] - '@nomicfoundation/edr-win32-x64-msvc@0.6.3': - resolution: {integrity: sha512-sn34MvN1ajw2Oq1+Drpxej78Z0HfIzI4p4WlolupAV9dOZKzp2JAIQeLVfZpjIFbF3zuyxLPP4dUBrQoFPEqhA==} + '@nomicfoundation/edr-win32-x64-msvc@0.3.5': + resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} engines: {node: '>= 18'} + cpu: [x64] + os: [win32] - '@nomicfoundation/edr@0.6.3': - resolution: {integrity: sha512-hThe5ORR75WFYTXKL0K2AyLDxkTMrG+VQ1yL9BhQYsuh3OIH+3yNDxMz2LjfvrpOrMmJ4kk5NKdFewpqDojjXQ==} + '@nomicfoundation/edr@0.3.5': + resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} engines: {node: '>= 18'} '@nomicfoundation/ethereumjs-common@4.0.4': @@ -1444,22 +1474,22 @@ packages: c-kzg: optional: true - '@nomicfoundation/hardhat-chai-matchers@2.0.8': - resolution: {integrity: sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg==} + '@nomicfoundation/hardhat-chai-matchers@2.0.6': + resolution: {integrity: sha512-Te1Uyo9oJcTCF0Jy9dztaLpshmlpjLf2yPtWXlXuLjMt3RRSmJLm/+rKVTW6gfadAEs12U/it6D0ZRnnRGiICQ==} peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 chai: ^4.2.0 ethers: ^6.1.0 hardhat: ^2.9.4 - '@nomicfoundation/hardhat-ethers@3.0.8': - resolution: {integrity: sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA==} + '@nomicfoundation/hardhat-ethers@3.0.5': + resolution: {integrity: sha512-RNFe8OtbZK6Ila9kIlHp0+S80/0Bu/3p41HUpaRIoHLm6X3WekTd83vob3rE54Duufu1edCiBDxspBzi2rxHHw==} peerDependencies: ethers: ^6.1.0 hardhat: ^2.0.0 - '@nomicfoundation/hardhat-network-helpers@1.0.12': - resolution: {integrity: sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA==} + '@nomicfoundation/hardhat-network-helpers@1.0.10': + resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} peerDependencies: hardhat: ^2.9.5 @@ -1468,76 +1498,68 @@ packages: peerDependencies: hardhat: ^2.0.4 - '@nomicfoundation/slang-darwin-arm64@0.17.0': - resolution: {integrity: sha512-O0q94EUtoWy9A5kOTOa9/khtxXDYnLqmuda9pQELurSiwbQEVCPQL8kb34VbOW+ifdre66JM/05Xw9JWhIZ9sA==} + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@nomicfoundation/slang-darwin-x64@0.17.0': - resolution: {integrity: sha512-IaDbHzvT08sBK2HyGzonWhq1uu8IxdjmTqAWHr25Oh/PYnamdi8u4qchZXXYKz/DHLoYN3vIpBXoqLQIomhD/g==} + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@nomicfoundation/slang-linux-arm64-gnu@0.17.0': - resolution: {integrity: sha512-Lj4anvOsQZxs1SycG8VyT2Rl2oqIhyLSUCgGepTt3CiJ/bM+8r8bLJIgh8vKkki4BWz49YsYIgaJB2IPv8FFTw==} + '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] - '@nomicfoundation/slang-linux-arm64-musl@0.17.0': - resolution: {integrity: sha512-/xkTCa9d5SIWUBQE3BmLqDFfJRr4yUBwbl4ynPiGUpRXrD69cs6pWKkwjwz/FdBpXqVo36I+zY95qzoTj/YhOA==} + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@nomicfoundation/slang-linux-x64-gnu@0.17.0': - resolution: {integrity: sha512-oe5IO5vntOqYvTd67deCHPIWuSuWm6aYtT2/0Kqz2/VLtGz4ClEulBSRwfnNzBVtw2nksWipE1w8BzhImI7Syg==} + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@nomicfoundation/slang-linux-x64-musl@0.17.0': - resolution: {integrity: sha512-PpYCI5K/kgLAMXaPY0V4VST5gCDprEOh7z/47tbI8kJQumI5odjsj/Cs8MpTo7/uRH6flKYbVNgUzcocWVYrAQ==} + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@nomicfoundation/slang-win32-arm64-msvc@0.17.0': - resolution: {integrity: sha512-u/Mkf7OjokdBilP7QOJj6QYJU4/mjkbKnTX21wLyCIzeVWS7yafRPYpBycKIBj2pRRZ6ceAY5EqRpb0aiCq+0Q==} + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@nomicfoundation/slang-win32-ia32-msvc@0.17.0': - resolution: {integrity: sha512-XJBVQfNnZQUv0tP2JSJ573S+pmgrLWgqSZOGaMllnB/TL1gRci4Z7dYRJUF2s82GlRJE+FHSI2Ro6JISKmlXCg==} + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@nomicfoundation/slang-win32-x64-msvc@0.17.0': - resolution: {integrity: sha512-zPGsAeiTfqfPNYHD8BfrahQmYzA78ZraoHKTGraq/1xwJwzBK4bu/NtvVA4pJjBV+B4L6DCxVhSbpn40q26JQA==} + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] - '@nomicfoundation/slang@0.17.0': - resolution: {integrity: sha512-1GlkGRcGpVnjFw9Z1vvDKOKo2mzparFt7qrl2pDxWp+jrVtlvej98yCMX52pVyrYE7ZeOSZFnx/DtsSgoukStQ==} + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} engines: {node: '>= 10'} + cpu: [x64] + os: [win32] - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': - resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': - resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': - resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': - resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': - resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': - resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': - resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer@0.1.2': - resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} + '@nomicfoundation/solidity-analyzer@0.1.1': + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} engines: {node: '>= 12'} '@openzeppelin/contracts-upgradeable@4.9.6': @@ -1546,17 +1568,23 @@ packages: '@openzeppelin/contracts@4.9.6': resolution: {integrity: sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==} - '@openzeppelin/defender-sdk-base-client@1.15.0': - resolution: {integrity: sha512-nuf/xegMIuKCO0hMrxI1KQKTzQw1iCl/9kew2nJM9MrFIohhfEXItc5rbJRoV/jehmK/Jhi9ATF9OHH09StEsQ==} + '@openzeppelin/defender-admin-client@1.54.1': + resolution: {integrity: sha512-kRpSUdTsnSqntp4FOXIm95t+6VKHc8CUY2Si71VDuxs0q7HSPZkdpRPSntcolwEzWy9L4a8NS/QMwDF5NJ4X1g==} - '@openzeppelin/defender-sdk-deploy-client@1.15.0': - resolution: {integrity: sha512-2ODMN4j5pPYWyIOvA/zRQmJ0tJyqi6NV3S/PyvufBXa3oj/MDnVO5bMGSQFH0M2VE3bg+i/rcUb0hdbX9Rtm5Q==} + '@openzeppelin/defender-base-client@1.54.1': + resolution: {integrity: sha512-DRGz/7KN3ZQwu28YWMOaojrC7jjPkz/uCwkC8/C8B11qwZhA5qIVvyhYHhhFOCl0J84+E3TNdvkPD2q3p2WaJw==} - '@openzeppelin/defender-sdk-network-client@1.15.0': - resolution: {integrity: sha512-tNynCqFB1XYancq/8yGuj0HCSIyNLSRSuH53Hp2Tl+DpM7W5vIkzSRfvJJxC+8Sld83bVavyNJzTN9xid992Ag==} + '@openzeppelin/defender-sdk-base-client@1.12.0': + resolution: {integrity: sha512-6n5SwJWCjFciC+T7QhfXnkEmkNZGKK0efkCZDAfu/Kd8L1AICnIkWwVte71dnzCBln7wglMiZupSHL3fZqePmQ==} - '@openzeppelin/hardhat-upgrades@3.4.0': - resolution: {integrity: sha512-bfPtUCmRT6kfh/Mz56tAAGS8N22Zr3rdCMG3E3g8CW61QRGsaeFHnZRetBgu1JoKocjCavEtis5/x60m+o5XUQ==} + '@openzeppelin/defender-sdk-deploy-client@1.12.0': + resolution: {integrity: sha512-E1RTyh0kXGRJJy7Kq/qSjQlyHJmtytLLKGHIVbI4Ijo9vwRZ7FZhZgK9lapJNshS4E1p3WgXHSOUJtOfn3F1bg==} + + '@openzeppelin/defender-sdk-network-client@1.12.0': + resolution: {integrity: sha512-0dlEHC27hOVRY+iVcoP2zH8K0jy4O+sOGKz2Ep9eebNcWc7GO6z1wsc4fU51AoiMh+G7cYb+l5z1wQ4Q3Y9vIA==} + + '@openzeppelin/hardhat-upgrades@3.0.5': + resolution: {integrity: sha512-7Klg1B6fH45+7Zxzr6d9mLqudrL9Uk6CUG5AeG5NckPfP4ZlQRo1squcQ8yJPwqDS8rQjfChiqKDelp4LTjyZQ==} hasBin: true peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -1567,8 +1595,8 @@ packages: '@nomicfoundation/hardhat-verify': optional: true - '@openzeppelin/upgrades-core@1.39.0': - resolution: {integrity: sha512-TJ1kMeyp7yD4aDR2bFDK+9m5JVe/ObFDck3erVm2WcBKPtRsmFOP6b0QO1DM6w0HOOIiu8VKfrFDqZ6NyJcUyw==} + '@openzeppelin/upgrades-core@1.32.6': + resolution: {integrity: sha512-TS8596pD1iAOIJMKSeqfYM4likHs/qw+D11xF+l0OklJ4IGwZ5qE4qkuPuOhwj7R8gwhT4ryFVjOztx2HLwKpw==} hasBin: true '@pkgjs/parseargs@0.11.0': @@ -1579,103 +1607,180 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@rollup/rollup-android-arm-eabi@4.24.0': - resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} + '@rollup/rollup-android-arm-eabi@4.14.3': + resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm-eabi@4.22.4': + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.24.0': - resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} + '@rollup/rollup-android-arm64@4.14.3': + resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-android-arm64@4.22.4': + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.24.0': - resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} + '@rollup/rollup-darwin-arm64@4.14.3': + resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.24.0': - resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} + '@rollup/rollup-darwin-arm64@4.22.4': + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.14.3': + resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.22.4': + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.24.0': - resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} + '@rollup/rollup-linux-arm-gnueabihf@4.14.3': + resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.14.3': + resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.24.0': - resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} + '@rollup/rollup-linux-arm-musleabihf@4.22.4': + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.24.0': - resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} + '@rollup/rollup-linux-arm64-gnu@4.14.3': + resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.24.0': - resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} + '@rollup/rollup-linux-arm64-gnu@4.22.4': + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': - resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} + '@rollup/rollup-linux-arm64-musl@4.14.3': + resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.22.4': + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': + resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.24.0': - resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} + '@rollup/rollup-linux-riscv64-gnu@4.14.3': + resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.22.4': + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.24.0': - resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} + '@rollup/rollup-linux-s390x-gnu@4.14.3': + resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.24.0': - resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} + '@rollup/rollup-linux-s390x-gnu@4.22.4': + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.14.3': + resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.22.4': + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.14.3': + resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.24.0': - resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} + '@rollup/rollup-linux-x64-musl@4.22.4': + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.24.0': - resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} + '@rollup/rollup-win32-arm64-msvc@4.14.3': + resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-arm64-msvc@4.22.4': + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.24.0': - resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} + '@rollup/rollup-win32-ia32-msvc@4.14.3': + resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.24.0': - resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} + '@rollup/rollup-win32-ia32-msvc@4.22.4': + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.14.3': + resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} cpu: [x64] os: [win32] - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@rollup/rollup-win32-x64-msvc@4.22.4': + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} + cpu: [x64] + os: [win32] - '@scure/base@1.1.9': - resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + '@scure/base@1.1.6': + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} '@scure/bip32@1.1.5': resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - '@scure/bip32@1.4.0': - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip32@1.3.3': + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} '@scure/bip39@1.1.1': resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - '@scure/bip39@1.3.0': - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@scure/bip39@1.2.2': + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} '@sentry/core@5.30.0': resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} @@ -1705,13 +1810,16 @@ packages: resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} engines: {node: '>=6'} - '@smithy/types@3.5.0': - resolution: {integrity: sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==} - engines: {node: '>=16.0.0'} + '@smithy/types@2.12.0': + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} '@solidity-parser/parser@0.14.5': resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + '@solidity-parser/parser@0.17.0': + resolution: {integrity: sha512-Nko8R0/kUo391jsEHHxrGM07QFdnPGvlmox4rmH0kNiNAashItAilhy4Mv4pK5gQmW5f4sXAF58fwJbmlkGcVw==} + '@solidity-parser/parser@0.18.0': resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} @@ -1745,8 +1853,8 @@ packages: '@types/bn.js@4.11.6': resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} - '@types/bn.js@5.1.6': - resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + '@types/bn.js@5.1.5': + resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -1754,8 +1862,8 @@ packages: '@types/chai-as-promised@7.1.8': resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} - '@types/chai@4.3.20': - resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + '@types/chai@4.3.14': + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -1763,11 +1871,11 @@ packages: '@types/cors@2.8.17': resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + '@types/express-serve-static-core@4.19.0': + resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1784,8 +1892,8 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/lodash@4.17.10': - resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==} + '@types/lodash@4.17.0': + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} '@types/lru-cache@5.1.1': resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} @@ -1796,11 +1904,14 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + '@types/mkdirp@0.5.2': resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} - '@types/mocha@10.0.9': - resolution: {integrity: sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q==} + '@types/mocha@10.0.6': + resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} '@types/mocha@9.1.1': resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} @@ -1814,11 +1925,14 @@ packages: '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - '@types/node@18.19.55': - resolution: {integrity: sha512-zzw5Vw52205Zr/nmErSEkN5FLqXPuKX/k5d1D7RKHATGqU7y6YfX9QxZraUzUrFGqH6XzOzG196BC35ltJC4Cw==} + '@types/node@18.19.31': + resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} + + '@types/node@22.5.0': + resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} - '@types/node@22.7.5': - resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/pbkdf2@3.1.2': resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} @@ -1826,8 +1940,8 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/qs@6.9.16': - resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -1981,8 +2095,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} acorn@6.4.2: @@ -1990,8 +2104,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true @@ -2016,8 +2130,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} amazon-cognito-identity-js@6.3.12: resolution: {integrity: sha512-s7NKDZgx336cp+oDeUtB2ZzT8jWJp/v2LWuYl+LQtMEODe22RF1IJ4nRiDATp+rp1pTffCZcm44Quw4jx2bqNg==} @@ -2029,6 +2143,10 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2053,8 +2171,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -2091,8 +2209,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} array-back@3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} @@ -2133,14 +2251,20 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} - array.prototype.tosorted@1.1.4: - resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} - engines: {node: '>= 0.4'} + array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + + array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -2178,22 +2302,24 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - axios@1.7.7: - resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} + axios@1.7.5: + resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} + + axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base-x@3.0.10: - resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2224,8 +2350,8 @@ packages: bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} boxen@5.1.2: @@ -2242,6 +2368,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + breakword@1.0.6: + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} @@ -2266,8 +2395,12 @@ packages: buffer@4.9.2: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - bundle-require@4.2.1: - resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} + bufferutil@4.0.5: + resolution: {integrity: sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==} + engines: {node: '>=6.14.2'} + + bundle-require@4.0.2: + resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' @@ -2306,6 +2439,14 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -2318,13 +2459,13 @@ packages: resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} engines: {node: '>=16'} - chai-as-promised@7.1.2: - resolution: {integrity: sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==} + chai-as-promised@7.1.1: + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} peerDependencies: - chai: '>= 2.1.2 < 6' + chai: '>= 2.1.2 < 5' - chai@4.5.0: - resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} chalk@2.4.2: @@ -2341,14 +2482,14 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chokidar@4.0.1: - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} - engines: {node: '>= 14.16.0'} - ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -2371,6 +2512,10 @@ packages: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + cli-table@0.3.11: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} @@ -2382,9 +2527,20 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2424,6 +2580,9 @@ packages: commander@2.18.0: resolution: {integrity: sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==} + commander@3.0.2: + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -2436,8 +2595,8 @@ packages: resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} engines: {node: ^12.20.0 || >=14} - compare-versions@6.1.1: - resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2496,6 +2655,19 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -2533,6 +2705,15 @@ packages: supports-color: optional: true + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -2542,18 +2723,22 @@ packages: supports-color: optional: true + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + decamelize@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} - deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -2561,6 +2746,9 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -2577,6 +2765,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -2589,8 +2781,8 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} engines: {node: '>=0.3.1'} difflib@0.2.4: @@ -2637,12 +2829,8 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - enhanced-resolve@5.17.1: - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -2672,11 +2860,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + es-iterator-helpers@1.0.18: + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} engines: {node: '>= 0.4'} es-object-atoms@1.0.0: @@ -2714,8 +2899,8 @@ packages: engines: {node: '>=18'} hasBin: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} escape-html@1.0.3: @@ -2743,21 +2928,15 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.6.3: - resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} + eslint-import-resolver-typescript@3.6.1: + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + eslint-module-utils@2.8.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2783,34 +2962,34 @@ packages: peerDependencies: eslint: '>=4.19.1' - eslint-plugin-import@2.31.0: - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jest-dom@5.4.0: - resolution: {integrity: sha512-yBqvFsnpS5Sybjoq61cJiUsenRkC9K32hYQBFS9doBR7nbQZZ5FyO+X7MlmfM1C48Ejx/qTuOCgukDUNyzKZ7A==} + eslint-plugin-jest-dom@5.2.0: + resolution: {integrity: sha512-ctnCP0MsLmUvbCyhnOQ+/1OmsZj+e7V6kFunazIx5728Yq7TQnuKI8HOsgPTStB+9iYEpiEa+VfKB09Lq7/3fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'} peerDependencies: - '@testing-library/dom': ^8.0.0 || ^9.0.0 || ^10.0.0 - eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + '@testing-library/dom': ^8.0.0 || ^9.0.0 + eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@testing-library/dom': optional: true - eslint-plugin-jsx-a11y@6.10.0: - resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - eslint-plugin-prettier@5.2.1: - resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + eslint-plugin-prettier@5.1.3: + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -2823,20 +3002,20 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.37.1: - resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} + eslint-plugin-react@7.34.1: + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - eslint-plugin-testing-library@6.3.0: - resolution: {integrity: sha512-GYcEErTt6EGwE0bPDY+4aehfEBpB2gDBFKohir8jlATSUvzStEyzCx8QWB/14xeKc/AwyXkzScSzMHnFojkWrA==} + eslint-plugin-testing-library@6.2.2: + resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 @@ -2868,13 +3047,11 @@ packages: eslint@5.16.0: resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==} engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@5.0.1: @@ -2895,8 +3072,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -2923,8 +3100,8 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - ethereum-bloom-filters@1.2.0: - resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + ethereum-bloom-filters@1.1.0: + resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} ethereum-cryptography@0.1.3: resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} @@ -2932,8 +3109,8 @@ packages: ethereum-cryptography@1.2.0: resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - ethereum-cryptography@2.2.1: - resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + ethereum-cryptography@2.1.3: + resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} ethereumjs-abi@0.6.8: resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} @@ -2971,8 +3148,8 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - express@4.21.0: - resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} extendable-error@0.1.7: @@ -3005,14 +3182,11 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.0.2: - resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fdir@6.4.0: - resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==} + fdir@6.3.0: + resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -3038,8 +3212,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} find-replace@3.0.0: @@ -3058,6 +3232,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + flat-cache@2.0.1: resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} engines: {node: '>=4'} @@ -3079,8 +3256,8 @@ packages: fmix@0.1.0: resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -3091,8 +3268,8 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} form-data@3.0.1: @@ -3114,14 +3291,13 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fs-extra@0.30.0: + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -3188,8 +3364,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.8.1: - resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} ghost-testrpc@0.0.2: resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} @@ -3203,35 +3379,30 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true glob@5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} - deprecated: Glob versions prior to v9 are no longer supported glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - deprecated: Glob versions prior to v9 are no longer supported glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - deprecated: Glob versions prior to v9 are no longer supported glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported glob@8.0.3: resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} @@ -3249,8 +3420,8 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} globby@10.0.2: @@ -3267,6 +3438,9 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -3290,11 +3464,15 @@ packages: engines: {node: '>=0.4.7'} hasBin: true + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + hardhat-deploy@0.12.4: resolution: {integrity: sha512-bYO8DIyeGxZWlhnMoCBon9HNZb6ji0jQn7ngP1t5UmGhC8rQYhji7B73qETMOFhzt5ECZPr+U52duj3nubsqdQ==} - hardhat@2.22.12: - resolution: {integrity: sha512-yok65M+LsOeTBHQsjg//QreGCyrsaNmeLVzhTFqlOvZ4ZE5y69N0wRxH1b2BC9dGK8S8OPUJMNiL9X0RAvbm8w==} + hardhat@2.22.3: + resolution: {integrity: sha512-k8JV2ECWNchD6ahkg2BR5wKVxY0OiKot7fuxiIpRK0frRqyOljcR2vKwgWSLw6YIeDcNNA4xybj7Og7NSxr2hA==} hasBin: true peerDependencies: ts-node: '*' @@ -3389,12 +3567,12 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} @@ -3418,7 +3596,6 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3430,8 +3607,8 @@ packages: resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - inquirer@10.2.2: - resolution: {integrity: sha512-tyao/4Vo36XnUItZ7DnUXX4f1jVao2mSrleV/5IPtW/XAEA26hRVsbc68nuTEKWcr5vMP/1mVoT2O7u8H4v1Vg==} + inquirer@10.1.8: + resolution: {integrity: sha512-syxGpOzLyqVeZi1KDBjRTnCn5PiGWySGHP0BbqXbqsEK0ckkZk3egAepEWslUjZXj0rhkUapVXM/IpADWe4D6w==} engines: {node: '>=18'} inquirer@6.5.2: @@ -3453,10 +3630,6 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -3479,16 +3652,12 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-bun-module@1.2.1: - resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} @@ -3549,6 +3718,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -3619,8 +3792,9 @@ packages: iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} @@ -3649,6 +3823,9 @@ packages: json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -3658,10 +3835,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stream-stringify@3.1.6: - resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} - engines: {node: '>=7.10.1'} - json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -3669,6 +3842,9 @@ packages: jsonc-parser@3.1.0: resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} + jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -3693,8 +3869,15 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} @@ -3708,8 +3891,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -3726,6 +3909,10 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -3773,18 +3960,31 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + lru_map@0.3.3: resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + markdown-it@13.0.1: resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} hasBin: true @@ -3819,8 +4019,12 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -3861,6 +4065,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -3870,6 +4078,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} @@ -3878,17 +4090,25 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} + mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} + engines: {node: '>= 8.0.0'} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -3901,18 +4121,17 @@ packages: mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - mocha@10.7.3: - resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} + mocha@10.4.0: + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} engines: {node: '>= 14.0.0'} hasBin: true - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -3960,8 +4179,8 @@ packages: encoding: optional: true - node-gyp-build@4.8.2: - resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} + node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true nofilter@3.1.0: @@ -3996,13 +4215,8 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -4024,6 +4238,10 @@ packages: resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} engines: {node: '>= 0.4'} + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + object.values@1.2.0: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} @@ -4050,8 +4268,8 @@ packages: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} ordinal@1.0.3: @@ -4108,12 +4326,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - package-manager-detector@0.2.1: - resolution: {integrity: sha512-/hVW2fZvAdEas+wyKh0SnlZ2mx0NIa1+j11YaQkogEJkcMErbwchHCuo8z7lEtajZJQZ6rgZNVTWMVVd71Bjng==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -4122,6 +4334,10 @@ packages: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -4152,12 +4368,12 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} - path-to-regexp@0.1.10: - resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -4174,6 +4390,9 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} @@ -4202,6 +4421,10 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + portfinder@1.0.32: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} @@ -4240,6 +4463,10 @@ packages: yaml: optional: true + preferred-pm@3.1.3: + resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} + engines: {node: '>=10'} + prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -4252,8 +4479,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier-plugin-solidity@1.4.1: - resolution: {integrity: sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==} + prettier-plugin-solidity@1.3.1: + resolution: {integrity: sha512-MN4OP5I2gHAzHZG1wcuJl0FsLS3c4Cc5494bbg+6oQWBPuEamjwDvmGfFMZ6NFzsh3Efd9UUxeT7ImgjNH4ozA==} engines: {node: '>=16'} peerDependencies: prettier: '>=2.3.0' @@ -4268,8 +4495,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true @@ -4300,13 +4527,21 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} engines: {node: '>=0.6'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + ramda@0.30.1: resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} @@ -4324,10 +4559,18 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -4340,10 +4583,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readdirp@4.0.2: - resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} - engines: {node: '>= 14.16.0'} - rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -4352,6 +4591,10 @@ packages: resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} engines: {node: '>=6.0.0'} + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + reduce-flatten@2.0.0: resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} engines: {node: '>=6'} @@ -4363,8 +4606,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} regexpp@2.0.1: @@ -4379,6 +4622,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -4430,7 +4676,10 @@ packages: rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true rimraf@3.0.2: @@ -4438,8 +4687,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + rimraf@5.0.9: + resolution: {integrity: sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==} + engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} hasBin: true ripemd160@2.0.2: @@ -4449,8 +4699,13 @@ packages: resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true - rollup@4.24.0: - resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} + rollup@4.14.3: + resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4509,22 +4764,25 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -4590,13 +4848,18 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - solc@0.8.26: - resolution: {integrity: sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==} - engines: {node: '>=10.0.0'} + smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + + solc@0.7.3: + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} hasBin: true - solc@0.8.27: - resolution: {integrity: sha512-BNxMol2tUAbkH7HKlXBcBqrGi2aqgv+uMHz26mJyTtlVgWmBA4ktiw0qVKHfkjf2oaHbwtbtaSeE2dhn/gTAKw==} + solc@0.8.25: + resolution: {integrity: sha512-7P0TF8gPeudl1Ko3RGkyY6XVCxe2SdD/qQhtns1vl3yAbK/PDifKDLHGtx1t7mX3LgR7ojV7Fg/Kc6Q9D2T8UQ==} engines: {node: '>=10.0.0'} hasBin: true @@ -4604,11 +4867,14 @@ packages: resolution: {integrity: sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==} hasBin: true - solidity-ast@0.4.59: - resolution: {integrity: sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g==} + solidity-ast@0.4.56: + resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} + + solidity-comments-extractor@0.0.8: + resolution: {integrity: sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g==} - solidity-coverage@0.8.13: - resolution: {integrity: sha512-RiBoI+kF94V3Rv0+iwOj3HQVSqNzA9qm/qDP1ZDXK5IX0Cvho1qiz8hAXTsAo6KOIUeP73jfscq0KlLqVxzGWA==} + solidity-coverage@0.8.12: + resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: hardhat: ^2.11.0 @@ -4640,8 +4906,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4654,9 +4920,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} string-format@2.0.0: resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} @@ -4677,9 +4942,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - string.prototype.matchall@4.0.11: resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} @@ -4688,9 +4950,6 @@ packages: resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} - string.prototype.repeat@1.0.0: - resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} - string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -4733,6 +4992,10 @@ packages: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} engines: {node: '>=6.5.0', npm: '>=3'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -4766,8 +5029,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} table-layout@1.0.2: @@ -4806,8 +5069,8 @@ packages: tiny-case@1.0.3: resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} - tinyglobby@0.2.9: - resolution: {integrity: sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==} + tinyglobby@0.2.6: + resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} engines: {node: '>=12.0.0'} tmp@0.0.33: @@ -4838,6 +5101,10 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -4886,8 +5153,8 @@ packages: tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} tsort@0.0.1: resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} @@ -4938,38 +5205,43 @@ packages: resolution: {integrity: sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==} hasBin: true - turbo-darwin-64@1.13.4: - resolution: {integrity: sha512-A0eKd73R7CGnRinTiS7txkMElg+R5rKFp9HV7baDiEL4xTG1FIg/56Vm7A5RVgg8UNgG2qNnrfatJtb+dRmNdw==} + tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} + engines: {node: '>=8.0.0'} + hasBin: true + + turbo-darwin-64@1.13.2: + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@1.13.4: - resolution: {integrity: sha512-eG769Q0NF6/Vyjsr3mKCnkG/eW6dKMBZk6dxWOdrHfrg6QgfkBUk0WUUujzdtVPiUIvsh4l46vQrNVd9EOtbyA==} + turbo-darwin-arm64@1.13.2: + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} cpu: [arm64] os: [darwin] - turbo-linux-64@1.13.4: - resolution: {integrity: sha512-Bq0JphDeNw3XEi+Xb/e4xoKhs1DHN7OoLVUbTIQz+gazYjigVZvtwCvgrZI7eW9Xo1eOXM2zw2u1DGLLUfmGkQ==} + turbo-linux-64@1.13.2: + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} cpu: [x64] os: [linux] - turbo-linux-arm64@1.13.4: - resolution: {integrity: sha512-BJcXw1DDiHO/okYbaNdcWN6szjXyHWx9d460v6fCHY65G8CyqGU3y2uUTPK89o8lq/b2C8NK0yZD+Vp0f9VoIg==} + turbo-linux-arm64@1.13.2: + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} cpu: [arm64] os: [linux] - turbo-windows-64@1.13.4: - resolution: {integrity: sha512-OFFhXHOFLN7A78vD/dlVuuSSVEB3s9ZBj18Tm1hk3aW1HTWTuAw0ReN6ZNlVObZUHvGy8d57OAGGxf2bT3etQw==} + turbo-windows-64@1.13.2: + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} cpu: [x64] os: [win32] - turbo-windows-arm64@1.13.4: - resolution: {integrity: sha512-u5A+VOKHswJJmJ8o8rcilBfU5U3Y1TTAfP9wX8bFh8teYF1ghP0EhtMRLjhtp6RPa+XCxHHVA2CiC3gbh5eg5g==} + turbo-windows-arm64@1.13.2: + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} cpu: [arm64] os: [win32] - turbo@1.13.4: - resolution: {integrity: sha512-1q7+9UJABuBAHrcC4Sxp5lOqYS5mvxRrwa33wpIyM18hlOCpRD/fTJNxZ0vhbMcJmz15o9kkVm743mPn7p6jpQ==} + turbo@1.13.2: + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} hasBin: true tweetnacl-util@0.15.1: @@ -4986,10 +5258,14 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -4998,16 +5274,24 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.26.1: - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} type-is@1.6.18: @@ -5041,8 +5325,8 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -5057,6 +5341,11 @@ packages: uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + uglify-js@3.19.2: + resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} + engines: {node: '>=0.8.0'} + hasBin: true + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -5075,9 +5364,9 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - undici@6.19.8: - resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} - engines: {node: '>=18.17'} + undici@6.13.0: + resolution: {integrity: sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw==} + engines: {node: '>=18.0'} unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} @@ -5097,6 +5386,10 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + utf-8-validate@5.0.7: + resolution: {integrity: sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==} + engines: {node: '>=6.14.2'} + utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} @@ -5121,6 +5414,9 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web3-utils@1.10.4: resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} engines: {node: '>=8.0.0'} @@ -5140,14 +5436,21 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -5176,8 +5479,8 @@ packages: resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} engines: {node: '>=8.0.0'} - workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -5222,6 +5525,9 @@ packages: utf-8-validate: optional: true + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -5229,23 +5535,42 @@ packages: yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yaml@2.5.1: - resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} engines: {node: '>= 14'} hasBin: true - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + yargs-unparser@2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -5269,53 +5594,55 @@ packages: snapshots: + '@aashutoshrathi/word-wrap@1.2.6': {} + '@adraffy/ens-normalize@1.10.1': {} '@aws-crypto/sha256-js@1.2.2': dependencies: '@aws-crypto/util': 1.2.2 - '@aws-sdk/types': 3.664.0 + '@aws-sdk/types': 3.535.0 tslib: 1.14.1 '@aws-crypto/util@1.2.2': dependencies: - '@aws-sdk/types': 3.664.0 + '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 - '@aws-sdk/types@3.664.0': + '@aws-sdk/types@3.535.0': dependencies: - '@smithy/types': 3.5.0 - tslib: 2.7.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 '@aws-sdk/util-utf8-browser@3.259.0': dependencies: - tslib: 2.7.0 + tslib: 2.6.2 - '@babel/code-frame@7.25.7': + '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.25.7 - picocolors: 1.1.0 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 - '@babel/helper-validator-identifier@7.25.7': {} + '@babel/helper-validator-identifier@7.22.20': {} - '@babel/highlight@7.25.7': + '@babel/highlight@7.24.2': dependencies: - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.0 + picocolors: 1.0.0 - '@babel/runtime@7.25.7': + '@babel/runtime@7.24.4': dependencies: regenerator-runtime: 0.14.1 - '@changesets/apply-release-plan@7.0.5': + '@changesets/apply-release-plan@7.0.0': dependencies: - '@changesets/config': 3.0.3 + '@babel/runtime': 7.24.4 + '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.1 - '@changesets/should-skip-package': 0.1.1 + '@changesets/git': 3.0.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -5324,57 +5651,61 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.6.0 - '@changesets/assemble-release-plan@6.0.4': + '@changesets/assemble-release-plan@6.0.0': dependencies: + '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/should-skip-package': 0.1.1 + '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.3 + semver: 7.6.0 '@changesets/changelog-git@0.2.0': dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.9': + '@changesets/cli@2.27.1': dependencies: - '@changesets/apply-release-plan': 7.0.5 - '@changesets/assemble-release-plan': 6.0.4 + '@babel/runtime': 7.24.4 + '@changesets/apply-release-plan': 7.0.0 + '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.0 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.4 - '@changesets/git': 3.0.1 - '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 - '@changesets/should-skip-package': 0.1.1 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-release-plan': 4.0.0 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.2 + '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 + '@types/semver': 7.5.8 ansi-colors: 4.1.3 + chalk: 2.4.2 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 - mri: 1.2.0 + human-id: 1.0.2 + meow: 6.1.1 + outdent: 0.5.0 p-limit: 2.3.0 - package-manager-detector: 0.2.1 - picocolors: 1.1.0 + preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.6.0 spawndamnit: 2.0.0 term-size: 2.2.1 + tty-table: 4.2.3 - '@changesets/config@3.0.3': + '@changesets/config@3.0.0': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/logger': 0.1.1 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/logger': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 @@ -5384,12 +5715,13 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.2': + '@changesets/get-dependents-graph@2.0.0': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.0 - semver: 7.6.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 7.6.0 '@changesets/get-github-info@0.5.2': dependencies: @@ -5398,62 +5730,63 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.4': + '@changesets/get-release-plan@4.0.0': dependencies: - '@changesets/assemble-release-plan': 6.0.4 - '@changesets/config': 3.0.3 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@babel/runtime': 7.24.4 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/config': 3.0.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.1': + '@changesets/git@3.0.0': dependencies: + '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 spawndamnit: 2.0.0 - '@changesets/logger@0.1.1': + '@changesets/logger@0.1.0': dependencies: - picocolors: 1.1.0 + chalk: 2.4.2 '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.1': + '@changesets/pre@2.0.0': dependencies: + '@babel/runtime': 7.24.4 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.1': + '@changesets/read@0.6.0': dependencies: - '@changesets/git': 3.0.1 - '@changesets/logger': 0.1.1 + '@babel/runtime': 7.24.4 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 + chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 - picocolors: 1.1.0 - - '@changesets/should-skip-package@0.1.1': - dependencies: - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 '@changesets/types@4.1.0': {} '@changesets/types@6.0.0': {} - '@changesets/write@0.3.2': + '@changesets/write@0.3.0': dependencies: + '@babel/runtime': 7.24.4 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -5742,20 +6075,20 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: - eslint: 8.57.1 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.10.0': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.2 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -5763,14 +6096,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@8.57.0': {} '@ethereumjs/rlp@4.0.1': {} '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.2.1 + ethereum-cryptography: 2.1.3 micro-ftch: 0.3.1 '@ethersproject/abi@5.7.0': @@ -5910,7 +6243,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2': + '@ethersproject/providers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5931,7 +6264,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -6034,11 +6367,11 @@ snapshots: dependencies: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 - '@fuel-ts/hasher': 0.94.0 + '@fuel-ts/hasher': 0.94.1 '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/math': 0.94.0 '@fuel-ts/utils': 0.94.0 - type-fest: 4.26.1 + type-fest: 4.25.0 '@fuel-ts/abi-coder@0.94.4': dependencies: @@ -6048,20 +6381,20 @@ snapshots: '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/math': 0.94.4 '@fuel-ts/utils': 0.94.4 - type-fest: 4.26.1 + type-fest: 4.25.0 '@fuel-ts/abi-typegen@0.94.0': dependencies: '@fuel-ts/errors': 0.94.0 - '@fuel-ts/interfaces': 0.94.0 + '@fuel-ts/interfaces': 0.94.1 '@fuel-ts/utils': 0.94.0 '@fuel-ts/versions': 0.94.0 commander: 12.1.0 - glob: 10.4.5 + glob: 10.3.12 handlebars: 4.7.8 mkdirp: 1.0.4 ramda: 0.30.1 - rimraf: 5.0.10 + rimraf: 5.0.9 '@fuel-ts/abi-typegen@0.94.4': dependencies: @@ -6070,11 +6403,11 @@ snapshots: '@fuel-ts/utils': 0.94.4 '@fuel-ts/versions': 0.94.4 commander: 12.1.0 - glob: 10.4.5 + glob: 10.3.12 handlebars: 4.7.8 mkdirp: 1.0.4 ramda: 0.30.1 - rimraf: 5.0.10 + rimraf: 5.0.9 '@fuel-ts/account@0.94.0': dependencies: @@ -6090,7 +6423,7 @@ snapshots: '@fuel-ts/utils': 0.94.0 '@fuel-ts/versions': 0.94.0 '@fuels/vm-asm': 0.56.0 - '@noble/curves': 1.6.0 + '@noble/curves': 1.4.2 events: 3.3.0 graphql: 16.9.0 graphql-request: 5.0.0(graphql@16.9.0) @@ -6115,7 +6448,7 @@ snapshots: '@fuel-ts/utils': 0.94.4 '@fuel-ts/versions': 0.94.4 '@fuels/vm-asm': 0.56.0 - '@noble/curves': 1.6.0 + '@noble/curves': 1.4.2 events: 3.3.0 graphql: 16.9.0 graphql-request: 5.0.0(graphql@16.9.0) @@ -6131,8 +6464,8 @@ snapshots: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 '@fuel-ts/interfaces': 0.94.0 - '@fuel-ts/utils': 0.94.0 - '@noble/hashes': 1.5.0 + '@fuel-ts/utils': 0.94.1 + '@noble/hashes': 1.4.0 bech32: 2.0.0 '@fuel-ts/address@0.94.4': @@ -6141,7 +6474,7 @@ snapshots: '@fuel-ts/errors': 0.94.4 '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 bech32: 2.0.0 '@fuel-ts/contract@0.94.0': @@ -6151,8 +6484,8 @@ snapshots: '@fuel-ts/crypto': 0.94.0 '@fuel-ts/errors': 0.94.0 '@fuel-ts/hasher': 0.94.0 - '@fuel-ts/interfaces': 0.94.0 - '@fuel-ts/math': 0.94.0 + '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/math': 0.94.1 '@fuel-ts/merkle': 0.94.0 '@fuel-ts/program': 0.94.0 '@fuel-ts/transactions': 0.94.0 @@ -6189,8 +6522,16 @@ snapshots: '@fuel-ts/errors': 0.94.0 '@fuel-ts/interfaces': 0.94.0 '@fuel-ts/math': 0.94.0 - '@fuel-ts/utils': 0.94.0 - '@noble/hashes': 1.5.0 + '@fuel-ts/utils': 0.94.1 + '@noble/hashes': 1.4.0 + + '@fuel-ts/crypto@0.94.1': + dependencies: + '@fuel-ts/errors': 0.94.1 + '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/math': 0.94.1 + '@fuel-ts/utils': 0.94.1 + '@noble/hashes': 1.4.0 '@fuel-ts/crypto@0.94.4': dependencies: @@ -6198,12 +6539,16 @@ snapshots: '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/math': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 '@fuel-ts/errors@0.94.0': dependencies: '@fuel-ts/versions': 0.94.0 + '@fuel-ts/errors@0.94.1': + dependencies: + '@fuel-ts/versions': 0.94.1 + '@fuel-ts/errors@0.94.4': dependencies: '@fuel-ts/versions': 0.94.4 @@ -6217,36 +6562,51 @@ snapshots: '@fuel-ts/hasher@0.94.0': dependencies: '@fuel-ts/crypto': 0.94.0 - '@fuel-ts/interfaces': 0.94.0 + '@fuel-ts/interfaces': 0.94.1 '@fuel-ts/utils': 0.94.0 - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 + + '@fuel-ts/hasher@0.94.1': + dependencies: + '@fuel-ts/crypto': 0.94.1 + '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/utils': 0.94.1 + '@noble/hashes': 1.4.0 '@fuel-ts/hasher@0.94.4': dependencies: '@fuel-ts/crypto': 0.94.4 '@fuel-ts/interfaces': 0.94.4 '@fuel-ts/utils': 0.94.4 - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 '@fuel-ts/interfaces@0.94.0': {} + '@fuel-ts/interfaces@0.94.1': {} + '@fuel-ts/interfaces@0.94.4': {} '@fuel-ts/math@0.21.2': dependencies: - '@types/bn.js': 5.1.6 + '@types/bn.js': 5.1.5 bn.js: 5.2.1 '@fuel-ts/math@0.94.0': dependencies: '@fuel-ts/errors': 0.94.0 - '@types/bn.js': 5.1.6 + '@types/bn.js': 5.1.5 + bn.js: 5.2.1 + + '@fuel-ts/math@0.94.1': + dependencies: + '@fuel-ts/errors': 0.94.1 + '@types/bn.js': 5.1.5 bn.js: 5.2.1 '@fuel-ts/math@0.94.4': dependencies: '@fuel-ts/errors': 0.94.4 - '@types/bn.js': 5.1.6 + '@types/bn.js': 5.1.5 bn.js: 5.2.1 '@fuel-ts/merkle-shared@0.21.2': @@ -6261,7 +6621,7 @@ snapshots: '@fuel-ts/merkle@0.94.0': dependencies: - '@fuel-ts/hasher': 0.94.0 + '@fuel-ts/hasher': 0.94.1 '@fuel-ts/math': 0.94.0 '@fuel-ts/merkle@0.94.4': @@ -6336,8 +6696,8 @@ snapshots: '@fuel-ts/abi-coder': 0.94.0 '@fuel-ts/address': 0.94.0 '@fuel-ts/errors': 0.94.0 - '@fuel-ts/hasher': 0.94.0 - '@fuel-ts/interfaces': 0.94.0 + '@fuel-ts/hasher': 0.94.1 + '@fuel-ts/interfaces': 0.94.1 '@fuel-ts/math': 0.94.0 '@fuel-ts/utils': 0.94.0 @@ -6359,6 +6719,14 @@ snapshots: '@fuel-ts/versions': 0.94.0 fflate: 0.8.2 + '@fuel-ts/utils@0.94.1': + dependencies: + '@fuel-ts/errors': 0.94.1 + '@fuel-ts/interfaces': 0.94.1 + '@fuel-ts/math': 0.94.1 + '@fuel-ts/versions': 0.94.1 + fflate: 0.8.2 + '@fuel-ts/utils@0.94.4': dependencies: '@fuel-ts/errors': 0.94.4 @@ -6372,6 +6740,11 @@ snapshots: chalk: 4.1.2 cli-table: 0.3.11 + '@fuel-ts/versions@0.94.1': + dependencies: + chalk: 4.1.2 + cli-table: 0.3.11 + '@fuel-ts/versions@0.94.4': dependencies: chalk: 4.1.2 @@ -6384,29 +6757,28 @@ snapshots: transitivePeerDependencies: - encoding - '@fuels/eslint-plugin@0.20.0(eslint@8.57.1)(typescript@5.6.2)': + '@fuels/eslint-plugin@0.20.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@next/eslint-plugin-next': 13.5.7 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 - eslint-config-prettier: 9.1.0(eslint@8.57.1) + '@next/eslint-plugin-next': 13.5.6 + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - eslint-plugin-jest-dom: 5.4.0(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) - eslint-plugin-react: 7.37.1(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - eslint-plugin-testing-library: 6.3.0(eslint@8.57.1)(typescript@5.6.2) - prettier: 3.3.3 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jest-dom: 5.2.0(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-react: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.5) + prettier: 3.2.5 transitivePeerDependencies: - '@testing-library/dom' - '@types/eslint' - eslint-import-resolver-webpack - - eslint-plugin-import-x - supports-color - typescript @@ -6414,9 +6786,9 @@ snapshots: dependencies: prettier: 2.8.8 - '@fuels/ts-config@0.0.10(typescript@5.6.2)': + '@fuels/ts-config@0.0.10(typescript@5.4.5)': dependencies: - typescript: 5.6.2 + typescript: 5.4.5 '@fuels/vm-asm@0.56.0': {} @@ -6424,10 +6796,10 @@ snapshots: dependencies: graphql: 16.9.0 - '@humanwhocodes/config-array@0.13.0': + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6436,27 +6808,28 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@inquirer/checkbox@2.5.0': + '@inquirer/checkbox@2.4.7': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.7 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.2 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/confirm@3.2.0': + '@inquirer/confirm@3.1.22': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 - '@inquirer/core@9.2.1': + '@inquirer/core@9.0.10': dependencies: - '@inquirer/figures': 1.0.7 - '@inquirer/type': 2.0.0 + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.2 '@types/mute-stream': 0.0.4 - '@types/node': 22.7.5 + '@types/node': 22.5.0 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 + cli-spinners: 2.9.2 cli-width: 4.1.0 mute-stream: 1.0.0 signal-exit: 4.1.0 @@ -6464,75 +6837,71 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/editor@2.2.0': + '@inquirer/editor@2.1.22': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 external-editor: 3.1.0 - '@inquirer/expand@2.3.0': + '@inquirer/expand@2.1.22': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 yoctocolors-cjs: 2.1.2 - '@inquirer/figures@1.0.7': {} + '@inquirer/figures@1.0.5': {} - '@inquirer/input@2.3.0': + '@inquirer/input@2.2.9': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 - '@inquirer/number@1.1.0': + '@inquirer/number@1.0.10': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 - '@inquirer/password@2.2.0': + '@inquirer/password@2.1.22': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 ansi-escapes: 4.3.2 - '@inquirer/prompts@5.5.0': + '@inquirer/prompts@5.3.8': dependencies: - '@inquirer/checkbox': 2.5.0 - '@inquirer/confirm': 3.2.0 - '@inquirer/editor': 2.2.0 - '@inquirer/expand': 2.3.0 - '@inquirer/input': 2.3.0 - '@inquirer/number': 1.1.0 - '@inquirer/password': 2.2.0 - '@inquirer/rawlist': 2.3.0 - '@inquirer/search': 1.1.0 - '@inquirer/select': 2.5.0 + '@inquirer/checkbox': 2.4.7 + '@inquirer/confirm': 3.1.22 + '@inquirer/editor': 2.1.22 + '@inquirer/expand': 2.1.22 + '@inquirer/input': 2.2.9 + '@inquirer/number': 1.0.10 + '@inquirer/password': 2.1.22 + '@inquirer/rawlist': 2.2.4 + '@inquirer/search': 1.0.7 + '@inquirer/select': 2.4.7 - '@inquirer/rawlist@2.3.0': + '@inquirer/rawlist@2.2.4': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 yoctocolors-cjs: 2.1.2 - '@inquirer/search@1.1.0': + '@inquirer/search@1.0.7': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.7 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.2 yoctocolors-cjs: 2.1.2 - '@inquirer/select@2.5.0': + '@inquirer/select@2.4.7': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.7 - '@inquirer/type': 1.5.5 + '@inquirer/core': 9.0.10 + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.2 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/type@1.5.5': - dependencies: - mute-stream: 1.0.0 - - '@inquirer/type@2.0.0': + '@inquirer/type@1.5.2': dependencies: mute-stream: 1.0.0 @@ -6548,35 +6917,35 @@ snapshots: '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} - '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.4.15': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.24.4 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.24.4 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -6591,7 +6960,7 @@ snapshots: tweetnacl: 1.0.3 tweetnacl-util: 0.15.1 - '@next/eslint-plugin-next@13.5.7': + '@next/eslint-plugin-next@13.5.6': dependencies: glob: 7.1.7 @@ -6599,21 +6968,21 @@ snapshots: dependencies: '@noble/hashes': 1.3.2 - '@noble/curves@1.4.2': + '@noble/curves@1.3.0': dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.3.3 - '@noble/curves@1.6.0': + '@noble/curves@1.4.2': dependencies: - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 '@noble/hashes@1.2.0': {} '@noble/hashes@1.3.2': {} - '@noble/hashes@1.4.0': {} + '@noble/hashes@1.3.3': {} - '@noble/hashes@1.5.0': {} + '@noble/hashes@1.4.0': {} '@noble/secp256k1@1.7.1': {} @@ -6629,31 +6998,36 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nolyfill/is-core-module@1.0.39': {} - - '@nomicfoundation/edr-darwin-arm64@0.6.3': {} + '@nomicfoundation/edr-darwin-arm64@0.3.5': + optional: true - '@nomicfoundation/edr-darwin-x64@0.6.3': {} + '@nomicfoundation/edr-darwin-x64@0.3.5': + optional: true - '@nomicfoundation/edr-linux-arm64-gnu@0.6.3': {} + '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': + optional: true - '@nomicfoundation/edr-linux-arm64-musl@0.6.3': {} + '@nomicfoundation/edr-linux-arm64-musl@0.3.5': + optional: true - '@nomicfoundation/edr-linux-x64-gnu@0.6.3': {} + '@nomicfoundation/edr-linux-x64-gnu@0.3.5': + optional: true - '@nomicfoundation/edr-linux-x64-musl@0.6.3': {} + '@nomicfoundation/edr-linux-x64-musl@0.3.5': + optional: true - '@nomicfoundation/edr-win32-x64-msvc@0.6.3': {} + '@nomicfoundation/edr-win32-x64-msvc@0.3.5': + optional: true - '@nomicfoundation/edr@0.6.3': - dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.6.3 - '@nomicfoundation/edr-darwin-x64': 0.6.3 - '@nomicfoundation/edr-linux-arm64-gnu': 0.6.3 - '@nomicfoundation/edr-linux-arm64-musl': 0.6.3 - '@nomicfoundation/edr-linux-x64-gnu': 0.6.3 - '@nomicfoundation/edr-linux-x64-musl': 0.6.3 - '@nomicfoundation/edr-win32-x64-msvc': 0.6.3 + '@nomicfoundation/edr@0.3.5': + optionalDependencies: + '@nomicfoundation/edr-darwin-arm64': 0.3.5 + '@nomicfoundation/edr-darwin-x64': 0.3.5 + '@nomicfoundation/edr-linux-arm64-gnu': 0.3.5 + '@nomicfoundation/edr-linux-arm64-musl': 0.3.5 + '@nomicfoundation/edr-linux-x64-gnu': 0.3.5 + '@nomicfoundation/edr-linux-x64-musl': 0.3.5 + '@nomicfoundation/edr-win32-x64-msvc': 0.3.5 '@nomicfoundation/ethereumjs-common@4.0.4': dependencies: @@ -6675,39 +7049,39 @@ snapshots: '@nomicfoundation/ethereumjs-rlp': 5.0.4 ethereum-cryptography: 0.1.3 - '@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(chai@4.5.0)(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': + '@nomicfoundation/hardhat-chai-matchers@2.0.6(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(chai@4.4.1)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + '@nomicfoundation/hardhat-ethers': 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) '@types/chai-as-promised': 7.1.8 - chai: 4.5.0 - chai-as-promised: 7.1.2(chai@4.5.0) - deep-eql: 4.1.4 - ethers: 6.13.1 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + chai: 4.4.1 + chai-as-promised: 7.1.1(chai@4.4.1) + deep-eql: 4.1.3 + ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) ordinal: 1.0.3 - '@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': + '@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': dependencies: - debug: 4.3.7(supports-color@8.1.1) - ethers: 6.13.1 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) lodash.isequal: 4.5.0 transitivePeerDependencies: - supports-color - '@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': + '@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) - '@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': + '@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 8.1.0 chalk: 2.4.2 - debug: 4.3.7(supports-color@8.1.1) - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.2 @@ -6715,128 +7089,136 @@ snapshots: transitivePeerDependencies: - supports-color - '@nomicfoundation/slang-darwin-arm64@0.17.0': {} - - '@nomicfoundation/slang-darwin-x64@0.17.0': {} - - '@nomicfoundation/slang-linux-arm64-gnu@0.17.0': {} - - '@nomicfoundation/slang-linux-arm64-musl@0.17.0': {} - - '@nomicfoundation/slang-linux-x64-gnu@0.17.0': {} - - '@nomicfoundation/slang-linux-x64-musl@0.17.0': {} - - '@nomicfoundation/slang-win32-arm64-msvc@0.17.0': {} - - '@nomicfoundation/slang-win32-ia32-msvc@0.17.0': {} + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': + optional: true - '@nomicfoundation/slang-win32-x64-msvc@0.17.0': {} + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': + optional: true - '@nomicfoundation/slang@0.17.0': - dependencies: - '@nomicfoundation/slang-darwin-arm64': 0.17.0 - '@nomicfoundation/slang-darwin-x64': 0.17.0 - '@nomicfoundation/slang-linux-arm64-gnu': 0.17.0 - '@nomicfoundation/slang-linux-arm64-musl': 0.17.0 - '@nomicfoundation/slang-linux-x64-gnu': 0.17.0 - '@nomicfoundation/slang-linux-x64-musl': 0.17.0 - '@nomicfoundation/slang-win32-arm64-msvc': 0.17.0 - '@nomicfoundation/slang-win32-ia32-msvc': 0.17.0 - '@nomicfoundation/slang-win32-x64-msvc': 0.17.0 + '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': + optional: true - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': optional: true - '@nomicfoundation/solidity-analyzer@0.1.2': + '@nomicfoundation/solidity-analyzer@0.1.1': optionalDependencies: - '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 - '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-freebsd-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 '@openzeppelin/contracts-upgradeable@4.9.6': {} '@openzeppelin/contracts@4.9.6': {} - '@openzeppelin/defender-sdk-base-client@1.15.0': + '@openzeppelin/defender-admin-client@1.54.1(bufferutil@4.0.5)(debug@4.3.4)(utf-8-validate@5.0.7)': + dependencies: + '@openzeppelin/defender-base-client': 1.54.1(debug@4.3.4) + axios: 1.7.5(debug@4.3.4) + ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) + lodash: 4.17.21 + node-fetch: 2.7.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - utf-8-validate + + '@openzeppelin/defender-base-client@1.54.1(debug@4.3.4)': dependencies: amazon-cognito-identity-js: 6.3.12 async-retry: 1.3.3 + axios: 1.7.5(debug@4.3.4) + lodash: 4.17.21 + node-fetch: 2.7.0 transitivePeerDependencies: + - debug - encoding - '@openzeppelin/defender-sdk-deploy-client@1.15.0(debug@4.3.7)': + '@openzeppelin/defender-sdk-base-client@1.12.0': dependencies: - '@openzeppelin/defender-sdk-base-client': 1.15.0 - axios: 1.7.7(debug@4.3.7) + amazon-cognito-identity-js: 6.3.12 + async-retry: 1.3.3 + transitivePeerDependencies: + - encoding + + '@openzeppelin/defender-sdk-deploy-client@1.12.0(debug@4.3.4)': + dependencies: + '@openzeppelin/defender-sdk-base-client': 1.12.0 + axios: 1.7.5(debug@4.3.4) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding - '@openzeppelin/defender-sdk-network-client@1.15.0(debug@4.3.7)': + '@openzeppelin/defender-sdk-network-client@1.12.0(debug@4.3.4)': dependencies: - '@openzeppelin/defender-sdk-base-client': 1.15.0 - axios: 1.7.7(debug@4.3.7) + '@openzeppelin/defender-sdk-base-client': 1.12.0 + axios: 1.7.5(debug@4.3.4) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding - '@openzeppelin/hardhat-upgrades@3.4.0(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))': + '@openzeppelin/hardhat-upgrades@3.0.5(@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)))(bufferutil@4.0.5)(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(utf-8-validate@5.0.7)': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) - '@openzeppelin/defender-sdk-base-client': 1.15.0 - '@openzeppelin/defender-sdk-deploy-client': 1.15.0(debug@4.3.7) - '@openzeppelin/defender-sdk-network-client': 1.15.0(debug@4.3.7) - '@openzeppelin/upgrades-core': 1.39.0 + '@nomicfoundation/hardhat-ethers': 3.0.5(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) + '@openzeppelin/defender-admin-client': 1.54.1(bufferutil@4.0.5)(debug@4.3.4)(utf-8-validate@5.0.7) + '@openzeppelin/defender-base-client': 1.54.1(debug@4.3.4) + '@openzeppelin/defender-sdk-base-client': 1.12.0 + '@openzeppelin/defender-sdk-deploy-client': 1.12.0(debug@4.3.4) + '@openzeppelin/defender-sdk-network-client': 1.12.0(debug@4.3.4) + '@openzeppelin/upgrades-core': 1.32.6 chalk: 4.1.2 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 - ethers: 6.13.1 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) proper-lockfile: 4.1.2 - undici: 6.19.8 + undici: 6.13.0 optionalDependencies: - '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)) + '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)) transitivePeerDependencies: + - bufferutil - encoding - supports-color + - utf-8-validate - '@openzeppelin/upgrades-core@1.39.0': + '@openzeppelin/upgrades-core@1.32.6': dependencies: - '@nomicfoundation/slang': 0.17.0 cbor: 9.0.2 chalk: 4.1.2 - compare-versions: 6.1.1 - debug: 4.3.7(supports-color@8.1.1) + compare-versions: 6.1.0 + debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 - minimatch: 9.0.5 minimist: 1.2.8 proper-lockfile: 4.1.2 - solidity-ast: 0.4.59 + solidity-ast: 0.4.56 transitivePeerDependencies: - supports-color @@ -6845,79 +7227,125 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/rollup-android-arm-eabi@4.24.0': + '@rollup/rollup-android-arm-eabi@4.14.3': + optional: true + + '@rollup/rollup-android-arm-eabi@4.22.4': + optional: true + + '@rollup/rollup-android-arm64@4.14.3': + optional: true + + '@rollup/rollup-android-arm64@4.22.4': + optional: true + + '@rollup/rollup-darwin-arm64@4.14.3': + optional: true + + '@rollup/rollup-darwin-arm64@4.22.4': + optional: true + + '@rollup/rollup-darwin-x64@4.14.3': + optional: true + + '@rollup/rollup-darwin-x64@4.22.4': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.14.3': optional: true - '@rollup/rollup-android-arm64@4.24.0': + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': optional: true - '@rollup/rollup-darwin-arm64@4.24.0': + '@rollup/rollup-linux-arm-musleabihf@4.14.3': optional: true - '@rollup/rollup-darwin-x64@4.24.0': + '@rollup/rollup-linux-arm-musleabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + '@rollup/rollup-linux-arm64-gnu@4.14.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.24.0': + '@rollup/rollup-linux-arm64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.24.0': + '@rollup/rollup-linux-arm64-musl@4.14.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.24.0': + '@rollup/rollup-linux-arm64-musl@4.22.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.24.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.24.0': + '@rollup/rollup-linux-riscv64-gnu@4.14.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.24.0': + '@rollup/rollup-linux-riscv64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-musl@4.24.0': + '@rollup/rollup-linux-s390x-gnu@4.14.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.24.0': + '@rollup/rollup-linux-s390x-gnu@4.22.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.24.0': + '@rollup/rollup-linux-x64-gnu@4.14.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.24.0': + '@rollup/rollup-linux-x64-gnu@4.22.4': optional: true - '@rtsao/scc@1.1.0': {} + '@rollup/rollup-linux-x64-musl@4.14.3': + optional: true + + '@rollup/rollup-linux-x64-musl@4.22.4': + optional: true - '@scure/base@1.1.9': {} + '@rollup/rollup-win32-arm64-msvc@4.14.3': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.22.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.14.3': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.22.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.14.3': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.22.4': + optional: true + + '@scure/base@1.1.6': {} '@scure/bip32@1.1.5': dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.9 + '@scure/base': 1.1.6 - '@scure/bip32@1.4.0': + '@scure/bip32@1.3.3': dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.9 + '@noble/curves': 1.3.0 + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.6 '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 - '@scure/base': 1.1.9 + '@scure/base': 1.1.6 - '@scure/bip39@1.3.0': + '@scure/bip39@1.2.2': dependencies: - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.9 + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.6 '@sentry/core@5.30.0': dependencies: @@ -6968,14 +7396,16 @@ snapshots: '@sentry/types': 5.30.0 tslib: 1.14.1 - '@smithy/types@3.5.0': + '@smithy/types@2.12.0': dependencies: - tslib: 2.7.0 + tslib: 2.6.2 '@solidity-parser/parser@0.14.5': dependencies: antlr4ts: 0.5.0-alpha.4 + '@solidity-parser/parser@0.17.0': {} + '@solidity-parser/parser@0.18.0': {} '@tsconfig/node10@1.0.11': {} @@ -6986,69 +7416,69 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5)': + '@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5)': dependencies: - ethers: 6.13.1 + ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) lodash: 4.17.21 ts-essentials: 7.0.3(typescript@4.9.5) typechain: 8.3.2(typescript@4.9.5) typescript: 4.9.5 - '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1)(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5))(typechain@8.3.2(typescript@4.9.5))': + '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5))(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))': dependencies: - '@typechain/ethers-v6': 0.5.1(ethers@6.13.1)(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) - ethers: 6.13.1 + '@typechain/ethers-v6': 0.5.1(ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) + ethers: 6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) fs-extra: 9.1.0 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) typechain: 8.3.2(typescript@4.9.5) '@types/bn.js@4.11.6': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 - '@types/bn.js@5.1.6': + '@types/bn.js@5.1.5': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/chai-as-promised@7.1.8': dependencies: - '@types/chai': 4.3.20 + '@types/chai': 4.3.14 - '@types/chai@4.3.20': {} + '@types/chai@4.3.14': {} '@types/connect@3.4.38': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/cors@2.8.17': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 - '@types/estree@1.0.6': {} + '@types/estree@1.0.5': {} - '@types/express-serve-static-core@4.19.6': + '@types/express-serve-static-core@4.19.0': dependencies: - '@types/node': 18.19.55 - '@types/qs': 6.9.16 + '@types/node': 18.19.31 + '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.16 + '@types/express-serve-static-core': 4.19.0 + '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/http-errors@2.0.4': {} @@ -7056,7 +7486,7 @@ snapshots: '@types/json5@0.0.29': {} - '@types/lodash@4.17.10': {} + '@types/lodash@4.17.0': {} '@types/lru-cache@5.1.1': {} @@ -7064,124 +7494,128 @@ snapshots: '@types/minimatch@5.1.2': {} + '@types/minimist@1.2.5': {} + '@types/mkdirp@0.5.2': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 - '@types/mocha@10.0.9': {} + '@types/mocha@10.0.6': {} '@types/mocha@9.1.1': {} '@types/mute-stream@0.0.4': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/node@12.20.55': {} '@types/node@18.15.13': {} - '@types/node@18.19.55': + '@types/node@18.19.31': dependencies: undici-types: 5.26.5 - '@types/node@22.7.5': + '@types/node@22.5.0': dependencies: undici-types: 6.19.8 + '@types/normalize-package-data@2.4.4': {} + '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/prettier@2.7.3': {} - '@types/qs@6.9.16': {} + '@types/qs@6.9.15': {} '@types/range-parser@1.2.7': {} '@types/resolve@0.0.8': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/secp256k1@4.0.6': dependencies: - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/semver@7.5.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 18.19.55 + '@types/node': 18.19.31 '@types/send': 0.17.4 '@types/wrap-ansi@3.0.0': {} - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 natural-compare-lite: 1.4.0 - semver: 7.6.3 + semver: 7.6.0 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -7195,27 +7629,27 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -7227,85 +7661,85 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.3 + semver: 7.6.0 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.6.2) + semver: 7.6.0 + tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 8.57.1 + eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.3 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.2) - eslint: 8.57.1 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.3 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - eslint: 8.57.1 - semver: 7.6.3 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -7333,17 +7767,15 @@ snapshots: dependencies: acorn: 6.4.2 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.12.1 + acorn: 8.11.3 - acorn-walk@8.3.4: - dependencies: - acorn: 8.12.1 + acorn-walk@8.3.2: {} acorn@6.4.2: {} - acorn@8.12.1: {} + acorn@8.11.3: {} adm-zip@0.4.16: {} @@ -7353,7 +7785,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -7369,12 +7801,12 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + uri-js: 4.4.1 amazon-cognito-identity-js@6.3.12: dependencies: @@ -7393,6 +7825,8 @@ snapshots: dependencies: string-width: 4.2.3 + ansi-colors@4.1.1: {} + ansi-colors@4.1.3: {} ansi-escapes@3.2.0: {} @@ -7407,7 +7841,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.0.1: {} ansi-styles@3.2.1: dependencies: @@ -7438,9 +7872,9 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: + aria-query@5.3.0: dependencies: - deep-equal: 2.2.3 + dequal: 2.0.3 array-back@3.1.0: {} @@ -7496,7 +7930,14 @@ snapshots: es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - array.prototype.tosorted@1.1.4: + array.prototype.toreversed@1.1.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.tosorted@1.1.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -7515,6 +7956,8 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + arrify@1.0.1: {} + assertion-error@1.1.0: {} ast-parents@0.0.1: {} @@ -7543,21 +7986,31 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axe-core@4.10.0: {} + axe-core@4.7.0: {} + + axios@1.6.8(debug@4.3.4): + dependencies: + follow-redirects: 1.15.6(debug@4.3.4) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug - axios@1.7.7(debug@4.3.7): + axios@1.7.5(debug@4.3.4): dependencies: - follow-redirects: 1.15.9(debug@4.3.7) + follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - axobject-query@4.1.0: {} + axobject-query@3.2.1: + dependencies: + dequal: 2.0.3 balanced-match@1.0.2: {} - base-x@3.0.10: + base-x@3.0.9: dependencies: safe-buffer: 5.2.1 @@ -7581,7 +8034,7 @@ snapshots: bn.js@5.2.1: {} - body-parser@1.20.3: + body-parser@1.20.2: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -7591,7 +8044,7 @@ snapshots: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.13.0 + qs: 6.11.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -7622,6 +8075,10 @@ snapshots: dependencies: fill-range: 7.1.1 + breakword@1.0.6: + dependencies: + wcwidth: 1.0.1 + brorand@1.1.0: {} browser-stdout@1.3.1: {} @@ -7637,7 +8094,7 @@ snapshots: bs58@4.0.1: dependencies: - base-x: 3.0.10 + base-x: 3.0.9 bs58check@2.1.2: dependencies: @@ -7655,7 +8112,12 @@ snapshots: ieee754: 1.2.1 isarray: 1.0.0 - bundle-require@4.2.1(esbuild@0.19.12): + bufferutil@4.0.5: + dependencies: + node-gyp-build: 4.8.0 + optional: true + + bundle-require@4.0.2(esbuild@0.19.12): dependencies: esbuild: 0.19.12 load-tsconfig: 0.2.5 @@ -7694,6 +8156,14 @@ snapshots: callsites@3.1.0: {} + camelcase-keys@6.2.2: + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + + camelcase@5.3.1: {} + camelcase@6.3.0: {} cbor@8.1.0: @@ -7704,20 +8174,20 @@ snapshots: dependencies: nofilter: 3.1.0 - chai-as-promised@7.1.2(chai@4.5.0): + chai-as-promised@7.1.1(chai@4.4.1): dependencies: - chai: 4.5.0 + chai: 4.4.1 check-error: 1.0.3 - chai@4.5.0: + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.4 + deep-eql: 4.1.3 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.1.0 + type-detect: 4.0.8 chalk@2.4.2: dependencies: @@ -7736,7 +8206,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - chokidar@3.6.0: + chokidar@3.5.3: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -7748,9 +8218,17 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@4.0.1: + chokidar@3.6.0: dependencies: - readdirp: 4.0.2 + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 ci-info@2.0.0: {} @@ -7769,6 +8247,8 @@ snapshots: dependencies: restore-cursor: 2.0.0 + cli-spinners@2.9.2: {} + cli-table@0.3.11: dependencies: colors: 1.0.3 @@ -7777,12 +8257,26 @@ snapshots: cli-width@4.1.0: {} + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -7821,13 +8315,15 @@ snapshots: commander@2.18.0: {} + commander@3.0.2: {} + commander@4.1.1: {} commander@8.3.0: {} commander@9.4.1: {} - compare-versions@6.1.1: {} + compare-versions@6.1.0: {} concat-map@0.0.1: {} @@ -7902,6 +8398,19 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + csv-generate@3.4.3: {} + + csv-parse@4.16.3: {} + + csv-stringify@5.6.5: {} + + csv@5.5.3: + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + damerau-levenshtein@1.0.8: {} data-view-buffer@1.0.1: @@ -7934,43 +8443,37 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.7(supports-color@8.1.1): + debug@4.3.4(supports-color@8.1.1): dependencies: - ms: 2.1.3 + ms: 2.1.2 optionalDependencies: supports-color: 8.1.1 - decamelize@4.0.0: {} + debug@4.3.7: + dependencies: + ms: 2.1.3 - deep-eql@4.1.4: + decamelize-keys@1.1.1: dependencies: - type-detect: 4.1.0 + decamelize: 1.2.0 + map-obj: 1.0.1 - deep-equal@2.2.3: + decamelize@1.2.0: {} + + decamelize@4.0.0: {} + + deep-eql@4.1.3: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 + type-detect: 4.0.8 deep-extend@0.6.0: {} deep-is@0.1.4: {} + defaults@1.0.4: + dependencies: + clone: 1.0.4 + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -7987,13 +8490,15 @@ snapshots: depd@2.0.0: {} + dequal@2.0.3: {} + destroy@1.2.0: {} detect-indent@6.1.0: {} diff@4.0.2: {} - diff@5.2.0: {} + diff@5.0.0: {} difflib@0.2.4: dependencies: @@ -8037,9 +8542,7 @@ snapshots: encodeurl@1.0.2: {} - encodeurl@2.0.0: {} - - enhanced-resolve@5.17.1: + enhanced-resolve@5.16.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -8074,7 +8577,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.4 + globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -8090,10 +8593,10 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.2 + object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 + regexp.prototype.flags: 1.5.2 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -8112,19 +8615,7 @@ snapshots: es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-iterator-helpers@1.0.19: + es-iterator-helpers@1.0.18: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8133,7 +8624,7 @@ snapshots: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.4 + globalthis: 1.0.3 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -8266,7 +8757,7 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - escalade@3.2.0: {} + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -8283,148 +8774,144 @@ snapshots: optionalDependencies: source-map: 0.2.0 - eslint-config-prettier@9.1.0(eslint@8.57.1): + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: - eslint: 8.57.1 + eslint: 8.57.0 eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.15.1 + is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.3.7(supports-color@8.1.1) - enhanced-resolve: 5.17.1 - eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + debug: 4.3.4(supports-color@8.1.1) + enhanced-resolve: 5.16.0 + eslint: 8.57.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.8.1 - is-bun-module: 1.2.1 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): dependencies: escape-string-regexp: 1.0.5 - eslint: 8.57.1 - ignore: 5.3.2 + eslint: 8.57.0 + ignore: 5.3.1 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: - '@rtsao/scc': 1.1.0 array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.1 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 - is-core-module: 2.15.1 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest-dom@5.4.0(eslint@8.57.1): + eslint-plugin-jest-dom@5.2.0(eslint@8.57.0): dependencies: - '@babel/runtime': 7.25.7 - eslint: 8.57.1 + '@babel/runtime': 7.24.4 + eslint: 8.57.0 requireindex: 1.2.0 - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: - aria-query: 5.1.3 + '@babel/runtime': 7.24.4 + aria-query: 5.3.0 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.10.0 - axobject-query: 4.1.0 + axe-core: 4.7.0 + axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 8.57.1 + es-iterator-helpers: 1.0.18 + eslint: 8.57.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 + object.entries: 1.1.8 object.fromentries: 2.0.8 - safe-regex-test: 1.0.3 - string.prototype.includes: 2.0.0 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5): dependencies: - eslint: 8.57.1 - prettier: 3.3.3 + eslint: 8.57.0 + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 - synckit: 0.9.2 + synckit: 0.8.8 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: - eslint: 8.57.1 + eslint: 8.57.0 - eslint-plugin-react@7.37.1(eslint@8.57.1): + eslint-plugin-react@7.34.1(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.4 + array.prototype.toreversed: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.19 - eslint: 8.57.1 + es-iterator-helpers: 1.0.18 + eslint: 8.57.0 estraverse: 5.3.0 - hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 + object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 - string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@6.3.0(eslint@8.57.1)(typescript@5.6.2): + eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript @@ -8454,17 +8941,17 @@ snapshots: eslint@5.16.0: dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.24.2 ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.5 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 eslint-scope: 4.0.3 eslint-utils: 1.4.3 eslint-visitor-keys: 1.3.0 espree: 5.0.1 - esquery: 1.6.0 + esquery: 1.5.0 esutils: 2.0.3 file-entry-cache: 5.0.1 functional-red-black-tree: 1.0.1 @@ -8493,26 +8980,26 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@8.57.1: + eslint@8.57.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.6.0 + esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -8520,7 +9007,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -8530,7 +9017,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.4 + optionator: 0.9.3 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -8544,15 +9031,15 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 esprima@2.7.3: {} esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.5.0: dependencies: estraverse: 5.3.0 @@ -8570,9 +9057,9 @@ snapshots: etag@1.8.1: {} - ethereum-bloom-filters@1.2.0: + ethereum-bloom-filters@1.1.0: dependencies: - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.4.0 ethereum-cryptography@0.1.3: dependencies: @@ -8599,12 +9086,12 @@ snapshots: '@scure/bip32': 1.1.5 '@scure/bip39': 1.1.1 - ethereum-cryptography@2.2.1: + ethereum-cryptography@2.1.3: dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 + '@noble/curves': 1.3.0 + '@noble/hashes': 1.3.3 + '@scure/bip32': 1.3.3 + '@scure/bip39': 1.2.2 ethereumjs-abi@0.6.8: dependencies: @@ -8623,13 +9110,13 @@ snapshots: ethereumjs-util@7.1.5: dependencies: - '@types/bn.js': 5.1.6 + '@types/bn.js': 5.1.5 bn.js: 5.2.1 create-hash: 1.2.0 ethereum-cryptography: 0.1.3 rlp: 2.2.7 - ethers@5.7.2: + ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7): dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -8649,7 +9136,7 @@ snapshots: '@ethersproject/networks': 5.7.1 '@ethersproject/pbkdf2': 5.7.0 '@ethersproject/properties': 5.7.0 - '@ethersproject/providers': 5.7.2 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) '@ethersproject/random': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/sha2': 5.7.0 @@ -8665,7 +9152,7 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.13.1: + ethers@6.13.1(bufferutil@4.0.5)(utf-8-validate@5.0.7): dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -8673,7 +9160,7 @@ snapshots: '@types/node': 18.15.13 aes-js: 4.0.0-beta.5 tslib: 2.4.0 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.5)(utf-8-validate@5.0.7) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -8707,34 +9194,34 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - express@4.21.0: + express@4.19.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.3 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 2.0.0 + encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.1 + finalhandler: 1.2.0 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.3 + merge-descriptors: 1.0.1 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.10 + path-to-regexp: 0.1.7 proxy-addr: 2.0.7 - qs: 6.13.0 + qs: 6.11.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.2 + send: 0.18.0 + serve-static: 1.15.0 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -8771,13 +9258,11 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.0.2: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 - fdir@6.4.0(picomatch@4.0.2): + fdir@6.3.0(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -8799,10 +9284,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.3.1: + finalhandler@1.2.0: dependencies: debug: 2.6.9 - encodeurl: 2.0.0 + encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -8829,6 +9314,11 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + find-yarn-workspace-root2@1.2.16: + dependencies: + micromatch: 4.0.8 + pkg-dir: 4.2.0 + flat-cache@2.0.1: dependencies: flatted: 2.0.2 @@ -8851,15 +9341,15 @@ snapshots: dependencies: imul: 1.0.1 - follow-redirects@1.15.9(debug@4.3.7): + follow-redirects@1.15.6(debug@4.3.4): optionalDependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) for-each@0.3.3: dependencies: is-callable: 1.2.7 - foreground-child@3.3.0: + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -8882,13 +9372,15 @@ snapshots: fresh@0.5.2: {} - fs-extra@10.1.0: + fs-extra@0.30.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.7.1 - fs-extra@11.2.0: + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -8941,13 +9433,13 @@ snapshots: chokidar: 3.6.0 commander: 12.1.0 esbuild: 0.22.0 - glob: 10.4.5 + glob: 10.3.12 handlebars: 4.7.8 joycon: 3.1.1 lodash.camelcase: 4.3.0 portfinder: 1.0.32 toml: 3.0.0 - uglify-js: 3.19.3 + uglify-js: 3.19.2 yup: 1.4.0 transitivePeerDependencies: - encoding @@ -8976,7 +9468,7 @@ snapshots: chokidar: 3.6.0 commander: 12.1.0 esbuild: 0.22.0 - glob: 10.4.5 + glob: 10.3.12 handlebars: 4.7.8 joycon: 3.1.1 lodash.camelcase: 4.3.0 @@ -9023,7 +9515,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.8.1: + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -9040,14 +9532,13 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.5: + glob@10.3.12: dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 glob@5.0.15: dependencies: @@ -9097,7 +9588,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.6 + minimatch: 5.0.1 once: 1.4.0 global-modules@2.0.0: @@ -9116,10 +9607,9 @@ snapshots: dependencies: type-fest: 0.20.2 - globalthis@1.0.4: + globalthis@1.0.3: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 globby@10.0.2: dependencies: @@ -9128,7 +9618,7 @@ snapshots: dir-glob: 3.0.1 fast-glob: 3.3.2 glob: 7.2.3 - ignore: 5.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -9137,7 +9627,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -9147,6 +9637,8 @@ snapshots: graceful-fs@4.2.11: {} + grapheme-splitter@1.0.4: {} + graphemer@1.4.0: {} graphql-request@5.0.0(graphql@16.9.0): @@ -9162,7 +9654,7 @@ snapshots: graphql-tag@2.12.6(graphql@16.9.0): dependencies: graphql: 16.9.0 - tslib: 2.7.0 + tslib: 2.6.2 graphql@16.9.0: {} @@ -9173,9 +9665,11 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.3 + uglify-js: 3.19.2 - hardhat-deploy@0.12.4: + hard-rejection@2.1.0: {} + + hardhat-deploy@0.12.4(bufferutil@4.0.5)(utf-8-validate@5.0.7): dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -9184,48 +9678,48 @@ snapshots: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 - '@types/qs': 6.9.16 - axios: 1.7.7(debug@4.3.7) + '@types/qs': 6.9.15 + axios: 1.6.8(debug@4.3.4) chalk: 4.1.2 chokidar: 3.6.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) enquirer: 2.4.1 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) form-data: 4.0.0 fs-extra: 10.1.0 match-all: 1.2.6 murmur-128: 0.2.1 - qs: 6.13.0 - zksync-ethers: 5.9.2(ethers@5.7.2) + qs: 6.12.1 + zksync-ethers: 5.9.2(ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5): + hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.6.3 + '@nomicfoundation/edr': 0.3.5 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 - '@nomicfoundation/solidity-analyzer': 0.1.2 + '@nomicfoundation/solidity-analyzer': 0.1.1 '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.6 + '@types/bn.js': 5.1.5 '@types/lru-cache': 5.1.1 adm-zip: 0.4.16 aggregate-error: 3.1.0 ansi-escapes: 4.3.2 boxen: 5.1.2 chalk: 2.4.2 - chokidar: 4.0.1 + chokidar: 3.6.0 ci-info: 2.0.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) enquirer: 2.4.1 env-paths: 2.2.1 ethereum-cryptography: 1.2.0 @@ -9234,26 +9728,25 @@ snapshots: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.7 + immutable: 4.3.5 io-ts: 1.10.4 - json-stream-stringify: 3.1.6 keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.7.3 + mocha: 10.4.0 p-map: 4.0.0 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.1 - solc: 0.8.26(debug@4.3.7) + solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 tsort: 0.0.1 undici: 5.28.4 uuid: 8.3.2 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7) optionalDependencies: - ts-node: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - bufferutil @@ -9319,7 +9812,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -9337,9 +9830,9 @@ snapshots: ignore@5.2.4: {} - ignore@5.3.2: {} + ignore@5.3.1: {} - immutable@4.3.7: {} + immutable@4.3.5: {} import-fresh@2.0.0: dependencies: @@ -9368,11 +9861,10 @@ snapshots: ini@3.0.1: {} - inquirer@10.2.2: + inquirer@10.1.8: dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/prompts': 5.5.0 - '@inquirer/type': 1.5.5 + '@inquirer/prompts': 5.3.8 + '@inquirer/type': 1.5.2 '@types/mute-stream': 0.0.4 ansi-escapes: 4.3.2 mute-stream: 1.0.0 @@ -9409,11 +9901,6 @@ snapshots: ipaddr.js@1.9.1: {} - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -9438,13 +9925,9 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-bun-module@1.2.1: - dependencies: - semver: 7.6.3 - is-callable@1.2.7: {} - is-core-module@2.15.1: + is-core-module@2.13.1: dependencies: hasown: 2.0.2 @@ -9490,6 +9973,8 @@ snapshots: is-path-inside@3.0.3: {} + is-plain-obj@1.1.0: {} + is-plain-obj@2.1.0: {} is-regex@1.1.4: @@ -9557,7 +10042,7 @@ snapshots: reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - jackspeak@3.4.3: + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -9584,20 +10069,24 @@ snapshots: json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} json-stable-stringify-without-jsonify@1.0.1: {} - json-stream-stringify@3.1.6: {} - json5@1.0.2: dependencies: minimist: 1.2.8 jsonc-parser@3.1.0: {} + jsonfile@2.4.0: + optionalDependencies: + graceful-fs: 4.2.11 + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -9620,7 +10109,7 @@ snapshots: keccak@3.0.4: dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.2 + node-gyp-build: 4.8.0 readable-stream: 3.6.2 keyv@4.5.4: @@ -9629,11 +10118,17 @@ snapshots: kind-of@6.0.3: {} - language-subtag-registry@0.3.23: {} + klaw@1.3.1: + optionalDependencies: + graceful-fs: 4.2.11 + + kleur@4.1.5: {} + + language-subtag-registry@0.3.22: {} language-tags@1.0.9: dependencies: - language-subtag-registry: 0.3.23 + language-subtag-registry: 0.3.22 levn@0.3.0: dependencies: @@ -9645,7 +10140,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@3.1.2: {} + lilconfig@3.1.1: {} lines-and-columns@1.2.4: {} @@ -9662,6 +10157,13 @@ snapshots: load-tsconfig@0.2.5: {} + load-yaml-file@0.2.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -9704,17 +10206,25 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.4.3: {} + lru-cache@10.2.0: {} lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + lru_map@0.3.3: {} make-error@1.3.6: {} + map-obj@1.0.1: {} + + map-obj@4.3.0: {} + markdown-it@13.0.1: dependencies: argparse: 2.0.1 @@ -9756,7 +10266,21 @@ snapshots: memorystream@0.3.1: {} - merge-descriptors@1.0.3: {} + meow@6.1.1: + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + + merge-descriptors@1.0.1: {} merge-stream@2.0.0: {} @@ -9783,6 +10307,8 @@ snapshots: mimic-fn@2.1.0: {} + min-indent@1.0.1: {} + minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} @@ -9791,6 +10317,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@5.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 @@ -9799,13 +10329,21 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.5: + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 + minimist-options@4.1.0: + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + minimist@1.2.8: {} - minipass@7.1.2: {} + minipass@7.0.4: {} + + mixme@0.5.10: {} mkdirp@0.5.6: dependencies: @@ -9817,33 +10355,33 @@ snapshots: dependencies: obliterator: 2.0.4 - mocha@10.7.3: + mocha@10.4.0: dependencies: - ansi-colors: 4.1.3 + ansi-colors: 4.1.1 browser-stdout: 1.3.1 - chokidar: 3.6.0 - debug: 4.3.7(supports-color@8.1.1) - diff: 5.2.0 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + diff: 5.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 glob: 8.1.0 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 - minimatch: 5.1.6 + minimatch: 5.0.1 ms: 2.1.3 - serialize-javascript: 6.0.2 + serialize-javascript: 6.0.0 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 6.5.1 + workerpool: 6.2.1 yargs: 16.2.0 - yargs-parser: 20.2.9 + yargs-parser: 20.2.4 yargs-unparser: 2.0.0 - mri@1.2.0: {} - ms@2.0.0: {} + ms@2.1.2: {} + ms@2.1.3: {} murmur-128@0.2.1: @@ -9882,7 +10420,7 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-gyp-build@4.8.2: {} + node-gyp-build@4.8.0: {} nofilter@3.1.0: {} @@ -9922,12 +10460,7 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.2: {} - - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 + object-inspect@1.13.1: {} object-keys@1.1.1: {} @@ -9957,6 +10490,12 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.3 + object.hasown@1.1.4: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + object.values@1.2.0: dependencies: call-bind: 1.0.7 @@ -9990,14 +10529,14 @@ snapshots: type-check: 0.3.2 word-wrap: 1.2.5 - optionator@0.9.4: + optionator@0.9.3: dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.5 ordinal@1.0.3: {} @@ -10043,10 +10582,6 @@ snapshots: p-try@2.2.0: {} - package-json-from-dist@1.0.1: {} - - package-manager-detector@0.2.1: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -10056,6 +10591,13 @@ snapshots: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + parseurl@1.3.3: {} path-exists@3.0.0: {} @@ -10072,12 +10614,12 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.11.1: + path-scurry@1.10.2: dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 + lru-cache: 10.2.0 + minipass: 7.0.4 - path-to-regexp@0.1.10: {} + path-to-regexp@0.1.7: {} path-type@3.0.0: dependencies: @@ -10095,6 +10637,8 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 + picocolors@1.0.0: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -10109,6 +10653,10 @@ snapshots: pirates@4.0.6: {} + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + portfinder@1.0.32: dependencies: async: 2.6.4 @@ -10119,19 +10667,25 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-load-config@4.0.2(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5)): + postcss-load-config@4.0.2(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5)): dependencies: - lilconfig: 3.1.2 - yaml: 2.5.1 + lilconfig: 3.1.1 + yaml: 2.4.1 optionalDependencies: - ts-node: 10.9.2(@types/node@18.19.55)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@18.19.31)(typescript@4.9.5) - postcss-load-config@6.0.1(tsx@3.14.0)(yaml@2.5.1): + postcss-load-config@6.0.1(tsx@3.14.0): dependencies: - lilconfig: 3.1.2 + lilconfig: 3.1.1 optionalDependencies: tsx: 3.14.0 - yaml: 2.5.1 + + preferred-pm@3.1.3: + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 prelude-ls@1.1.2: {} @@ -10141,18 +10695,19 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-solidity@1.4.1(prettier@3.3.3): + prettier-plugin-solidity@1.3.1(prettier@3.2.5): dependencies: - '@solidity-parser/parser': 0.18.0 - prettier: 3.3.3 - semver: 7.6.3 + '@solidity-parser/parser': 0.17.0 + prettier: 3.2.5 + semver: 7.6.0 + solidity-comments-extractor: 0.0.8 prettier@1.19.1: optional: true prettier@2.8.8: {} - prettier@3.3.3: {} + prettier@3.2.5: {} progress@2.0.3: {} @@ -10181,12 +10736,18 @@ snapshots: punycode@2.3.1: {} - qs@6.13.0: + qs@6.11.0: + dependencies: + side-channel: 1.0.6 + + qs@6.12.1: dependencies: side-channel: 1.0.6 queue-microtask@1.2.3: {} + quick-lru@4.0.1: {} + ramda@0.30.1: {} randombytes@2.1.0: @@ -10204,12 +10765,25 @@ snapshots: react-is@16.13.1: {} + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -10227,8 +10801,6 @@ snapshots: dependencies: picomatch: 2.3.1 - readdirp@4.0.2: {} - rechoir@0.6.2: dependencies: resolve: 1.22.8 @@ -10237,6 +10809,11 @@ snapshots: dependencies: minimatch: 3.1.2 + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + reduce-flatten@2.0.0: {} reflect.getprototypeof@1.0.6: @@ -10246,12 +10823,12 @@ snapshots: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.3: + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10264,6 +10841,8 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + requireindex@1.2.0: {} resolve-from@3.0.0: {} @@ -10282,13 +10861,13 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.15.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -10307,13 +10886,17 @@ snapshots: dependencies: glob: 7.2.3 + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + rimraf@3.0.2: dependencies: glob: 7.2.3 - rimraf@5.0.10: + rimraf@5.0.9: dependencies: - glob: 10.4.5 + glob: 10.3.12 ripemd160@2.0.2: dependencies: @@ -10324,26 +10907,48 @@ snapshots: dependencies: bn.js: 5.2.1 - rollup@4.24.0: + rollup@4.14.3: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.14.3 + '@rollup/rollup-android-arm64': 4.14.3 + '@rollup/rollup-darwin-arm64': 4.14.3 + '@rollup/rollup-darwin-x64': 4.14.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 + '@rollup/rollup-linux-arm-musleabihf': 4.14.3 + '@rollup/rollup-linux-arm64-gnu': 4.14.3 + '@rollup/rollup-linux-arm64-musl': 4.14.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 + '@rollup/rollup-linux-riscv64-gnu': 4.14.3 + '@rollup/rollup-linux-s390x-gnu': 4.14.3 + '@rollup/rollup-linux-x64-gnu': 4.14.3 + '@rollup/rollup-linux-x64-musl': 4.14.3 + '@rollup/rollup-win32-arm64-msvc': 4.14.3 + '@rollup/rollup-win32-ia32-msvc': 4.14.3 + '@rollup/rollup-win32-x64-msvc': 4.14.3 + fsevents: 2.3.3 + + rollup@4.22.4: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.24.0 - '@rollup/rollup-android-arm64': 4.24.0 - '@rollup/rollup-darwin-arm64': 4.24.0 - '@rollup/rollup-darwin-x64': 4.24.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 - '@rollup/rollup-linux-arm-musleabihf': 4.24.0 - '@rollup/rollup-linux-arm64-gnu': 4.24.0 - '@rollup/rollup-linux-arm64-musl': 4.24.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 - '@rollup/rollup-linux-riscv64-gnu': 4.24.0 - '@rollup/rollup-linux-s390x-gnu': 4.24.0 - '@rollup/rollup-linux-x64-gnu': 4.24.0 - '@rollup/rollup-linux-x64-musl': 4.24.0 - '@rollup/rollup-win32-arm64-msvc': 4.24.0 - '@rollup/rollup-win32-ia32-msvc': 4.24.0 - '@rollup/rollup-win32-x64-msvc': 4.24.0 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 run-async@2.4.1: {} @@ -10367,7 +10972,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.7.0 + tslib: 2.6.2 safe-array-concat@1.1.2: dependencies: @@ -10409,15 +11014,17 @@ snapshots: dependencies: elliptic: 6.5.7 node-addon-api: 2.0.2 - node-gyp-build: 4.8.2 + node-gyp-build: 4.8.0 semver@5.7.2: {} semver@6.3.1: {} - semver@7.6.3: {} + semver@7.6.0: + dependencies: + lru-cache: 6.0.0 - send@0.19.0: + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -10435,19 +11042,21 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.2: + serialize-javascript@6.0.0: dependencies: randombytes: 2.1.0 - serve-static@1.16.2: + serve-static@1.15.0: dependencies: - encodeurl: 2.0.0 + encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.0 + send: 0.18.0 transitivePeerDependencies: - supports-color + set-blocking@2.0.0: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -10498,7 +11107,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.1 signal-exit@3.0.7: {} @@ -10518,23 +11127,34 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - solc@0.8.26(debug@4.3.7): + smartwrap@2.0.2: + dependencies: + array.prototype.flat: 1.3.2 + breakword: 1.0.6 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + + solc@0.7.3(debug@4.3.4): dependencies: command-exists: 1.2.9 - commander: 8.3.0 - follow-redirects: 1.15.9(debug@4.3.7) + commander: 3.0.2 + follow-redirects: 1.15.6(debug@4.3.4) + fs-extra: 0.30.0 js-sha3: 0.8.0 memorystream: 0.3.1 + require-from-string: 2.0.2 semver: 5.7.2 tmp: 0.0.33 transitivePeerDependencies: - debug - solc@0.8.27: + solc@0.8.25: dependencies: command-exists: 1.2.9 commander: 8.3.0 - follow-redirects: 1.15.9(debug@4.3.7) + follow-redirects: 1.15.6(debug@4.3.4) js-sha3: 0.8.0 memorystream: 0.3.1 semver: 5.7.2 @@ -10563,9 +11183,13 @@ snapshots: transitivePeerDependencies: - supports-color - solidity-ast@0.4.59: {} + solidity-ast@0.4.56: + dependencies: + array.prototype.findlast: 1.2.5 + + solidity-comments-extractor@0.0.8: {} - solidity-coverage@0.8.13(hardhat@2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5)): + solidity-coverage@0.8.12(hardhat@2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7)): dependencies: '@ethersproject/abi': 5.7.0 '@solidity-parser/parser': 0.18.0 @@ -10576,15 +11200,15 @@ snapshots: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.12(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5) + hardhat: 2.22.3(bufferutil@4.0.5)(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.7) jsonschema: 1.4.1 lodash: 4.17.21 - mocha: 10.7.3 + mocha: 10.4.0 node-emoji: 1.11.0 pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.6.3 + semver: 7.6.0 shelljs: 0.8.5 web3-utils: 1.10.4 @@ -10612,16 +11236,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.17 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.17 - spdx-license-ids@3.0.20: {} + spdx-license-ids@3.0.17: {} sprintf-js@1.0.3: {} @@ -10631,9 +11255,9 @@ snapshots: statuses@2.0.1: {} - stop-iteration-iterator@1.0.0: + stream-transform@2.1.3: dependencies: - internal-slot: 1.0.7 + mixme: 0.5.10 string-format@2.0.0: {} @@ -10660,11 +11284,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 @@ -10676,7 +11295,7 @@ snapshots: gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.3 + regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 @@ -10687,11 +11306,6 @@ snapshots: es-abstract: 1.23.3 es-object-atoms: 1.0.0 - string.prototype.repeat@1.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -10729,7 +11343,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.0.1 strip-bom@3.0.0: {} @@ -10739,6 +11353,10 @@ snapshots: dependencies: is-hex-prefixed: 1.0.0 + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -10747,7 +11365,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.4.5 + glob: 10.3.12 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -10771,10 +11389,10 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.9.2: + synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.7.0 + tslib: 2.6.2 table-layout@1.0.2: dependencies: @@ -10792,7 +11410,7 @@ snapshots: table@6.8.2: dependencies: - ajv: 8.17.1 + ajv: 8.12.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -10816,9 +11434,9 @@ snapshots: tiny-case@1.0.3: {} - tinyglobby@0.2.9: + tinyglobby@0.2.6: dependencies: - fdir: 6.4.0(picomatch@4.0.2) + fdir: 6.3.0(picomatch@4.0.2) picomatch: 4.0.2 tmp@0.0.33: @@ -10843,9 +11461,11 @@ snapshots: tree-kill@1.2.2: {} - ts-api-utils@1.3.0(typescript@5.6.2): + trim-newlines@3.0.1: {} + + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: - typescript: 5.6.2 + typescript: 5.4.5 ts-command-line-args@2.5.1: dependencies: @@ -10874,16 +11494,16 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5): + ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.55 - acorn: 8.12.1 - acorn-walk: 8.3.4 + '@types/node': 18.19.31 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -10892,21 +11512,21 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.2): + ts-node@10.9.2(@types/node@22.5.0)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.7.5 - acorn: 8.12.1 - acorn-walk: 8.3.4 + '@types/node': 22.5.0 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.2 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -10921,23 +11541,23 @@ snapshots: tslib@2.4.0: {} - tslib@2.7.0: {} + tslib@2.6.2: {} tsort@0.0.1: {} - tsup@7.3.0(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5))(typescript@4.9.5): + tsup@7.3.0(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5))(typescript@4.9.5): dependencies: - bundle-require: 4.2.1(esbuild@0.19.12) + bundle-require: 4.0.2(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(ts-node@10.9.2(@types/node@18.19.55)(typescript@4.9.5)) + postcss-load-config: 4.0.2(ts-node@10.9.2(@types/node@18.19.31)(typescript@4.9.5)) resolve-from: 5.0.0 - rollup: 4.24.0 + rollup: 4.14.3 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -10947,26 +11567,26 @@ snapshots: - supports-color - ts-node - tsup@8.3.0(tsx@3.14.0)(typescript@5.6.2)(yaml@2.5.1): + tsup@8.3.0(tsx@3.14.0)(typescript@5.4.5): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 chokidar: 3.6.0 consola: 3.2.3 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.7 esbuild: 0.23.1 execa: 5.1.1 joycon: 3.1.1 picocolors: 1.1.0 - postcss-load-config: 6.0.1(tsx@3.14.0)(yaml@2.5.1) + postcss-load-config: 6.0.1(tsx@3.14.0) resolve-from: 5.0.0 - rollup: 4.24.0 + rollup: 4.22.4 source-map: 0.8.0-beta.0 sucrase: 3.35.0 - tinyglobby: 0.2.9 + tinyglobby: 0.2.6 tree-kill: 1.2.2 optionalDependencies: - typescript: 5.6.2 + typescript: 5.4.5 transitivePeerDependencies: - jiti - supports-color @@ -10978,45 +11598,55 @@ snapshots: tslib: 1.14.1 typescript: 4.9.5 - tsutils@3.21.0(typescript@5.6.2): + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 - typescript: 5.6.2 + typescript: 5.4.5 tsx@3.14.0: dependencies: esbuild: 0.18.20 - get-tsconfig: 4.8.1 + get-tsconfig: 4.7.3 source-map-support: 0.5.21 optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@1.13.4: + tty-table@4.2.3: + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.2 + + turbo-darwin-64@1.13.2: optional: true - turbo-darwin-arm64@1.13.4: + turbo-darwin-arm64@1.13.2: optional: true - turbo-linux-64@1.13.4: + turbo-linux-64@1.13.2: optional: true - turbo-linux-arm64@1.13.4: + turbo-linux-arm64@1.13.2: optional: true - turbo-windows-64@1.13.4: + turbo-windows-64@1.13.2: optional: true - turbo-windows-arm64@1.13.4: + turbo-windows-arm64@1.13.2: optional: true - turbo@1.13.4: + turbo@1.13.2: optionalDependencies: - turbo-darwin-64: 1.13.4 - turbo-darwin-arm64: 1.13.4 - turbo-linux-64: 1.13.4 - turbo-linux-arm64: 1.13.4 - turbo-windows-64: 1.13.4 - turbo-windows-arm64: 1.13.4 + turbo-darwin-64: 1.13.2 + turbo-darwin-arm64: 1.13.2 + turbo-linux-64: 1.13.2 + turbo-linux-arm64: 1.13.2 + turbo-windows-64: 1.13.2 + turbo-windows-arm64: 1.13.2 tweetnacl-util@0.15.1: {} @@ -11030,17 +11660,23 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.1.0: {} + type-detect@4.0.8: {} + + type-fest@0.13.1: {} type-fest@0.20.2: {} type-fest@0.21.3: {} + type-fest@0.6.0: {} + type-fest@0.7.1: {} + type-fest@0.8.1: {} + type-fest@2.19.0: {} - type-fest@4.26.1: {} + type-fest@4.25.0: {} type-is@1.6.18: dependencies: @@ -11050,7 +11686,7 @@ snapshots: typechain@8.3.2(typescript@4.9.5): dependencies: '@types/prettier': 2.7.3 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) fs-extra: 7.0.1 glob: 7.1.7 js-sha3: 0.8.0 @@ -11097,7 +11733,7 @@ snapshots: typescript@4.9.5: {} - typescript@5.6.2: {} + typescript@5.4.5: {} typical@4.0.0: {} @@ -11105,6 +11741,8 @@ snapshots: uc.micro@1.0.6: {} + uglify-js@3.19.2: {} + uglify-js@3.19.3: {} unbox-primitive@1.0.2: @@ -11122,7 +11760,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - undici@6.19.8: {} + undici@6.13.0: {} unfetch@4.2.0: {} @@ -11136,6 +11774,11 @@ snapshots: dependencies: punycode: 2.3.1 + utf-8-validate@5.0.7: + dependencies: + node-gyp-build: 4.8.0 + optional: true + utf8@3.0.0: {} util-deprecate@1.0.2: {} @@ -11153,12 +11796,16 @@ snapshots: vary@1.1.2: {} + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 - ethereum-bloom-filters: 1.2.0 - ethereum-cryptography: 2.2.1 + ethereum-bloom-filters: 1.1.0 + ethereum-cryptography: 2.1.3 ethjs-unit: 0.1.6 number-to-bn: 1.7.0 randombytes: 2.1.0 @@ -11187,7 +11834,7 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.4: + which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -11209,6 +11856,13 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 + which-module@2.0.1: {} + + which-pm@2.0.0: + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 @@ -11238,7 +11892,7 @@ snapshots: reduce-flatten: 2.0.0 typical: 5.2.0 - workerpool@6.5.1: {} + workerpool@6.2.1: {} wrap-ansi@6.2.0: dependencies: @@ -11264,17 +11918,34 @@ snapshots: dependencies: mkdirp: 0.5.6 - ws@7.5.10: {} + ws@7.5.10(bufferutil@4.0.5)(utf-8-validate@5.0.7): + optionalDependencies: + bufferutil: 4.0.5 + utf-8-validate: 5.0.7 - ws@8.17.1: {} + ws@8.17.1(bufferutil@4.0.5)(utf-8-validate@5.0.7): + optionalDependencies: + bufferutil: 4.0.5 + utf-8-validate: 5.0.7 + + y18n@4.0.3: {} y18n@5.0.8: {} yallist@2.1.2: {} - yaml@2.5.1: {} + yallist@4.0.0: {} + + yaml@2.4.1: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@20.2.4: {} - yargs-parser@20.2.9: {} + yargs-parser@21.1.1: {} yargs-unparser@2.0.0: dependencies: @@ -11283,15 +11954,39 @@ snapshots: flat: 5.0.2 is-plain-obj: 2.1.0 + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.2.0 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.4 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 yn@3.1.1: {} @@ -11306,6 +12001,6 @@ snapshots: toposort: 2.0.2 type-fest: 2.19.0 - zksync-ethers@5.9.2(ethers@5.7.2): + zksync-ethers@5.9.2(ethers@5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7)): dependencies: - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.5)(utf-8-validate@5.0.7) \ No newline at end of file From 1bbce7de36d39f2e7fc1c1d9380eb724e8e32391 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:56:04 +0530 Subject: [PATCH 74/84] fix: pnpm build issue --- packages/solidity-contracts/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/solidity-contracts/package.json b/packages/solidity-contracts/package.json index cca5372e..ce64ee1c 100644 --- a/packages/solidity-contracts/package.json +++ b/packages/solidity-contracts/package.json @@ -54,7 +54,6 @@ "dotenv": "^16.0.3", "ethers": "6.13.1", "express": "^4.18.2", - "fs-extra": "^11.2.0", "fuels": "0.94.0", "hardhat": "^2.20.1", "hardhat-deploy": "^0.12.4", From bf40e3a774636bc4a5d1986f7dbb94dccb340b25 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:57:17 +0530 Subject: [PATCH 75/84] chore: use default package for writing to a file --- .../solidity-contracts/scripts/hardhat/verifyDeployment.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index f1f4ecf7..14bf3e2a 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -2,7 +2,8 @@ import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { config as dotEnvConfig } from 'dotenv'; import { ContractFactory } from 'ethers'; -import { writeJsonSync } from 'fs-extra'; +import { writeFileSync } from 'fs'; + dotEnvConfig(); task('verify-deployment', 'Verifies proxy upgrades').setAction( @@ -113,6 +114,6 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( }); } - writeJsonSync('verification.json', verficationPayload, { spaces: 2 }); + writeFileSync('verification.json', JSON.stringify(verficationPayload)); } ); From 2079209140547c351251702db1ca11acc4d4322b Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 12:57:56 +0530 Subject: [PATCH 76/84] chore: rename verification ci upgrade file --- .../workflows/{manual-verify-upgrade.yml => verify-upgrade.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{manual-verify-upgrade.yml => verify-upgrade.yml} (100%) diff --git a/.github/workflows/manual-verify-upgrade.yml b/.github/workflows/verify-upgrade.yml similarity index 100% rename from .github/workflows/manual-verify-upgrade.yml rename to .github/workflows/verify-upgrade.yml From 592258cf3c842402644a0a373cf7b57093f0e6c5 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 13:00:12 +0530 Subject: [PATCH 77/84] chore: revert rename --- .../workflows/{verify-upgrade.yml => manual-verify-upgrade.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{verify-upgrade.yml => manual-verify-upgrade.yml} (100%) diff --git a/.github/workflows/verify-upgrade.yml b/.github/workflows/manual-verify-upgrade.yml similarity index 100% rename from .github/workflows/verify-upgrade.yml rename to .github/workflows/manual-verify-upgrade.yml From f2455688223884c8b2aae1eecb0449854c53bcb3 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 13:34:13 +0530 Subject: [PATCH 78/84] chore: update artifacts --- .../.openzeppelin/sepolia.json | 306 +++++++++++++++++- .../upgradeTest/FuelERC20GatewayV4.json | 6 +- .../upgradeTest/FuelMessagePortalV3.json | 45 ++- 3 files changed, 349 insertions(+), 8 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 7fd2d79a..6231469f 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -470,6 +470,16 @@ "address": "0x21Da06444EA4E48358834398C9575bf92851Ae27", "txHash": "0xf4f110d2e0664c61b5502dbbfdf8b7d5b93b82317edb01b59f18a4e3f7e24db5", "kind": "uups" + }, + { + "address": "0xb477aC0A0d6c6524D8cAE2Ae9A8Cd7Ce79A0ecBb", + "txHash": "0x2f64550ae59ac641b89b122ddf2a6282fb61f6bdefdf30d12a4e9ac98a1da4ee", + "kind": "uups" + }, + { + "address": "0x696E848CD8fd9656ea6361157418c7B536074Be2", + "txHash": "0x2ea493f160a8a73331d7b762bf6f35b1aace72f125ff3875c2b43d0e152cffd7", + "kind": "uups" } ], "impls": { @@ -7163,7 +7173,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8024", + "type": "t_contract(FuelMessagePortal)4534", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -7349,7 +7359,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8024": { + "t_contract(FuelMessagePortal)4534": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, @@ -7396,9 +7406,301 @@ }, "allAddresses": [ "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", + "0x9D7e0e7978236753970B402Ba8BA79Ef4541128A", "0x98B0b68dacCb91255BCed7Ab550Bb643495e879B", "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" ] + }, + "4d889abe65ff220ebe9e241fbf36784759794c6eea3e7f46740f2babb705751b": { + "address": "0x812AAabBE0d5fD5a0A5509059C2BE8aB0C41Cd98", + "txHash": "0xf247af8a7ccfb9c8f2653b512a84ee9bb377baadfaef292cd5110a147ddd86e6", + "layout": { + "solcVersion": "0.8.9", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_status", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "301", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "_incomingMessageSender", + "offset": 0, + "slot": "351", + "type": "t_bytes32", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:96" + }, + { + "label": "_fuelChainState", + "offset": 0, + "slot": "352", + "type": "t_contract(FuelChainState)3900", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:99" + }, + { + "label": "_outgoingMessageNonce", + "offset": 0, + "slot": "353", + "type": "t_uint256", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:102" + }, + { + "label": "_incomingMessageSuccessful", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:105" + }, + { + "label": "__gap", + "offset": 0, + "slot": "355", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortal", + "src": "contracts/fuelchain/FuelMessagePortal.sol:337" + }, + { + "label": "totalDeposited", + "offset": 0, + "slot": "404", + "type": "t_uint256", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "405", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" + }, + { + "label": "withdrawalsPaused", + "offset": 0, + "slot": "454", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:31" + }, + { + "label": "messageIsBlacklisted", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:33" + }, + { + "label": "currentPeriodAmount", + "offset": 0, + "slot": "456", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:36" + }, + { + "label": "currentPeriodEnd", + "offset": 0, + "slot": "457", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:39" + }, + { + "label": "limitAmount", + "offset": 0, + "slot": "458", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:42" + }, + { + "label": "rateLimitEnabled", + "offset": 0, + "slot": "459", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:45" + }, + { + "label": "__gap", + "offset": 0, + "slot": "460", + "type": "t_array(t_uint256)48_storage", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:266" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)48_storage": { + "label": "uint256[48]", + "numberOfBytes": "1536" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(FuelChainState)3900": { + "label": "contract FuelChainState", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)23_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + }, + "allAddresses": [ + "0x812AAabBE0d5fD5a0A5509059C2BE8aB0C41Cd98", + "0x117f1333be787768deb0ADb46d4b54bdBf463995" + ] } } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 31015d35..4f6b98c9 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x21Da06444EA4E48358834398C9575bf92851Ae27", + "address": "0x696E848CD8fd9656ea6361157418c7B536074Be2", "abi": [ { "inputs": [], @@ -912,11 +912,11 @@ "type": "function" } ], - "transactionHash": "0x5825ff196ce5eb2f1010758986fac3a0b2ac5e16666804f6160907f4b17481ef", + "transactionHash": "0xe5087a3bd11ed1916abf01a918c0aa876c8f2dcc3103c3c2d0257563b4788efa", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x98B0b68dacCb91255BCed7Ab550Bb643495e879B" + "implementation": "0x9D7e0e7978236753970B402Ba8BA79Ef4541128A" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index f4ea56db..66b14392 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0xC660DebcfaC0f664C061DDDC3A0E5a16608cDe63", + "address": "0xb477aC0A0d6c6524D8cAE2Ae9A8Cd7Ce79A0ecBb", "abi": [ { "inputs": [ @@ -238,6 +238,19 @@ "name": "Paused", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "status", + "type": "bool" + } + ], + "name": "RateLimitStatusUpdated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -756,6 +769,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "rateLimitEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1071,6 +1097,19 @@ "stateMutability": "payable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "updateRateLimitStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1116,7 +1155,7 @@ "type": "function" } ], - "transactionHash": "0xc1e13e3855a86b14a8863b2592b9ac2f734ec079a1ae7447e56ba8baf6f07d02", + "transactionHash": "0x7ee82b223e98bfb53104695459c1133f0a4d4243baa10688eb02ff3031f375fe", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1125,5 +1164,5 @@ 604800 ] }, - "implementation": "0x04F425CcC331521479BC8cE41Bcd9cf7621F6D8e" + "implementation": "0x117f1333be787768deb0ADb46d4b54bdBf463995" } \ No newline at end of file From 13214ebcc504902374a707eeb5df09821e6947c3 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Tue, 8 Oct 2024 14:19:38 +0530 Subject: [PATCH 79/84] chore: update artifacts from scratch --- .../.openzeppelin/sepolia.json | 7223 +---------------- .../upgradeTest/FuelChainState.json | 6 +- .../upgradeTest/FuelERC20GatewayV4.json | 6 +- .../upgradeTest/FuelMessagePortalV3.json | 6 +- 4 files changed, 158 insertions(+), 7083 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 6231469f..4f27d22c 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -2,6671 +2,25 @@ "manifestVersion": "3.2", "proxies": [ { - "address": "0x395B125343ADebCcB05dd70e117774E3AB08a8a7", - "txHash": "0x41333c55760badde28b8cce9edfeb2e30175f468d56e75fffb10a79295368cf8", + "address": "0x3328a69eA205EC830672c74D3e550eb92f229416", + "txHash": "0x02d1ca014cbd423fd0436f187829df7974848323b58112212f004dbf1887dfe0", "kind": "uups" }, { - "address": "0x557c5cE22F877d975C2cB13D0a961a182d740fD5", - "txHash": "0x7bfa66ef6498ff545596120df88d84e69cd0f52fc7b111c2ad4c0fd0230d570f", + "address": "0x61725EBCc5a6db36184D55DBbc275a08aD63B0Ad", + "txHash": "0x1588ac2995f3c2bd5f0135e82715ebf21ef4080091fea2f759bca846720d19e1", "kind": "uups" }, { - "address": "0x341F28a65Ab45D62421CE383883404339d562c6c", - "txHash": "0xb215d741854539f0316ef08a33bb56d489c1f0500e56de0986968abbc4dfe97b", + "address": "0x0176B13E0fE397D82E8dec9ce6AabcDE2248AA00", + "txHash": "0xc5562e402762f89353f1bd8fe758fb3766ccfbc0051622a9793021ece842d077", "kind": "uups" - }, - { - "address": "0x6AF2aE0606C8BAea345590259633f0F5b2686Ad3", - "txHash": "0x34f219281b86318f74d953846a214561033acf1219a5d995a736e702eb4c9e46", - "kind": "uups" - }, - { - "address": "0x7E2F8d3cDe4dE62948DACE602A05EEf67C5351c2", - "txHash": "0x1d87dba957506b9e2e7b9c22c96bc909d47437d5ea3c27f6ad7b6e082b6e29c4", - "kind": "uups" - }, - { - "address": "0xb4dA7bdBaa8F1D76EEE2049a1159CD24915c4797", - "txHash": "0x4549c934a210f979d329e8bafd52dce86694947eee2c8fca40d81338afc25117", - "kind": "uups" - }, - { - "address": "0x3F356E0Cf09974a8a62Ba2AFeDf442d1cB5e389a", - "txHash": "0x04d9c1ae2cdedbfa258667060f9d28a61e9ae49500bbf67bfbb74be4eb434cfe", - "kind": "uups" - }, - { - "address": "0x975080C59bD5a7C302ef7E4f9F76258B14663A34", - "txHash": "0x8ff8e8f7b58b073c3172e45366366fef600513f997d9b6e5a7296405d56570d7", - "kind": "uups" - }, - { - "address": "0xE52af7c9A2F6b243CEE9F0C423E06BAb6E5c6E3b", - "txHash": "0xeb3702f779f81f1c971ac14d13bf60c1050ab25f5f3de38d4fdf0f1f37aa6225", - "kind": "uups" - }, - { - "address": "0xc094fC648101920B1C37C733AF022942eF4042D3", - "txHash": "0xba2581e6a466472d690aac28f7d5d1323333068007df5fee9372b571721cf391", - "kind": "uups" - }, - { - "address": "0xc8C287B485ece3FF9D5E52b638DAbfAD18602018", - "txHash": "0xb9df38108c952dab5a8283650cdbf16cca8294843e75db938d42019c0604368a", - "kind": "uups" - }, - { - "address": "0x7AE7F3837433b2Ea8B7C3B29b6382eC23A1CEfA2", - "txHash": "0x89deb822b626ded07f510dd617cf2aea8679ebdeb3643fc71a110bb8670966fb", - "kind": "uups" - }, - { - "address": "0x749E27d070E2F4a3D6CED522a0D4BDCB37fA95ba", - "txHash": "0x2647fc128c8236aa7f49b6e7fda5f26062c89b38e96bba870099898bb63cfa56", - "kind": "uups" - }, - { - "address": "0xc17a3694B01238308Fd1140E2F13928ff6564f84", - "txHash": "0xad60883ee72aaf657c5a386d0684758443dd87cd4998f0489ecb26ca16cd2fac", - "kind": "uups" - }, - { - "address": "0x66bD7C366234AAd46BCFcb9EE8dFCdE86c5882f2", - "txHash": "0x615cb66bb939def58278d8178991b5cc6e36e5d0b89332a747c530006f4baa3e", - "kind": "uups" - }, - { - "address": "0x180506B8828094862d94C121307a21ad4Ab8c6DE", - "txHash": "0x425bab23103fadbd7a40eeb6268cb1e26c13a31356f9a112885c27a85b5c41ab", - "kind": "uups" - }, - { - "address": "0xE4685bE2cF255dd5E9acEb37a86389e5EE7346a8", - "txHash": "0x84e2c085977eeeb4019d3a57a1066047603822c4a5e0eeb9bfdd5510cf65a386", - "kind": "uups" - }, - { - "address": "0x0880932521f0E3a90d56bC96fD49c0c98CFCf4A7", - "txHash": "0x542c3deaee466fce122de5eb44632e9228ca893c01e0b81996e9124b232e513b", - "kind": "uups" - }, - { - "address": "0x01eb5b6122E1f65eaF4566093C2431aa0c0eaCd5", - "txHash": "0xfab802a21606f268e7479cd0f0b58b3eb474436b522a55aa7ee0a0df87f8db8e", - "kind": "uups" - }, - { - "address": "0x83114982BDe057a8907F8a081225C7d301898aDd", - "txHash": "0x94d778dc8284824f38d3aacd8172ab9a1880d686365ae3e26e8425e16d858184", - "kind": "uups" - }, - { - "address": "0x8097500F4168240f4334589170d99fE8797b6fF8", - "txHash": "0xdce60bb12134eb3e916258b01d225c7372eef36a8dc8d1f8a0964124c5c5d940", - "kind": "uups" - }, - { - "address": "0x768f9459E3339A1F7d59CcF24C80Eb4A711a01FB", - "txHash": "0x6b50229f9e4f2f4f19a16fba5bed9f832a3220c99fbd391b01809c9fae432cb3", - "kind": "uups" - }, - { - "address": "0xbdf7256C718FCede6f0af19e86D4aBDdc4DC2Ff2", - "txHash": "0x5e93f7942b84271090b9a8e44a95e2f3532d517fc73591e78711a01fccd2eea2", - "kind": "uups" - }, - { - "address": "0x404F391F96798B14C5e99BBB4a9C858da9Cf63b5", - "txHash": "0xbc2cd5b2b5ef31e24e146c50dec2e11e3f075ea04c8f374420947c6a3ccab9b2", - "kind": "uups" - }, - { - "address": "0x01855B78C1f8868DE70e84507ec735983bf262dA", - "txHash": "0xfe7d426ed7e823f4ef65c2cc10cae603ded0dedfb458073e275488f640b87c0a", - "kind": "uups" - }, - { - "address": "0xa97200022c7aDb1b15f0f61f374E3A0c90e2Efa0", - "txHash": "0x78839dcc8bd48354a7f678f95ed1b4dc07439c2fa64f5e7dde48f80e5676c6ce", - "kind": "uups" - }, - { - "address": "0x2e87c41C9B3d932b6DA3C805baEfB7bbe863fCc6", - "txHash": "0x62366b1fb7f457c24a7096d2266abf97238e3271b0a0d41dd54dfdb37ac83018", - "kind": "uups" - }, - { - "address": "0xf38F1e65adc58fc74BaaA132f645Aa5307F2d304", - "txHash": "0xed885a7b39592bda396e87dee34915d227b02d3bea4cb82bb4c4815b80c47025", - "kind": "uups" - }, - { - "address": "0x84C9ef458e85bA74F4DBF3a0B14075bE5341747B", - "txHash": "0xa27b677f1028c5a3f9ea3614de771e9265e13e0bf31e072c62f9bb8c6f3b64de", - "kind": "uups" - }, - { - "address": "0x8B96Ed4aA36041B91a8510A1c644fC72177B5eA0", - "txHash": "0xb0a60d8cfd6fb250e76f35b0b8cf12ca628a2d4accf8a6c89dd69ffe37c85187", - "kind": "uups" - }, - { - "address": "0xAc79E9Ef69021F9bf7Ccb175611F3115Ff65A44D", - "txHash": "0xebef878b6e5527ec7290754277561a8570774bd13aa6ce2e1415a842163f2ea4", - "kind": "uups" - }, - { - "address": "0xb55066f2793773B3784f8c57c415a8b5932B33Cd", - "txHash": "0xff47582c8af946d9a3f6fdb82490a8fa46b8d9153a819423df24a9b043934ddb", - "kind": "uups" - }, - { - "address": "0x977fdEF62CE095Ae8750Fd3496730F24F60dea7a", - "txHash": "0x487bc99ec5db950e41fd290e37d2d0fe166b7158a5b0d5984feda3106a8523eb", - "kind": "uups" - }, - { - "address": "0x2494D3a68a6c1d03c18aa483EBB871Ff73Ada7f9", - "txHash": "0x22213836c43a411df5923d375bc41771ae8877b39cf423ae1e3c21a07eb76f23", - "kind": "uups" - }, - { - "address": "0xa31AD34d2300d0A4e67E6506bb54C793E9eAb003", - "txHash": "0x5512af58e72af031cffac557f818afebae9e03d8db1f424d269a409073f30567", - "kind": "uups" - }, - { - "address": "0x13Df4fD5e07Fc9E4336aF443F9E70b9f2Ebf2Dc9", - "txHash": "0xae1a58d7113ecc6dc9f2e99d6a1cf6ac3a6e82f256d832321bec789e76c4e260", - "kind": "uups" - }, - { - "address": "0x1F8571544e0c94e81fE8bBea439f1aF5831f0FCd", - "txHash": "0xe2b60f94776910d350c121c4e10889ba06668454a5a9c17dbb3e2a685bdf4641", - "kind": "uups" - }, - { - "address": "0x8ACa0d67850C62B50B78c90e83abb65aaADD559A", - "txHash": "0x5ab9b5e67d15bbd70fa85feec76241245621f5a0e2d489522aa282c91595ca6d", - "kind": "uups" - }, - { - "address": "0x7406eF658445a8Ada02d9175536A257FAe7DC6a6", - "txHash": "0x795588a6205dd9aee2c73c26707c7d20603d733fbb2ac47094b981414b6321a3", - "kind": "uups" - }, - { - "address": "0x94859a0ecB0f8A524Df22D879177B9ce45588F8d", - "txHash": "0x52de86d38e9d59b910999f43d949b63a1f5c44612f581846172a22f379946024", - "kind": "uups" - }, - { - "address": "0x152B417a27afcb7Ca9fE11233A66E8AEc5f63033", - "txHash": "0x828f23697722c8b978ed116c587a72d7de5cded5c4bdc68f61292d2d674733ee", - "kind": "uups" - }, - { - "address": "0x5a3f832b47b948dA27aE788E96A0CD7BB0dCd1c1", - "txHash": "0xa2afdd4b08bec00a8cebde7d269edb32ff9e38705193a5dad441cd3d22e8a923", - "kind": "uups" - }, - { - "address": "0xAc46170F97FC86d2FF5Bf935c651c8A0eB169151", - "txHash": "0x9cdab32c955e920a6122f2227b4d5751d8832e267963bb6b4cf00252d71cc701", - "kind": "uups" - }, - { - "address": "0xB5259CbaE5032E14ddA06f2DeBbA9f489B550FF0", - "txHash": "0x0670cc35562c151e4fec51ec455f16a1ff1e9b2d4caa79c4293a0f862de0d596", - "kind": "uups" - }, - { - "address": "0xC3CA7A773AE5B3FA974c6333e65AC468088A4B73", - "txHash": "0x7cff6b8c9024620b6645af5eeb693c13399387b70b8a3d68dd58b32d5a548a27", - "kind": "uups" - }, - { - "address": "0xF363903815A848Bf2950db82246D50a32990781B", - "txHash": "0xcbd14a76d2c5b1b21559d166519c76543fa3c689473ca2388b66196d59428b1f", - "kind": "uups" - }, - { - "address": "0xd1d5a4379dccC46D5c8D1c6c2656ce705698e359", - "txHash": "0x73697b5e8b777713294ab4085e0b1a1d1d283b6e32ab5195ad3b2e79354ab31a", - "kind": "uups" - }, - { - "address": "0x3a857cE73C6a97D3fBd28838d88D79583056b542", - "txHash": "0xf36d07610f9c638aead57a1bbba7cdc218548e4c02d3beca3222ed93fe0609fd", - "kind": "uups" - }, - { - "address": "0xa145b3b3B0BB8D0620e73Cb9a496F505b191b173", - "txHash": "0xbe914a09e5e34320629b22c3e9ba8ea3966bf36cace7afda5f81fd32738dea58", - "kind": "uups" - }, - { - "address": "0x7B782539ea36dc01ca6Bdd8280b115C3230197fd", - "txHash": "0x7dbae2c0b92df08c14c5d5a1c23817694fddb9c9d0e766b1dd4c78073215b3e0", - "kind": "uups" - }, - { - "address": "0x0Bb3a3B43Ac6D190e0ade3aC4aD363eb9B05a80A", - "txHash": "0x0bd68c86a52da2941ac892bdbdc8d1e24ecc0975c6c2a16e045d0abf2c51b524", - "kind": "uups" - }, - { - "address": "0x0b7756Fa86c9dA0342F625dD1a9C8f7362c253B0", - "txHash": "0x10b730681f6c3547f52badd6649e8c3bc12f8fc64a73bb73344b5c9bc2969635", - "kind": "uups" - }, - { - "address": "0xe08fDF30284A2181cbDeF26d9E5Ea53F1DDA54B8", - "txHash": "0xe7fbb6f4a5e651754479281fbccc3d327973e8c2136549f8afac76d7015ede42", - "kind": "uups" - }, - { - "address": "0x4138554D094A2C8Db81e89f3f1886c1E3e906748", - "txHash": "0x4b247915cef1cfb165e01241de91262545f95ae20a4176c2e1e378625c31784a", - "kind": "uups" - }, - { - "address": "0xdDfCb9DF12CE6381507F2561B8a708fCd1CF8180", - "txHash": "0xafa7d3718b2545c642a62cdb8fff198fd2c9fc3975b036658671988f1070338d", - "kind": "uups" - }, - { - "address": "0x2b88606d334d075d33131E6eaC1B7E18E3089228", - "txHash": "0x61e56e58076d247c5931bf273dce56aed47b3fc68b431e6691ce5087239c60d1", - "kind": "uups" - }, - { - "address": "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D", - "txHash": "0x1857ba54cb130c2cf51d139427d28b6ac8bb82123a93ec44ca463ec2ea69a766", - "kind": "uups" - }, - { - "address": "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9", - "txHash": "0xacd8863e086d42367814d265a2cf33ae4b2693bf252f6778de9cc98393d18f90", - "kind": "uups" - }, - { - "address": "0xA3b517fD67a21af560a754aA86DAC6c29B3b5aFf", - "txHash": "0x8ff1f6e28dec8fa47ce55d7effe27283b63b47b737e0ceca1863866d580f69f5", - "kind": "uups" - }, - { - "address": "0xCbFF9726eD7ecc7e6F45Ca288f2Fb22505bA952f", - "txHash": "0x282327e3eec89f92f5fb3d1f75ed63edf5cc58c39adcd6cf358e939557ede21d", - "kind": "uups" - }, - { - "address": "0x40368666eff4Add443cEf30BBAd2eAcAe5F2cbE8", - "txHash": "0x1666522878d94cfb88223e8fefc49a0dbfe10dbfa1df955f39fbcc52525a192a", - "kind": "uups" - }, - { - "address": "0xB53F5723Dd4E46da32e1769Bd36A5aD880e707A5", - "txHash": "0xfde49abec5891d1583ed00cfa999bbb12fff448c61e2e955ca42edec98083c78", - "kind": "uups" - }, - { - "address": "0x625DFD69b61dF567be60516e2136b26Cf5a75Ed1", - "txHash": "0xac30754eac2cf75466ec1cabe4890a4287ae973c457afadd210f277410d77362", - "kind": "uups" - }, - { - "address": "0x1A85C09c6849ad683F4599Fc9010068d0Fb982FC", - "txHash": "0x6f2745ebd7121db800c3941c1a6265d4894e1217571aea30e4a27dbb498f6cc0", - "kind": "uups" - }, - { - "address": "0x68447dEe5c730A05636feC2a859CF4aad343492C", - "txHash": "0x551d62a3134c47ab4b91a957021437f5e24d0b9a1ec61501c1a13acecf5c92de", - "kind": "uups" - }, - { - "address": "0xaaeb5e81d4d2a0C211bB502B6a557BC552b8ceaE", - "txHash": "0x7baad45c2b683f3e3995edb6cee1cd560cd1a01d69deaff4c9c6a436d3f446b4", - "kind": "uups" - }, - { - "address": "0xEAC528d035A76D97b260A92b7e235f44827E3505", - "txHash": "0x7b6ccb7953f4d8647375d969ca26bb51f69adfb9593bb6d1dda62f4099f30f88", - "kind": "uups" - }, - { - "address": "0x4b120AA46550e2ed8960A1056984b9611c127e46", - "txHash": "0xe99ae8c239bfd37db3c30c42cc83c5d9019a294d79274f9689a6b273b35b7041", - "kind": "uups" - }, - { - "address": "0x6ec3E0078442eB1a634E850B084dD9b04a242BFd", - "txHash": "0x13d01c1dbe0ff0f71d5da16df257723e12c9b94a8fe0ef8add111ad12fa991eb", - "kind": "uups" - }, - { - "address": "0x98475860CA72D27317323F5bde6faFB2142C597A", - "txHash": "0x924f1848ca10f49ce524eb8f92f0c2c50a396c4193b075d5dc6ae8d49b18ecb8", - "kind": "uups" - }, - { - "address": "0x0355189c97Bd1f76925006f3C9166Ae72596450E", - "txHash": "0xd7e61f72f73f5ccde729760e88eba938ec791ee318b511bdfba4527d8da9c394", - "kind": "uups" - }, - { - "address": "0xde82f4eBaaC22CE3Af62E45b7e518C1ba6bFCB87", - "txHash": "0xf60db98dc971ca137583fab4a72e91536c39d10c95e1f84bae302bba5579dde4", - "kind": "uups" - }, - { - "address": "0x593Dc747CB819F45698B164eB84E827Fb4A1e0Be", - "txHash": "0x4ea4e395eed59703e544dd1b70418658108526de1ec29b2bbb15a8d1ab8e0a08", - "kind": "uups" - }, - { - "address": "0xD0397c636F4643C8Fac88A2f6fF25F2e75bBbfc0", - "txHash": "0x3929b47da93575709380c8b544e691c0b2342e30411a8e867944267d836d09ee", - "kind": "uups" - }, - { - "address": "0x36207dC084076C2C77f3dA645cC7A85E96cB1237", - "txHash": "0x53847263fd7abf8f4727b99db64d7edee47ad7529088448c41a354bfecf65236", - "kind": "uups" - }, - { - "address": "0xd849a729d84040c8AA732CA8E607e41c2E848859", - "txHash": "0xc9bab087a0ad748ccac2c81bfbba428b3cfd7725100b179c57962c9e11be09f0", - "kind": "uups" - }, - { - "address": "0x47ac5d776a3e711D9d9abC3b3a4Dd568A7211547", - "txHash": "0xc0125e942278f53af299a8f8e511341d772fc53c5753270c325fa5b7117c975d", - "kind": "uups" - }, - { - "address": "0x487f1e0F084ac72F009FB0EECA6e93Aebe6f923d", - "txHash": "0x20db9dc93bee445ea353e32369bb274db50593c153c8c7e30bbbb25e4bc2d53f", - "kind": "uups" - }, - { - "address": "0xcE8766f44AFE520787e7ed7003d1A107f4C24188", - "txHash": "0xa2ff0887aad9a1fb85fd88053973d7dba12fb9585144f849847f8109080caf06", - "kind": "uups" - }, - { - "address": "0x0174678C136621fa0599aa2CfD4155A3355818aD", - "txHash": "0x9ac8664a3e1c2989b57a191f230b5396772946a3555790258cd1d025ca58f544", - "kind": "uups" - }, - { - "address": "0x1703f66959382b268a2fcA52d38d73A8f9707Bfd", - "txHash": "0xa6626478ff77f81e6b58b8f985a6d39e54dd3a486bbfd689f523fb9617cc0d73", - "kind": "uups" - }, - { - "address": "0xde4E5794851fE9e4c0729B8Acc31E4dA47068D2f", - "txHash": "0xf688c72de9d8f612e3ea1fe0ba2406229c1188a26b4aef4de7beb13a59301cb7", - "kind": "uups" - }, - { - "address": "0xda64a4017c731966aBec784FE7eAd09C2DD2fE5d", - "txHash": "0xb3e93b0c5361b22fd1a13e74cff67506f58a8aa1d9248cb5413d7592a543ba69", - "kind": "uups" - }, - { - "address": "0x04E94c92F811E55EB6C19208b0fbC5e121B852DC", - "txHash": "0x61b0f2e0e56cad0da7034ca9e17247538d3940ff6104845792dced34ba808db7", - "kind": "uups" - }, - { - "address": "0x58096a912672704E85B221ec0Fabf653e85a9224", - "txHash": "0xed4c8b3bc297d4e09a802ef8bee0cd42d715045a616527de8b30b95cb5225fec", - "kind": "uups" - }, - { - "address": "0xe07e8371670ebe2363D3E9172Fe26BCf68425eEc", - "txHash": "0x847992c675750afe3c6a17bc0b90c8c9eefe2bc4807c793ff23183a08ad1b475", - "kind": "uups" - }, - { - "address": "0xD35dD8b42747B906773a566DD44297e8FF0Cc8C9", - "txHash": "0xad0e0cb8041e8c2748a27e93539e4a55c5fb0031053aaa74c6f0c277efefba61", - "kind": "uups" - }, - { - "address": "0xF811826EC40C9134601360B91C3071cAB234fCDa", - "txHash": "0xc9414f763bb5bc9590e0e72e487299401f759618c9ad4d6ed2d3580f9d413372", - "kind": "uups" - }, - { - "address": "0xe2491478Cf2256c85090f545ebFeE8cDF26D4be5", - "txHash": "0x742b0a094592763635c122bc5305ca06a3c22173dcd456d8de92357c203133a7", - "kind": "uups" - }, - { - "address": "0x9aD93fAAB9548222a7f2358f686157603D6a7Bed", - "txHash": "0x165604480ca805805d07a1b26a05f2ba972d2ddd33fe3185bed6e198171de1fd", - "kind": "uups" - }, - { - "address": "0x7E325E714097Bc17a428d8cd0325Fd9af362bE38", - "txHash": "0xa50deaa5e09422d8aeabcb4144f4f892a9d1c481144886ae54b3310bd634d5ff", - "kind": "uups" - }, - { - "address": "0xC909a6b87f9ac1bA5b5f6928BD5E9aBF59031F3A", - "txHash": "0xd98c28b8552f3369b72dd9b6be496f0429d6be114fe1c94c9079d794a1037509", - "kind": "uups" - }, - { - "address": "0xC660DebcfaC0f664C061DDDC3A0E5a16608cDe63", - "txHash": "0x9296223677cbb146c08bda40144129f44442304b7cb237042a79cf947534cff1", - "kind": "uups" - }, - { - "address": "0x21Da06444EA4E48358834398C9575bf92851Ae27", - "txHash": "0xf4f110d2e0664c61b5502dbbfdf8b7d5b93b82317edb01b59f18a4e3f7e24db5", - "kind": "uups" - }, - { - "address": "0xb477aC0A0d6c6524D8cAE2Ae9A8Cd7Ce79A0ecBb", - "txHash": "0x2f64550ae59ac641b89b122ddf2a6282fb61f6bdefdf30d12a4e9ac98a1da4ee", - "kind": "uups" - }, - { - "address": "0x696E848CD8fd9656ea6361157418c7B536074Be2", - "txHash": "0x2ea493f160a8a73331d7b762bf6f35b1aace72f125ff3875c2b43d0e152cffd7", - "kind": "uups" - } - ], - "impls": { - "f00e439bf3bca3f28854886a4c86389ac0ff38419aedaa7c574512822bc6c041": { - "address": "0x1eF82F91979B8bdbaF700801E66A8fA260e7CA01", - "txHash": "0x29ad6c9265704c557d63adc126b588cdebf8c818bb3d091e4b678e8550812b29", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)5617_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:59" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)5617_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)5617_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "633d0d6ac350c3e68663f815e4050607b160b56384884f71c8def313de329079": { - "address": "0x6CBa861680cD1d79201520AdDe863A205C69C150", - "txHash": "0xb8687dd8539b5e31ab39eeb22083026c8c244c70ab402b90be27d68f7093af56", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)5738", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:333" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)5738": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "8670193788ce74841242315683beb2e1934bdf8029c08d6e785d134fd871abb0": { - "address": "0xAE18dbA8fFaF4d9dCbb20f474847785D7e89deEb", - "txHash": "0x51bf2d0173b60163a8dd75f4fc90abd81e2f722d7d2b7a2237c29caca273149b", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6478", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))", - "contract": "FuelERC20Gateway", - "src": "contracts/messaging/gateway/FuelERC20Gateway.sol:54" - }, - { - "label": "isBridge", - "offset": 0, - "slot": "351", - "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:9" - }, - { - "label": "__gap", - "offset": 0, - "slot": "352", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:22" - }, - { - "label": "__gap", - "offset": 0, - "slot": "401", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV2", - "src": "contracts/messaging/gateway/v2/FuelERC20GatewayV2.sol:48" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6478": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))": { - "label": "mapping(address => mapping(bytes32 => uint256))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { - "label": "mapping(bytes32 => mapping(address => bool))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_uint256)": { - "label": "mapping(bytes32 => uint256)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "03fea0e508046fa017aebdfa28b14130d95c484084f9bf4b7e94ab916d0f68bf": { - "address": "0xb52787f8f297cC3411986a00e4F288B09cA5c289", - "txHash": "0x66b8319ea953f41ea4487f196b639d7dd8ec478c9c0c98c20a75c4d2fc6bf6ae", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6478", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_uint256,t_bytes32))", - "contract": "FuelERC721Gateway", - "src": "contracts/messaging/gateway/FuelERC721Gateway.sol:61" - }, - { - "label": "isBridge", - "offset": 0, - "slot": "351", - "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:9" - }, - { - "label": "__gap", - "offset": 0, - "slot": "352", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:22" - }, - { - "label": "__gap", - "offset": 0, - "slot": "401", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC721GatewayV2", - "src": "contracts/messaging/gateway/v2/FuelERC721GatewayV2.sol:47" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6478": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_uint256,t_bytes32))": { - "label": "mapping(address => mapping(uint256 => bytes32))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { - "label": "mapping(bytes32 => mapping(address => bool))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_uint256,t_bytes32)": { - "label": "mapping(uint256 => bytes32)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "171392162c9233e223ce2b77b5355cbf64da0d06c2e2ca72280667f327ac4c19": { - "address": "0x40F53F708650675Ff85255071cc07FcBaFd38CE1", - "txHash": "0x6b9d73ca88cd196101649e5843763995a2fc1ce6603ed5efec39ee0ee73917f3", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)5617_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:59" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)5617_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)5617_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "1abd8fd3f76995ea497812dae5431664ae4c2a77d4a0506dc154eaf2abf595a7": { - "address": "0x04dAEee4C4253f861eAe84503d4a518b3475b696", - "txHash": "0x83219e8f0a40ae786521afff46b59a66129b6b9be21efaab6b2927f848bfa913", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6478", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))", - "contract": "FuelERC20Gateway", - "src": "contracts/messaging/gateway/FuelERC20Gateway.sol:54" - }, - { - "label": "isBridge", - "offset": 0, - "slot": "351", - "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:9" - }, - { - "label": "__gap", - "offset": 0, - "slot": "352", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:22" - }, - { - "label": "__gap", - "offset": 0, - "slot": "401", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV2", - "src": "contracts/messaging/gateway/v2/FuelERC20GatewayV2.sol:48" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6478": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))": { - "label": "mapping(address => mapping(bytes32 => uint256))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { - "label": "mapping(bytes32 => mapping(address => bool))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_uint256)": { - "label": "mapping(bytes32 => uint256)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "a4ecb083a24a265183813eb458832362a60f29747105ef89b2d6e104c11b345d": { - "address": "0xc7955dea58f8b3C9cD7C373ae882ab87912791E9", - "txHash": "0x8be01d85cf9631b2d4fc55c04840b7a7663d550c07f80ee27f37dc9e6828336e", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6478", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_uint256,t_bytes32))", - "contract": "FuelERC721Gateway", - "src": "contracts/messaging/gateway/FuelERC721Gateway.sol:61" - }, - { - "label": "isBridge", - "offset": 0, - "slot": "351", - "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:9" - }, - { - "label": "__gap", - "offset": 0, - "slot": "352", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelBridgeBaseV2", - "src": "contracts/messaging/gateway/v2/FuelBridgeBaseV2.sol:22" - }, - { - "label": "__gap", - "offset": 0, - "slot": "401", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC721GatewayV2", - "src": "contracts/messaging/gateway/v2/FuelERC721GatewayV2.sol:47" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6478": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_uint256,t_bytes32))": { - "label": "mapping(address => mapping(uint256 => bytes32))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { - "label": "mapping(bytes32 => mapping(address => bool))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_uint256,t_bytes32)": { - "label": "mapping(uint256 => bytes32)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "996e7228f088a773bce811345abca7fa29b8a36d07d7aff1ec987ce75b38260a": { - "address": "0xCcEAcd8e88eFD6d0439d3e1051a635dbcEaC14ef", - "txHash": "0xd1d8c1de87a191725a154bd4d4cabe73defee701e6af681ffe8f483890847ffd", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:100" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)5854", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:103" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:106" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:109" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:337" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/v2/FuelMessagePortalV2.sol:13" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/v2/FuelMessagePortalV2.sol:106" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)5854": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "fdc325ae76b1e46e4a6ff556d1943d5fff24a86a72a5378c5d0bd35d6406fda8": { - "address": "0xB26388cfB82C16126043dD8356d2714E77C852bF", - "txHash": "0xe63154f89c09a02fb9aa2aeb6270283b36a2c4b7dc2c0ec194aaed3b033c64e9", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6478", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))", - "contract": "FuelERC20Gateway", - "src": "contracts/messaging/gateway/FuelERC20Gateway.sol:54" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6478": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))": { - "label": "mapping(address => mapping(bytes32 => uint256))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_uint256)": { - "label": "mapping(bytes32 => uint256)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "2bec171602b3fde5aabeee64abd7a2e4e32c9ae4fe15af083b2d68805d70dc03": { - "address": "0xf40BAd2Bc80bA1Ba9B5b2F3325e645Bf9b8c807B", - "txHash": "0x7eb4315e3013c4943ae0330ba12082568aa42d7d3b576ad475506015901afac1", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6362", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "350", - "type": "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))", - "contract": "FuelERC20Gateway", - "src": "contracts/messaging/gateway/FuelERC20Gateway.sol:54" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6362": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_bytes32,t_uint256))": { - "label": "mapping(address => mapping(bytes32 => uint256))", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_uint256)": { - "label": "mapping(bytes32 => uint256)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "6b4cbd57e8cd02a8286ea702d39b021791bb3a3f146c6b49ae17fd41b98342f2": { - "address": "0x800567f454c125A9Dd54D53c3a5A0277a601bf9a", - "txHash": "0x572fedb10b9af1eea8880a3ea5aa4850755cb7d8b4e3af01885a536dc40df487", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:100" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)9078", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:103" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:106" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:109" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:337" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:13" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:106" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:14" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:15" - }, - { - "label": "__gap", - "offset": 0, - "slot": "456", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:97" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)9078": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2335_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2335_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "b9dd224724fdadbc3e6f85275cf599f9a927d1c7796afe9b719fdd477d97c132": { - "address": "0xba98eDC9AC0B6191180562bF68CE001B1D71C11D", - "txHash": "0x12a9d396c2a057c03d859a04a2cc362d2c34e494c11537b6606e0f86ad57197e", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)5995_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:59" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)5995_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)5995_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "9f7f29d876a56513bbcabdcf5a014a04b46d76b4623ba104065748cac07a981d": { - "address": "0xC9C453fA30cd0c6A2f09Af5e1C32F839Ff7a3DD0", - "txHash": "0xbfdf6b815be5966e0f6679044533d307278e66ff35444c333bef4690d9708b62", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)6232", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:333" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:107" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:14" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:15" - }, - { - "label": "__gap", - "offset": 0, - "slot": "456", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:101" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)6232": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "15314565a307c1731d15b7db60595091a0bc5515c75cc16f8b05b732010db281": { - "address": "0xdF018d3163FA9FC70FD6eD79D3E0E3770A034756", - "txHash": "0xdc3594bd692d249aa419041e54908a16af1a240ea96752cebeb5681a547b9a55", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)6853", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "whitelistRequired", - "offset": 0, - "slot": "350", - "type": "t_bool", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:63" - }, - { - "label": "assetIssuerId", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:64" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "352", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:66" - }, - { - "label": "_depositLimits", - "offset": 0, - "slot": "353", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:67" - }, - { - "label": "_decimalsCache", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:68" - }, - { - "label": "_isBridge", - "offset": 0, - "slot": "355", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:69" - }, - { - "label": "__gap", - "offset": 0, - "slot": "356", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:333" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)6853": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "8b16077ce2a68c7e3c6f38f1c61c607d3f53d55ac1c12268c2bee149e0ddc9bb": { - "address": "0xA517017C3d004F1C5fE1CeC4207787627BAd4011", - "txHash": "0x6ecab59ae9c496ed9e34d4e45a65760d56f863d90cd684d6a61d484ecd4c6020", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)9632", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:333" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:107" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:15" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:16" - }, - { - "label": "__gap", - "offset": 0, - "slot": "456", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:148" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)9632": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "b5feea167d06c3eb8552b94bb84496f46ae670c5449e5d110b92b8bb9d4a817b": { - "address": "0x99448d0C551a9B2A5c6280E586c36A8A33BAA968", - "txHash": "0x5fdd5d436bc4626e917a512278c40638d596f97e7998651e82c30d8620da0544", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)9369_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:61" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)9369_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)9369_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "76b7b3bdcf5f6a9c0ac69852a09075952b1c724cab925448f9c191812ed233b7": { - "address": "0xf6024CcbfbB2201C3d43C0C2bBD162d65D4a07c4", - "txHash": "0x45ad34b0af40959d4a5c8963a47d67fc85d393f1f9592dd12a282ef47edfaf8e", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)10253", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "whitelistRequired", - "offset": 0, - "slot": "350", - "type": "t_bool", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:66" - }, - { - "label": "assetIssuerId", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:67" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "352", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:69" - }, - { - "label": "_depositLimits", - "offset": 0, - "slot": "353", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:70" - }, - { - "label": "_decimalsCache", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:71" - }, - { - "label": "_isBridge", - "offset": 0, - "slot": "355", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:72" - }, - { - "label": "__gap", - "offset": 0, - "slot": "356", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:337" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)10253": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)2324_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)2324_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "0431e3a9f730aa01bced9634653b48ff489b2ccf33eb2282d7c2e488d2d8b324": { - "address": "0xdCF1bdBF5341c15e9C1285202f6F6bEA70Db6172", - "txHash": "0x6307568ec92ab9e7d96e1d3665a3e84a2c45b2907fe8750168d8481e76e87ab0", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)7068_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)7068_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)7068_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "66c38ff471113730f17addac0d6eedde28211199f0a210ab5e42e9b9ed97434c": { - "address": "0x6A541330221BE3df4aD6D696Cd3513c0cBFB4752", - "txHash": "0xd4dcba5952cf955d783f5ad8d3015c54b93b820e0958edf6dbc6caeff27491f6", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)3375", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:333" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:107" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:17" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:18" - }, - { - "label": "__gap", - "offset": 0, - "slot": "456", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:155" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)3375": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "087131caba1a13a535ddf1d37c869d822f4bf79ac129e9168f14a4ba616b5e63": { - "address": "0x5F9eAEB3b7ec396F01617e9BAd787D0A6f93B7a3", - "txHash": "0xa3712d0734197da3afb819f937aec4670ac741855adf669fc8fff2ace8bfd797", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)4524", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "whitelistRequired", - "offset": 0, - "slot": "350", - "type": "t_bool", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:73" - }, - { - "label": "assetIssuerId", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:74" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "352", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" - }, - { - "label": "_depositLimits", - "offset": 0, - "slot": "353", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" - }, - { - "label": "_decimalsCache", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:78" - }, - { - "label": "rateLimitDuration", - "offset": 0, - "slot": "355", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" - }, - { - "label": "currentPeriodAmount", - "offset": 0, - "slot": "356", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" - }, - { - "label": "currentPeriodEnd", - "offset": 0, - "slot": "357", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" - }, - { - "label": "limitAmount", - "offset": 0, - "slot": "358", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" - }, - { - "label": "__gap", - "offset": 0, - "slot": "359", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:440" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)4524": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "bcf1e5d837c7649064e0f2c49d8bf6e8fe10ed8f00ad46da53f0353aecdfdfff": { - "address": "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", - "txHash": "0x044e479fac9042a852714b1f22ef44215740e4ee5274a00193c576c682e71469", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)7068_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)7068_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)7068_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - }, - "allAddresses": [ - "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690", - "0x711F29EB603A46F0Fd11957CF31C3c4a26DAb330", - "0x83ad7e32937Fc78CeD9b69f7A1bFd9F1240d93D9", - "0xB5D5A58B0b9CCBf7Cb2ce960f90fbea83311f3dB", - "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C", - "0x39EeE1C3989f0dD543Dee60f8582F7F81F522C38", - "0xCe0e80fdAaa0Da3140e4C2C1b8a9ccbAa2908A42", - "0xD59fb3a31a8B800A26A73F3BBC4806ECc3CbCA6b", - "0xa6E02fef782620035B2Ec3B74c6ceB43439ed031", - "0xa12ed7ee0241109C43A00bFc0dE565c238062DBc", - "0x5D2be63c94931f82B602Ecd1538064ab4196F8e7", - "0xcCc91BD4FfE8FB74D13Abd4b56d5238902776B30", - "0x2e8ced8F8Ea90827039280F82a5B82A2Db64e846", - "0xA23bf9EeC079c6b199A5634cdf0F81D8f5235b36", - "0x995B797562f59481bA50dce47d386F59c910439C", - "0x9Baa4095f3635D9763Fee4ca98bd3f8072aC5962", - "0xE070FA230679FEeF6bB337F256f16335F81d80B4", - "0x97b0A18B2888e904940fFd19E480a28aeec3F055", - "0x9F2Ce4098aBA913aE571F569CC2AFD5D106A4BB9", - "0xbCe30702443dbF69E52E1a9b8EE7d3D303FAfA14" - ] - }, - "548cca2a26c5cc0709b6faeff4014a53e98cc62eceebb963cbce89348317c4db": { - "address": "0x958a6Af30dfF9Bc0a883171A763067EB16564833", - "txHash": "0x5631063ca674d54575fb9a8243b52f61bb8ae02ed9db247d4a49b2316b3b7dc3", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)7380", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:337" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" - }, - { - "label": "currentPeriodAmount", - "offset": 0, - "slot": "456", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" - }, - { - "label": "currentPeriodEnd", - "offset": 0, - "slot": "457", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" - }, - { - "label": "limitAmount", - "offset": 0, - "slot": "458", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" - }, - { - "label": "__gap", - "offset": 0, - "slot": "459", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:269" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)7380": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "42fdf217cb827408c9047d8ff23fcd4ac98a789aa772aa35c0a9d1803f9f68d4": { - "address": "0x90cB311F9871490C160d50380f68801ed9146310", - "txHash": "0x7e5f86bcce378c9d0ead56877fad9e3ae750d4e18010d695a9ebc3c9badb01af", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)4640", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "whitelistRequired", - "offset": 0, - "slot": "350", - "type": "t_bool", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:73" - }, - { - "label": "assetIssuerId", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:74" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "352", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" - }, - { - "label": "_depositLimits", - "offset": 0, - "slot": "353", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" - }, - { - "label": "_decimalsCache", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:78" - }, - { - "label": "rateLimitDuration", - "offset": 0, - "slot": "355", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" - }, - { - "label": "currentPeriodAmount", - "offset": 0, - "slot": "356", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" - }, - { - "label": "currentPeriodEnd", - "offset": 0, - "slot": "357", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" - }, - { - "label": "limitAmount", - "offset": 0, - "slot": "358", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" - }, - { - "label": "__gap", - "offset": 0, - "slot": "359", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:428" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelMessagePortal)4640": { - "label": "contract FuelMessagePortal", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - }, - "allAddresses": [ - "0x90cB311F9871490C160d50380f68801ed9146310", - "0x0fe27454F985FB772C653234B20EC3D401F3C110", - "0xe79B6BA4F58F0601C400C85834aA51A091562368", - "0xB22fec34F72b57BFb6E370e01cB67DdbfC954aB6", - "0x3F1aCcDa35efCe7ECd9118F5013b4a68D4967F47", - "0x1e9Cb94A2D657D027E7e1D046Ce01571FC4EF08d", - "0xa8208529573e32B0aec07565fa8BC3cD01115449", - "0x1b932A4Da23cbC1adb50A97bBc4DC23Aa2D7fD34" - ] - }, - "ec3521444731eb6ecc85e6fc17840bd2e784936786cc16d4262de15dc67296cc": { - "address": "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", - "txHash": "0x0857b4f68e0e747733e5975ac58be771e59de260ce1ac6fafc2735e43f6a2ccd", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "301", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_incomingMessageSender", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" - }, - { - "label": "_fuelChainState", - "offset": 0, - "slot": "352", - "type": "t_contract(FuelChainState)3890", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" - }, - { - "label": "_outgoingMessageNonce", - "offset": 0, - "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" - }, - { - "label": "_incomingMessageSuccessful", - "offset": 0, - "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" - }, - { - "label": "__gap", - "offset": 0, - "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:337" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" - }, - { - "label": "currentPeriodAmount", - "offset": 0, - "slot": "456", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" - }, - { - "label": "currentPeriodEnd", - "offset": 0, - "slot": "457", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" - }, - { - "label": "limitAmount", - "offset": 0, - "slot": "458", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" - }, - { - "label": "__gap", - "offset": 0, - "slot": "459", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:258" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)3890": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - }, - "allAddresses": [ - "0x93fF4BAbC52270364A7371089dc8085a3c03DaE1", - "0x543F6656AA7D3A9763cbf42eE25D76D7607F5233", - "0x2a4a6e5C0747e2a78582B69f852d229026c1B272", - "0x059976c7C07b7b4F0D3975d22F11ec00Bc6B1868" - ] - }, - "b3f9ffc7765e3c14f733b2b272144e15294520401ee2e008bc6581e5d34c9e41": { - "address": "0x57346ed72A6e0f9D56b52f050c61803fF7d107E4", - "txHash": "0x6c0d36a011c0608b4b671f4f0f41297d160ed511f0018f3f78a822e252efd43f", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)2978_storage)240_storage", - "contract": "FuelChainV2", - "src": "contracts/fuelchain/FuelChainV2.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)2978_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)2978_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "675be6357f9be1535d506492870615e915d34a922f9e1a0d1caac92a29f25da9": { - "address": "0xAf7b5f758BBC93abA2f0e77683B4E72BF93D9D11", - "txHash": "0xa89ec25df39b8f872f839804aecb86e6a6dc1e1fd8b3958a873b8972888054df", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)7068_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)7068_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)7068_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - }, - "allAddresses": [ - "0xAf7b5f758BBC93abA2f0e77683B4E72BF93D9D11", - "0x80b9B62Ece99c83B11A7BD2e8d6d2567a7279CF3", - "0x551ccf63807531c3F123d895fAA281924EA85B3E", - "0xe6b4394f911F4c215E6a4f5db6d8cAE35cC51B13", - "0x3268493650FF84EA9457a06FeFEdCF97965f9Ff0" - ] - }, - "727ec2c706418d18d9d266f895924ccd411493419b6053ede3ef60c89e9a1f1a": { - "address": "0x54d8490f034e3A4D07CD220a7Dc88D9B91B82c25", - "txHash": "0x4bba6111f5c12bc831455311f4c434d02b7c94d3b93787453972ba6b8235e2cd", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)7068_storage)240_storage", - "contract": "FuelChainState", - "src": "contracts/fuelchain/FuelChainState.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)7068_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)7068_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, - "87c892553ebbaf78f47bfdbd4150fb0274acbe4729982a95084635f4fdd058e2": { - "address": "0x86bf5B647b3Bf247ACF9E7740d8dB02B1fA1E8F6", - "txHash": "0xf84dd32a103710e17ec8e213d2589b722dd3983f87b81db2669f8b967cb6b08a", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "51", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "151", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "152", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "251", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "_commitSlots", - "offset": 0, - "slot": "301", - "type": "t_array(t_struct(Commit)2978_storage)240_storage", - "contract": "FuelChainV2", - "src": "contracts/fuelchain/FuelChainV2.sol:67" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_struct(Commit)2978_storage)240_storage": { - "label": "struct Commit[240]", - "numberOfBytes": "15360" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(Commit)2978_storage": { - "label": "struct Commit", - "members": [ - { - "label": "blockHash", - "type": "t_bytes32", - "offset": 0, - "slot": "0" - }, - { - "label": "timestamp", - "type": "t_uint32", - "offset": 0, - "slot": "1" - }, - { - "label": "reserved1", - "type": "t_address", - "offset": 4, - "slot": "1" - }, - { - "label": "reserved2", - "type": "t_uint16", - "offset": 24, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint16": { - "label": "uint16", - "numberOfBytes": "2" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint32": { - "label": "uint32", - "numberOfBytes": "4" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - } - }, + } + ], + "impls": { "76b2f0c5a8e51535b97b3fe9b5e474acb056e0f96cbc130cb05a2cedf0ac2045": { - "address": "0x6F8e6304f892abA27E70474E51be15060E8352E1", - "txHash": "0x5567a3babc4350d38e28826485834887284e33569d61805a2e71d9ecb5865dd7", + "address": "0xAEFa74279bB19D96f92ff4254EeDfA4B3F25d1Dd", + "txHash": "0x138a0da11fcf1717e26e6180b16b91e69493a7adbe17fcec0662651d936c6fd7", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -6755,7 +109,7 @@ "label": "_commitSlots", "offset": 0, "slot": "301", - "type": "t_array(t_struct(Commit)3694_storage)240_storage", + "type": "t_array(t_struct(Commit)7068_storage)240_storage", "contract": "FuelChainState", "src": "contracts/fuelchain/FuelChainState.sol:67" } @@ -6765,7 +119,7 @@ "label": "address", "numberOfBytes": "20" }, - "t_array(t_struct(Commit)3694_storage)240_storage": { + "t_array(t_struct(Commit)7068_storage)240_storage": { "label": "struct Commit[240]", "numberOfBytes": "15360" }, @@ -6793,7 +147,7 @@ "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", "numberOfBytes": "32" }, - "t_struct(Commit)3694_storage": { + "t_struct(Commit)7068_storage": { "label": "struct Commit", "members": [ { @@ -6861,14 +215,13 @@ "namespaces": {} }, "allAddresses": [ - "0x6F8e6304f892abA27E70474E51be15060E8352E1", - "0xcbE4869d80347CF1069EC407b2800290CC6D48B6", - "0x45bEd8Ae1A13f136cd35196f906b7EB335F39BB3" + "0xAEFa74279bB19D96f92ff4254EeDfA4B3F25d1Dd", + "0x1f317F96D700246cF291DfA44a7718267720cDF0" ] }, - "1728bf9fcaaf80ed3a7c21c963a4cf01aba625c1e1a976c11b531c3515d1b949": { - "address": "0xce0f6Aa8c967965878123F47047bCf6c63c5E1BF", - "txHash": "0x50397506211ee970b1862cc4dff7ae61352d8fcff62263738bdebef8d0693cf8", + "4d889abe65ff220ebe9e241fbf36784759794c6eea3e7f46740f2babb705751b": { + "address": "0xF51C5Db7bcDe1A7B4375470b191eF15B6130AAB8", + "txHash": "0x2604ec5ddf26c5d695d530289ccb1a63c950889f79f05ca7514ac1d263da9bde", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -6981,7 +334,7 @@ "label": "_fuelChainState", "offset": 0, "slot": "352", - "type": "t_contract(FuelChainState)4016", + "type": "t_contract(FuelChainState)7390", "contract": "FuelMessagePortal", "src": "contracts/fuelchain/FuelMessagePortal.sol:99" }, @@ -7012,330 +365,74 @@ { "label": "totalDeposited", "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:30" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:32" - }, - { - "label": "currentPeriodAmount", - "offset": 0, - "slot": "456", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:35" - }, - { - "label": "currentPeriodEnd", - "offset": 0, - "slot": "457", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:38" - }, - { - "label": "limitAmount", - "offset": 0, - "slot": "458", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:41" - }, - { - "label": "__gap", - "offset": 0, - "slot": "459", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:258" - } - ], - "types": { - "t_address": { - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "label": "uint256[49]", - "numberOfBytes": "1568" - }, - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FuelChainState)4016": { - "label": "contract FuelChainState", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_bool)": { - "label": "mapping(address => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", - "numberOfBytes": "32" - }, - "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { - "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", - "numberOfBytes": "32" - }, - "t_struct(RoleData)23_storage": { - "label": "struct AccessControlUpgradeable.RoleData", - "members": [ - { - "label": "members", - "type": "t_mapping(t_address,t_bool)", - "offset": 0, - "slot": "0" - }, - { - "label": "adminRole", - "type": "t_bytes32", - "offset": 0, - "slot": "1" - } - ], - "numberOfBytes": "64" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - }, - "namespaces": {} - }, - "allAddresses": [ - "0xce0f6Aa8c967965878123F47047bCf6c63c5E1BF", - "0x04F425CcC331521479BC8cE41Bcd9cf7621F6D8e", - "0xEf7211919eb16BF7c5A7B699ad6B31e50DcF6A56" - ] - }, - "ef9b501dd199bf1c5b9ba00d88d9391ad616f16d1a284f988e71c7b2aa54474a": { - "address": "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", - "txHash": "0xae09226ab15d6ec38da6b70f554066ee0a073227f1cebe01a749831dcb9a922d", - "layout": { - "solcVersion": "0.8.9", - "storage": [ - { - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", - "retypedFrom": "bool" - }, - { - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool", - "contract": "Initializable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" - }, - { - "label": "_fuelMessagePortal", - "offset": 2, - "slot": "0", - "type": "t_contract(FuelMessagePortal)4534", - "contract": "FuelMessagesEnabled", - "src": "contracts/messaging/FuelMessagesEnabled.sol:21" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagesEnabledUpgradeable", - "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" - }, - { - "label": "__gap", - "offset": 0, - "slot": "50", - "type": "t_array(t_uint256)50_storage", - "contract": "ContextUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" - }, - { - "label": "_paused", - "offset": 0, - "slot": "100", - "type": "t_bool", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" - }, - { - "label": "__gap", - "offset": 0, - "slot": "101", - "type": "t_array(t_uint256)49_storage", - "contract": "PausableUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" - }, - { - "label": "__gap", - "offset": 0, - "slot": "150", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC165Upgradeable", - "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" - }, - { - "label": "_roles", - "offset": 0, - "slot": "200", - "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "201", - "type": "t_array(t_uint256)49_storage", - "contract": "AccessControlUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" - }, - { - "label": "__gap", - "offset": 0, - "slot": "250", - "type": "t_array(t_uint256)50_storage", - "contract": "ERC1967UpgradeUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" - }, - { - "label": "__gap", - "offset": 0, - "slot": "300", - "type": "t_array(t_uint256)50_storage", - "contract": "UUPSUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" - }, - { - "label": "whitelistRequired", - "offset": 0, - "slot": "350", - "type": "t_bool", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" - }, - { - "label": "assetIssuerId", - "offset": 0, - "slot": "351", - "type": "t_bytes32", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" - }, - { - "label": "_deposits", - "offset": 0, - "slot": "352", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:79" + "slot": "404", + "type": "t_uint256", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" }, { - "label": "_depositLimits", + "label": "__gap", "offset": 0, - "slot": "353", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:80" + "slot": "405", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagePortalV2", + "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" }, { - "label": "_decimalsCache", + "label": "withdrawalsPaused", "offset": 0, - "slot": "354", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" + "slot": "454", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:31" }, { - "label": "rateLimitDuration", + "label": "messageIsBlacklisted", "offset": 0, - "slot": "355", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" + "slot": "455", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:33" }, { "label": "currentPeriodAmount", "offset": 0, - "slot": "356", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" + "slot": "456", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:36" }, { "label": "currentPeriodEnd", "offset": 0, - "slot": "357", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" + "slot": "457", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:39" }, { "label": "limitAmount", "offset": 0, - "slot": "358", - "type": "t_mapping(t_address,t_uint256)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:93" + "slot": "458", + "type": "t_uint256", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:42" }, { - "label": "rateLimitStatus", + "label": "rateLimitEnabled", "offset": 0, - "slot": "359", - "type": "t_mapping(t_address,t_bool)", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:98" + "slot": "459", + "type": "t_bool", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:45" }, { "label": "__gap", "offset": 0, - "slot": "360", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelERC20GatewayV4", - "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:452" + "slot": "460", + "type": "t_array(t_uint256)48_storage", + "contract": "FuelMessagePortalV3", + "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:266" } ], "types": { @@ -7343,6 +440,10 @@ "label": "address", "numberOfBytes": "20" }, + "t_array(t_uint256)48_storage": { + "label": "uint256[48]", + "numberOfBytes": "1536" + }, "t_array(t_uint256)49_storage": { "label": "uint256[49]", "numberOfBytes": "1568" @@ -7359,16 +460,16 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)4534": { - "label": "contract FuelMessagePortal", + "t_contract(FuelChainState)7390": { + "label": "contract FuelChainState", "numberOfBytes": "20" }, "t_mapping(t_address,t_bool)": { "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", "numberOfBytes": "32" }, "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { @@ -7405,15 +506,13 @@ "namespaces": {} }, "allAddresses": [ - "0x9f1b80D1D5421a4f67B9a56ab15Ce64BBba8b08b", - "0x9D7e0e7978236753970B402Ba8BA79Ef4541128A", - "0x98B0b68dacCb91255BCed7Ab550Bb643495e879B", - "0x2daDc6D0Ad8F2Ae00Ab89D47Ce39aC2682bd9253" + "0xF51C5Db7bcDe1A7B4375470b191eF15B6130AAB8", + "0xbc05BF1F0d82391e38e3AF54B2A578709AeF11c5" ] }, - "4d889abe65ff220ebe9e241fbf36784759794c6eea3e7f46740f2babb705751b": { - "address": "0x812AAabBE0d5fD5a0A5509059C2BE8aB0C41Cd98", - "txHash": "0xf247af8a7ccfb9c8f2653b512a84ee9bb377baadfaef292cd5110a147ddd86e6", + "ef9b501dd199bf1c5b9ba00d88d9391ad616f16d1a284f988e71c7b2aa54474a": { + "address": "0xf96DD2dA09A67c37CE79671923af1999b3553414", + "txHash": "0xc3b9aad46ede95747d4528179377285206c4bafed638a4af15aff6e7884ce9c1", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -7434,10 +533,26 @@ "contract": "Initializable", "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" }, + { + "label": "_fuelMessagePortal", + "offset": 2, + "slot": "0", + "type": "t_contract(FuelMessagePortal)8024", + "contract": "FuelMessagesEnabled", + "src": "contracts/messaging/FuelMessagesEnabled.sol:21" + }, { "label": "__gap", "offset": 0, "slot": "1", + "type": "t_array(t_uint256)49_storage", + "contract": "FuelMessagesEnabledUpgradeable", + "src": "contracts/messaging/FuelMessagesEnabledUpgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "50", "type": "t_array(t_uint256)50_storage", "contract": "ContextUpgradeable", "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" @@ -7445,7 +560,7 @@ { "label": "_paused", "offset": 0, - "slot": "51", + "slot": "100", "type": "t_bool", "contract": "PausableUpgradeable", "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" @@ -7453,7 +568,7 @@ { "label": "__gap", "offset": 0, - "slot": "52", + "slot": "101", "type": "t_array(t_uint256)49_storage", "contract": "PausableUpgradeable", "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" @@ -7461,7 +576,7 @@ { "label": "__gap", "offset": 0, - "slot": "101", + "slot": "150", "type": "t_array(t_uint256)50_storage", "contract": "ERC165Upgradeable", "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" @@ -7469,7 +584,7 @@ { "label": "_roles", "offset": 0, - "slot": "151", + "slot": "200", "type": "t_mapping(t_bytes32,t_struct(RoleData)23_storage)", "contract": "AccessControlUpgradeable", "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:57" @@ -7477,31 +592,15 @@ { "label": "__gap", "offset": 0, - "slot": "152", + "slot": "201", "type": "t_array(t_uint256)49_storage", "contract": "AccessControlUpgradeable", "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" }, - { - "label": "_status", - "offset": 0, - "slot": "201", - "type": "t_uint256", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" - }, - { - "label": "__gap", - "offset": 0, - "slot": "202", - "type": "t_array(t_uint256)49_storage", - "contract": "ReentrancyGuardUpgradeable", - "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88" - }, { "label": "__gap", "offset": 0, - "slot": "251", + "slot": "250", "type": "t_array(t_uint256)50_storage", "contract": "ERC1967UpgradeUpgradeable", "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" @@ -7509,122 +608,98 @@ { "label": "__gap", "offset": 0, - "slot": "301", + "slot": "300", "type": "t_array(t_uint256)50_storage", "contract": "UUPSUpgradeable", "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" }, { - "label": "_incomingMessageSender", + "label": "whitelistRequired", + "offset": 0, + "slot": "350", + "type": "t_bool", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:76" + }, + { + "label": "assetIssuerId", "offset": 0, "slot": "351", "type": "t_bytes32", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:96" + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:77" }, { - "label": "_fuelChainState", + "label": "_deposits", "offset": 0, "slot": "352", - "type": "t_contract(FuelChainState)3900", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:99" + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:79" }, { - "label": "_outgoingMessageNonce", + "label": "_depositLimits", "offset": 0, "slot": "353", - "type": "t_uint256", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:102" + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:80" }, { - "label": "_incomingMessageSuccessful", + "label": "_decimalsCache", "offset": 0, "slot": "354", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:105" + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:81" }, { - "label": "__gap", + "label": "rateLimitDuration", "offset": 0, "slot": "355", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortal", - "src": "contracts/fuelchain/FuelMessagePortal.sol:337" - }, - { - "label": "totalDeposited", - "offset": 0, - "slot": "404", - "type": "t_uint256", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:14" - }, - { - "label": "__gap", - "offset": 0, - "slot": "405", - "type": "t_array(t_uint256)49_storage", - "contract": "FuelMessagePortalV2", - "src": "contracts/fuelchain/FuelMessagePortal/v2/FuelMessagePortalV2.sol:108" - }, - { - "label": "withdrawalsPaused", - "offset": 0, - "slot": "454", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:31" - }, - { - "label": "messageIsBlacklisted", - "offset": 0, - "slot": "455", - "type": "t_mapping(t_bytes32,t_bool)", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:33" + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:84" }, { "label": "currentPeriodAmount", "offset": 0, - "slot": "456", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:36" + "slot": "356", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:87" }, { "label": "currentPeriodEnd", "offset": 0, - "slot": "457", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:39" + "slot": "357", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:90" }, { "label": "limitAmount", "offset": 0, - "slot": "458", - "type": "t_uint256", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:42" + "slot": "358", + "type": "t_mapping(t_address,t_uint256)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:93" }, { - "label": "rateLimitEnabled", + "label": "rateLimitStatus", "offset": 0, - "slot": "459", - "type": "t_bool", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:45" + "slot": "359", + "type": "t_mapping(t_address,t_bool)", + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:98" }, { "label": "__gap", "offset": 0, - "slot": "460", + "slot": "360", "type": "t_array(t_uint256)48_storage", - "contract": "FuelMessagePortalV3", - "src": "contracts/fuelchain/FuelMessagePortal/v3/FuelMessagePortalV3.sol:266" + "contract": "FuelERC20GatewayV4", + "src": "contracts/messaging/gateway/FuelERC20Gateway/FuelERC20GatewayV4.sol:452" } ], "types": { @@ -7652,16 +727,16 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelChainState)3900": { - "label": "contract FuelChainState", + "t_contract(FuelMessagePortal)8024": { + "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, "t_mapping(t_address,t_bool)": { "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_bytes32,t_bool)": { - "label": "mapping(bytes32 => bool)", + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", "numberOfBytes": "32" }, "t_mapping(t_bytes32,t_struct(RoleData)23_storage)": { @@ -7698,8 +773,8 @@ "namespaces": {} }, "allAddresses": [ - "0x812AAabBE0d5fD5a0A5509059C2BE8aB0C41Cd98", - "0x117f1333be787768deb0ADb46d4b54bdBf463995" + "0xf96DD2dA09A67c37CE79671923af1999b3553414", + "0x1D81f89e994fed1b00cE765771535B31B67e3AB9" ] } } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json index 7d91af37..1af23c87 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelChainState.json @@ -1,5 +1,5 @@ { - "address": "0xC909a6b87f9ac1bA5b5f6928BD5E9aBF59031F3A", + "address": "0x3328a69eA205EC830672c74D3e550eb92f229416", "abi": [ { "inputs": [ @@ -577,7 +577,7 @@ "type": "function" } ], - "transactionHash": "0x43edc0839ebe3743837febedda97a3f8d2a13417303618a390c8581731d84a9c", + "transactionHash": "0x29c9742880d13044c6b181d8b2814e9071f15c3fd99f7cae780f00f9646b8e60", "numDeployments": 2, "linkedData": { "constructorArgs": [ @@ -587,5 +587,5 @@ ], "factory": "FuelChainState" }, - "implementation": "0xcbE4869d80347CF1069EC407b2800290CC6D48B6" + "implementation": "0x1f317F96D700246cF291DfA44a7718267720cDF0" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 4f6b98c9..81a99970 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x696E848CD8fd9656ea6361157418c7B536074Be2", + "address": "0x0176B13E0fE397D82E8dec9ce6AabcDE2248AA00", "abi": [ { "inputs": [], @@ -912,11 +912,11 @@ "type": "function" } ], - "transactionHash": "0xe5087a3bd11ed1916abf01a918c0aa876c8f2dcc3103c3c2d0257563b4788efa", + "transactionHash": "0x493387516182e20b5fc50a1f0e32668d179063922e42b5cc25c1cc00922abe00", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x9D7e0e7978236753970B402Ba8BA79Ef4541128A" + "implementation": "0x1D81f89e994fed1b00cE765771535B31B67e3AB9" } \ No newline at end of file diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json index 66b14392..a3da1fd7 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelMessagePortalV3.json @@ -1,5 +1,5 @@ { - "address": "0xb477aC0A0d6c6524D8cAE2Ae9A8Cd7Ce79A0ecBb", + "address": "0x61725EBCc5a6db36184D55DBbc275a08aD63B0Ad", "abi": [ { "inputs": [ @@ -1155,7 +1155,7 @@ "type": "function" } ], - "transactionHash": "0x7ee82b223e98bfb53104695459c1133f0a4d4243baa10688eb02ff3031f375fe", + "transactionHash": "0x9314a0f4d36da6c46f2860c5aaa3430b26b92c61e0f3e14cd5efc9b24c976257", "numDeployments": 2, "linkedData": { "factory": "FuelMessagePortalV3", @@ -1164,5 +1164,5 @@ 604800 ] }, - "implementation": "0x117f1333be787768deb0ADb46d4b54bdBf463995" + "implementation": "0xbc05BF1F0d82391e38e3AF54B2A578709AeF11c5" } \ No newline at end of file From 04199626eccf23650b1c4af931a1c6fa2a08fb99 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 9 Oct 2024 10:10:32 +0530 Subject: [PATCH 80/84] chore: fix typo --- .../solidity-contracts/scripts/hardhat/verifyDeployment.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 14bf3e2a..b72ae8b9 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -21,7 +21,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( const deployments = await hre.deployments.all(); - const verficationPayload = []; + const verificationPayload = []; for (const [contractName, deployment] of Object.entries(deployments)) { console.log(`\nVerifying ${contractName} (${deployment.address}):`); @@ -107,7 +107,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( } // update payload for each upgrade - verficationPayload.push({ + verificationPayload.push({ bytecode: expectedInitCode, address: deployment.implementation, txHash: fetchedDeploymentTx.hash, From c4253a903538b101e21a01f872e178176951e2bc Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 9 Oct 2024 11:11:12 +0530 Subject: [PATCH 81/84] chore: add more logs --- .../solidity-contracts/scripts/hardhat/verifyDeployment.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index b72ae8b9..6ec45aa6 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -106,6 +106,10 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( throw new Error('New implementation deployment verification failed'); } + console.log( + `✅ ${contractName} (${deployment.address}): Confirmed viability to upgrade to ${deployment.implementation}`, + ); + // update payload for each upgrade verificationPayload.push({ bytecode: expectedInitCode, @@ -114,6 +118,6 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( }); } - writeFileSync('verification.json', JSON.stringify(verficationPayload)); + writeFileSync('verification.json', JSON.stringify(verificationPayload)); } ); From 1118300eedde6d13695bad4ea89b462661a3e909 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 9 Oct 2024 11:27:14 +0530 Subject: [PATCH 82/84] chore: formattting --- packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 6ec45aa6..93347a43 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -107,7 +107,7 @@ task('verify-deployment', 'Verifies proxy upgrades').setAction( } console.log( - `✅ ${contractName} (${deployment.address}): Confirmed viability to upgrade to ${deployment.implementation}`, + `✅ ${contractName} (${deployment.address}): Confirmed viability to upgrade to ${deployment.implementation}` ); // update payload for each upgrade From 6b3c2721f35ac58c2e62351a3961cbcebee9a7e8 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 9 Oct 2024 14:25:27 +0530 Subject: [PATCH 83/84] chore: small touchups --- .github/workflows/manual-verify-upgrade.yml | 1 + packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/manual-verify-upgrade.yml b/.github/workflows/manual-verify-upgrade.yml index 1f57fcc6..2179d6cf 100644 --- a/.github/workflows/manual-verify-upgrade.yml +++ b/.github/workflows/manual-verify-upgrade.yml @@ -11,6 +11,7 @@ on: rpc: description: 'Enter network rpc' required: true + default: 'https://eth.llamarpc.com' type: string jobs: diff --git a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts index 93347a43..ded15647 100644 --- a/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts +++ b/packages/solidity-contracts/scripts/hardhat/verifyDeployment.ts @@ -4,8 +4,6 @@ import { config as dotEnvConfig } from 'dotenv'; import { ContractFactory } from 'ethers'; import { writeFileSync } from 'fs'; -dotEnvConfig(); - task('verify-deployment', 'Verifies proxy upgrades').setAction( async (taskArgs: any, hre: HardhatRuntimeEnvironment): Promise => { const network = hre.network.name; From 64b7faf594bb59f601b5d92e247cf9f10c71d229 Mon Sep 17 00:00:00 2001 From: viraj124 Date: Wed, 9 Oct 2024 14:29:46 +0530 Subject: [PATCH 84/84] chore: update artifacts --- packages/solidity-contracts/.openzeppelin/sepolia.json | 10 ++++++++-- .../deployments/upgradeTest/FuelERC20GatewayV4.json | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/solidity-contracts/.openzeppelin/sepolia.json b/packages/solidity-contracts/.openzeppelin/sepolia.json index 4f27d22c..779ce1b1 100644 --- a/packages/solidity-contracts/.openzeppelin/sepolia.json +++ b/packages/solidity-contracts/.openzeppelin/sepolia.json @@ -15,6 +15,11 @@ "address": "0x0176B13E0fE397D82E8dec9ce6AabcDE2248AA00", "txHash": "0xc5562e402762f89353f1bd8fe758fb3766ccfbc0051622a9793021ece842d077", "kind": "uups" + }, + { + "address": "0x840e5a0dF831aCB8e90fD5f92E09b9a7731758d6", + "txHash": "0x5a57f6fe558573dba4c3e79659366326eee92ee56bda9e722011aa29bfe2b16b", + "kind": "uups" } ], "impls": { @@ -537,7 +542,7 @@ "label": "_fuelMessagePortal", "offset": 2, "slot": "0", - "type": "t_contract(FuelMessagePortal)8024", + "type": "t_contract(FuelMessagePortal)5254", "contract": "FuelMessagesEnabled", "src": "contracts/messaging/FuelMessagesEnabled.sol:21" }, @@ -727,7 +732,7 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(FuelMessagePortal)8024": { + "t_contract(FuelMessagePortal)5254": { "label": "contract FuelMessagePortal", "numberOfBytes": "20" }, @@ -774,6 +779,7 @@ }, "allAddresses": [ "0xf96DD2dA09A67c37CE79671923af1999b3553414", + "0x757F667dd94626677a01829b86675FD53988eFA3", "0x1D81f89e994fed1b00cE765771535B31B67e3AB9" ] } diff --git a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json index 81a99970..5e008633 100644 --- a/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json +++ b/packages/solidity-contracts/deployments/upgradeTest/FuelERC20GatewayV4.json @@ -1,5 +1,5 @@ { - "address": "0x0176B13E0fE397D82E8dec9ce6AabcDE2248AA00", + "address": "0x840e5a0dF831aCB8e90fD5f92E09b9a7731758d6", "abi": [ { "inputs": [], @@ -912,11 +912,11 @@ "type": "function" } ], - "transactionHash": "0x493387516182e20b5fc50a1f0e32668d179063922e42b5cc25c1cc00922abe00", + "transactionHash": "0x5b2eb393512ae396615f2d57a74a5291b10e874bca57412a9e6c66145be6c183", "numDeployments": 2, "linkedData": { "factory": "FuelERC20GatewayV4", "constructorArgs": [] }, - "implementation": "0x1D81f89e994fed1b00cE765771535B31B67e3AB9" + "implementation": "0x757F667dd94626677a01829b86675FD53988eFA3" } \ No newline at end of file