diff --git a/contracts/core/TTFutureTokenV2.sol b/contracts/core/TTFutureTokenV2.sol index 19da08a..177fc5b 100644 --- a/contracts/core/TTFutureTokenV2.sol +++ b/contracts/core/TTFutureTokenV2.sol @@ -46,7 +46,11 @@ contract TTFutureTokenV2 is ITTFutureTokenV2, ERC721AQueryableUpgradeable { // solhint-disable-next-line ordering constructor() { - if (block.chainid != 33133) { + if ( + block.chainid != 33133 && + block.chainid != 300 && + block.chainid != 324 + ) { _dummyInitialize(); } } diff --git a/contracts/core/TTTrackerTokenV2.sol b/contracts/core/TTTrackerTokenV2.sol index 881f51f..f805c28 100644 --- a/contracts/core/TTTrackerTokenV2.sol +++ b/contracts/core/TTTrackerTokenV2.sol @@ -21,7 +21,11 @@ contract TTTrackerTokenV2 is ITTTrackerTokenV2, IERC20Metadata, Initializable { TokenTableUnlockerV2 public ttuInstance; constructor() { - if (block.chainid != 33133) { + if ( + block.chainid != 33133 && + block.chainid != 300 && + block.chainid != 324 + ) { _disableInitializers(); } } diff --git a/contracts/core/TokenTableUnlockerV2.sol b/contracts/core/TokenTableUnlockerV2.sol index f8ed6b4..5aa72db 100644 --- a/contracts/core/TokenTableUnlockerV2.sol +++ b/contracts/core/TokenTableUnlockerV2.sol @@ -61,7 +61,11 @@ contract TokenTableUnlockerV2 is // solhint-disable-next-line ordering constructor() { - if (block.chainid != 33133) { + if ( + block.chainid != 33133 && + block.chainid != 300 && + block.chainid != 324 + ) { _disableInitializers(); } } diff --git a/contracts/proxy/TTUDeployerLite.sol b/contracts/proxy/TTUDeployerLite.sol index 524110b..3e2b949 100644 --- a/contracts/proxy/TTUDeployerLite.sol +++ b/contracts/proxy/TTUDeployerLite.sol @@ -52,27 +52,13 @@ contract TTUDeployerLite is ITTUDeployer, Ownable, IVersionable { ITokenTableUnlockerV2 unlocker; ITTTrackerTokenV2 trackerToken; if (!isUpgradeable) { - futureToken = ITTFutureTokenV2( - Clones.clone(beaconManager.futureTokenBeacon().implementation()) - ); - futureToken.initialize(projectToken, isTransferable); - unlocker = ITokenTableUnlockerV2( - Clones.clone(beaconManager.unlockerBeacon().implementation()) - ); - unlocker.initialize( + (unlocker, futureToken, trackerToken) = _deployClonesAndInitialize( projectToken, - address(futureToken), - address(this), + isTransferable, isCancelable, isHookable, isWithdrawable ); - trackerToken = ITTTrackerTokenV2( - Clones.clone( - beaconManager.trackerTokenBeacon().implementation() - ) - ); - trackerToken.initialize(address(unlocker)); } else { futureToken = ITTFutureTokenV2( address( @@ -126,7 +112,43 @@ contract TTUDeployerLite is ITTUDeployer, Ownable, IVersionable { return (unlocker, futureToken, trackerToken); } - function version() external pure returns (string memory) { - return "2.5.0"; + function version() external pure virtual returns (string memory) { + return "2.5.7"; + } + + function _deployClonesAndInitialize( + address projectToken, + bool isTransferable, + bool isCancelable, + bool isHookable, + bool isWithdrawable + ) + internal + virtual + returns ( + ITokenTableUnlockerV2 unlocker, + ITTFutureTokenV2 futureToken, + ITTTrackerTokenV2 trackerToken + ) + { + futureToken = ITTFutureTokenV2( + Clones.clone(beaconManager.futureTokenBeacon().implementation()) + ); + futureToken.initialize(projectToken, isTransferable); + unlocker = ITokenTableUnlockerV2( + Clones.clone(beaconManager.unlockerBeacon().implementation()) + ); + unlocker.initialize( + projectToken, + address(futureToken), + address(this), + isCancelable, + isHookable, + isWithdrawable + ); + trackerToken = ITTTrackerTokenV2( + Clones.clone(beaconManager.trackerTokenBeacon().implementation()) + ); + trackerToken.initialize(address(unlocker)); } } diff --git a/contracts/proxy/TTUDeployerLiteZkSync.sol b/contracts/proxy/TTUDeployerLiteZkSync.sol new file mode 100644 index 0000000..509035a --- /dev/null +++ b/contracts/proxy/TTUDeployerLiteZkSync.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: AGPL v3 +pragma solidity ^0.8.20; + +import {TTUDeployerLite} from "./TTUDeployerLite.sol"; +import {ITokenTableUnlockerV2} from "../interfaces/ITokenTableUnlockerV2.sol"; +import {ITTFutureTokenV2} from "../interfaces/ITTFutureTokenV2.sol"; +import {ITTTrackerTokenV2} from "../interfaces/ITTTrackerTokenV2.sol"; +import {TokenTableUnlockerV2} from "../core/TokenTableUnlockerV2.sol"; +import {TTFutureTokenV2} from "../core/TTFutureTokenV2.sol"; +import {TTTrackerTokenV2} from "../core/TTTrackerTokenV2.sol"; + +contract TTUDeployerLiteZkSync is TTUDeployerLite { + function version() external pure virtual override returns (string memory) { + return "2.5.7-zkSync"; + } + + function _deployClonesAndInitialize( + address projectToken, + bool isTransferable, + bool isCancelable, + bool isHookable, + bool isWithdrawable + ) + internal + virtual + override + returns ( + ITokenTableUnlockerV2 unlocker, + ITTFutureTokenV2 futureToken, + ITTTrackerTokenV2 trackerToken + ) + { + futureToken = new TTFutureTokenV2(); + futureToken.initialize(projectToken, isTransferable); + unlocker = new TokenTableUnlockerV2(); + unlocker.initialize( + projectToken, + address(futureToken), + address(this), + isCancelable, + isHookable, + isWithdrawable + ); + trackerToken = new TTTrackerTokenV2(); + trackerToken.initialize(address(unlocker)); + } +} diff --git a/deploy/10-deploy-ttudeployer-lite.ts b/deploy/10-deploy-ttudeployer-lite.ts index d9e8e18..058b1e6 100644 --- a/deploy/10-deploy-ttudeployer-lite.ts +++ b/deploy/10-deploy-ttudeployer-lite.ts @@ -38,12 +38,28 @@ const deployLite: DeployFunction = async (hre: HardhatRuntimeEnvironment) => { args: [], waitConfirmations: 1 }) - const deployerLiteDeploymentResult = await deploy('TTUDeployerLite', { - from: deployer, - log: true, - args: [], - waitConfirmations: 1 - }) + + let deployerLiteDeploymentResult + if ( + hre.network.config.chainId === 300 || + hre.network.config.chainId === 324 + ) { + log.info('Deploying zkSync...') + deployerLiteDeploymentResult = await deploy('TTUDeployerLiteZkSync', { + from: deployer, + log: true, + args: [], + waitConfirmations: 1 + }) + } else { + deployerLiteDeploymentResult = await deploy('TTUDeployerLite', { + from: deployer, + log: true, + args: [], + waitConfirmations: 1 + }) + } + const beaconManagerDeploymentResult = await deploy('TTUV2BeaconManager', { from: deployer, log: true, diff --git a/deploy/98-deploy-clones-lib.ts b/deploy/98-deploy-clones-lib.ts deleted file mode 100644 index 1e4fadc..0000000 --- a/deploy/98-deploy-clones-lib.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {DeployFunction} from 'hardhat-deploy/dist/types' -import {HardhatRuntimeEnvironment} from 'hardhat/types' - -const deployClone: DeployFunction = async (hre: HardhatRuntimeEnvironment) => { - // eslint-disable-next-line @typescript-eslint/unbound-method - const {deploy} = hre.deployments - const {deployer} = await hre.getNamedAccounts() - - await deploy('@openzeppelin/contracts/proxy/Clones.sol:Clones', { - from: deployer, - log: true, - args: [], - waitConfirmations: 1 - }) -} - -export default deployClone -deployClone.tags = ['Clones'] diff --git a/hardhat.config.ts b/hardhat.config.ts index 3c6c55a..cf71abd 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -54,7 +54,7 @@ export default { zksync: false }, zkSyncTestnet: { - chainId: 280, + chainId: 300, url: 'https://sepolia.era.zksync.dev/', ethNetwork: 'https://rpc.ankr.com/eth_sepolia', accounts: [process.env.PRIVATE_KEY], @@ -171,29 +171,24 @@ export default { optimizer: { enabled: true, runs: 200 + }, + metadata: { + bytecodeHash: 'none' } - }, - eraVersion: '1.0.0' + } } ] }, zksolc: { - version: '1.3.23', + version: '1.4.0', settings: { optimizer: { enabled: true, - runs: 200 + runs: 10 }, - isSystem: true - // libraries: { - // 'contracts/libraries/Clones.sol': { - // /* - // * zkSync Era Mainnet: 0x52cb8d348604aBB1720a713eADf3e4Afef650f93 - // * zkSync Era Testnet: 0x222C78A7CaDC3D63c72cE39F9A382B6aF075fC74 - // */ - // Clones: '0x52cb8d348604aBB1720a713eADf3e4Afef650f93' - // } - // } + metadata: { + bytecodeHash: 'none' + } } }, namedAccounts: { @@ -201,6 +196,9 @@ export default { default: 0 } }, + sourcify: { + enabled: false + }, etherscan: { apiKey: { polygonMumbai: process.env.POLYGONSCAN_KEY, diff --git a/package.json b/package.json index 95e8534..880f8bd 100644 --- a/package.json +++ b/package.json @@ -38,9 +38,9 @@ "sizes": "hardhat size-contracts" }, "devDependencies": { - "@matterlabs/hardhat-zksync-deploy": "1.1.2", - "@matterlabs/hardhat-zksync-solc": "1.1.2", - "@matterlabs/hardhat-zksync-verify": "1.3.0", + "@matterlabs/hardhat-zksync-deploy": "1.2.0", + "@matterlabs/hardhat-zksync-solc": "1.1.4", + "@matterlabs/hardhat-zksync-verify": "1.4.0", "@nomicfoundation/hardhat-toolbox": "4.0.0", "@openzeppelin/hardhat-upgrades": "3.0.3", "@types/bunyan": "^1.8.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 04db4fc..ac30ad6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,17 +17,17 @@ dependencies: devDependencies: '@matterlabs/hardhat-zksync-deploy': - specifier: 1.1.2 - version: 1.1.2(ethers@6.11.1)(hardhat@2.20.0)(zksync-ethers@6.3.0) + specifier: 1.2.0 + version: 1.2.0(ethers@6.11.1)(hardhat@2.20.0)(zksync-ethers@6.3.0) '@matterlabs/hardhat-zksync-solc': - specifier: 1.1.2 - version: 1.1.2(hardhat@2.20.0) + specifier: 1.1.4 + version: 1.1.4(hardhat@2.20.0) '@matterlabs/hardhat-zksync-verify': - specifier: 1.3.0 - version: 1.3.0(@nomicfoundation/hardhat-verify@2.0.4)(ethers@6.11.1)(ts-node@10.9.2)(typescript@5.2.2) + specifier: 1.4.0 + version: 1.4.0(@nomicfoundation/hardhat-verify@2.0.4)(ethers@6.11.1)(ts-node@10.9.2)(typescript@5.2.2) '@nomicfoundation/hardhat-toolbox': specifier: 4.0.0 - version: 4.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.6)(@nomicfoundation/hardhat-ethers@3.0.5)(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.4)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.11)(@types/mocha@10.0.6)(@types/node@20.8.7)(chai@4.4.1)(ethers@6.11.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.20.0)(solidity-coverage@0.8.7)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.2.2) + version: 4.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.6)(@nomicfoundation/hardhat-ethers@3.0.5)(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.4)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.11)(@types/mocha@10.0.6)(@types/node@20.8.7)(chai@4.4.1)(ethers@6.11.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.20.0)(solidity-coverage@0.8.8)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.2.2) '@openzeppelin/hardhat-upgrades': specifier: 3.0.3 version: 3.0.3(@nomicfoundation/hardhat-ethers@3.0.5)(@nomicfoundation/hardhat-verify@2.0.4)(ethers@6.11.1)(hardhat@2.20.0) @@ -574,6 +574,18 @@ packages: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -590,17 +602,21 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@matterlabs/hardhat-zksync-deploy@1.1.2(ethers@6.11.1)(hardhat@2.20.0)(zksync-ethers@6.3.0): - resolution: {integrity: sha512-Q9eBvMUAoodRFPmfzoHTkNKKYNs6oib2utZsxTPf6cq+mhdu7sqfY5Bu0XQzZQW35xzi5D23p9v1ubhOrGXK9Q==} + /@matterlabs/hardhat-zksync-deploy@1.2.0(ethers@6.11.1)(hardhat@2.20.0)(zksync-ethers@6.3.0): + resolution: {integrity: sha512-gFKW26nXtO38/axxY9tNXya7nj8a3UCS+iB3pK/b2/GHtlO1ykBg2zubnjqJqfXlcyIzz/rqOlka0VAceQoh6w==} peerDependencies: ethers: ^6.7.1 - hardhat: ^2.19.2 + hardhat: ^2.19.4 zksync-ethers: ^6.0.0 dependencies: - '@matterlabs/hardhat-zksync-solc': 1.1.2(hardhat@2.20.0) + '@matterlabs/hardhat-zksync-solc': 1.1.4(hardhat@2.20.0) + chai: 4.4.1 chalk: 4.1.2 ethers: 6.11.1 + fs-extra: 11.2.0 + glob: 10.3.10 hardhat: 2.20.0(ts-node@10.9.2)(typescript@5.2.2) + lodash: 4.17.21 ts-morph: 21.0.1 zksync-ethers: 6.3.0(ethers@6.11.1) transitivePeerDependencies: @@ -608,8 +624,8 @@ packages: - supports-color dev: true - /@matterlabs/hardhat-zksync-solc@1.1.2(hardhat@2.20.0): - resolution: {integrity: sha512-4qyt9T3OevP+IGJqGd6cS/BKwJnne6XfYCq4gES2nnXoyIWOihmuaL9+KDsbvwVI4mBfB4bz84+SP68W5Bxuig==} + /@matterlabs/hardhat-zksync-solc@1.1.4(hardhat@2.20.0): + resolution: {integrity: sha512-4/usbogh9neewR2/v8Dn2OzqVblZMUuT/iH2MyPZgPRZYQlL4SlZtMvokU9UQjZT6iSoaKCbbdWESHDHSzfUjA==} peerDependencies: hardhat: ^2.19.4 dependencies: @@ -622,22 +638,22 @@ packages: hardhat: 2.20.0(ts-node@10.9.2)(typescript@5.2.2) proper-lockfile: 4.1.2 semver: 7.6.0 - sinon: 16.1.3 - sinon-chai: 3.7.0(chai@4.4.1)(sinon@16.1.3) + sinon: 17.0.1 + sinon-chai: 3.7.0(chai@4.4.1)(sinon@17.0.1) undici: 5.28.3 transitivePeerDependencies: - encoding - supports-color dev: true - /@matterlabs/hardhat-zksync-verify@1.3.0(@nomicfoundation/hardhat-verify@2.0.4)(ethers@6.11.1)(ts-node@10.9.2)(typescript@5.2.2): - resolution: {integrity: sha512-v9oVonnhUnlqswLNjsowyFE/rLEXCfQr8iDuwT4Ln/M720LNF4ouVzq2fUvufBT99XVDSLrYwWFOUQRI7pp3hg==} + /@matterlabs/hardhat-zksync-verify@1.4.0(@nomicfoundation/hardhat-verify@2.0.4)(ethers@6.11.1)(ts-node@10.9.2)(typescript@5.2.2): + resolution: {integrity: sha512-92mYB6AyZH0cT/rgegsvWx3N7wvbggcnEQBU7vdfSfEZ7ViTNr5SPtTJeWOVmnS4gvjZ42U42QMw5yX2P8ukbg==} peerDependencies: '@nomicfoundation/hardhat-verify': ^2.0.0 dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 - '@matterlabs/hardhat-zksync-solc': 1.1.2(hardhat@2.20.0) + '@matterlabs/hardhat-zksync-solc': 1.1.4(hardhat@2.20.0) '@nomicfoundation/hardhat-verify': 2.0.4(hardhat@2.20.0) '@openzeppelin/contracts': 4.9.5 axios: 1.6.7(debug@4.3.4) @@ -646,8 +662,8 @@ packages: chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) hardhat: 2.20.0(ts-node@10.9.2)(typescript@5.2.2) - sinon: 16.1.3 - sinon-chai: 3.7.0(chai@4.4.1)(sinon@16.1.3) + sinon: 17.0.1 + sinon-chai: 3.7.0(chai@4.4.1)(sinon@17.0.1) zksync-ethers: 6.3.0(ethers@6.11.1) transitivePeerDependencies: - bufferutil @@ -938,7 +954,7 @@ packages: hardhat: 2.20.0(ts-node@10.9.2)(typescript@5.2.2) dev: true - /@nomicfoundation/hardhat-toolbox@4.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.6)(@nomicfoundation/hardhat-ethers@3.0.5)(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.4)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.11)(@types/mocha@10.0.6)(@types/node@20.8.7)(chai@4.4.1)(ethers@6.11.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.20.0)(solidity-coverage@0.8.7)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.2.2): + /@nomicfoundation/hardhat-toolbox@4.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.6)(@nomicfoundation/hardhat-ethers@3.0.5)(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.4)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.11)(@types/mocha@10.0.6)(@types/node@20.8.7)(chai@4.4.1)(ethers@6.11.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.20.0)(solidity-coverage@0.8.8)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.2.2): resolution: {integrity: sha512-jhcWHp0aHaL0aDYj8IJl80v4SZXWMS1A2XxXa1CA6pBiFfJKuZinCkO6wb+POAt0LIfXB3gA3AgdcOccrcwBwA==} peerDependencies: '@nomicfoundation/hardhat-chai-matchers': ^2.0.0 @@ -972,7 +988,7 @@ packages: ethers: 6.11.1 hardhat: 2.20.0(ts-node@10.9.2)(typescript@5.2.2) hardhat-gas-reporter: 1.0.10(hardhat@2.20.0) - solidity-coverage: 0.8.7(hardhat@2.20.0) + solidity-coverage: 0.8.8(hardhat@2.20.0) ts-node: 10.9.2(@types/node@20.8.7)(typescript@5.2.2) typechain: 8.3.2(typescript@5.2.2) typescript: 5.2.2 @@ -1197,7 +1213,7 @@ packages: '@openzeppelin/defender-base-client': 1.54.1(debug@4.3.4) '@openzeppelin/defender-sdk-base-client': 1.10.0 '@openzeppelin/defender-sdk-deploy-client': 1.10.0(debug@4.3.4) - '@openzeppelin/upgrades-core': 1.32.4 + '@openzeppelin/upgrades-core': 1.32.5 chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 @@ -1212,8 +1228,8 @@ packages: - utf-8-validate dev: true - /@openzeppelin/upgrades-core@1.32.4: - resolution: {integrity: sha512-Ojd7clhknPaQP5uIREPZxaKSTccKGrUDhuNAMQdLSf6LPQmyeL+JFGoLrckZ/Mg5x5NO4WivJ1ApXU3ckf6kxw==} + /@openzeppelin/upgrades-core@1.32.5: + resolution: {integrity: sha512-R0wprsyJ4xWiRW05kaTfZZkRVpG2g0af3/hpjE7t2mX0Eb2n40MQLokTwqIk4LDzpp910JfLSpB0vBuZ6WNPog==} hasBin: true dependencies: cbor: 9.0.2 @@ -1228,6 +1244,13 @@ packages: - supports-color dev: true + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + /@pkgr/core@0.1.1: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -1375,12 +1398,6 @@ packages: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - dependencies: - '@sinonjs/commons': 3.0.1 - dev: true - /@sinonjs/fake-timers@11.2.2: resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} dependencies: @@ -1991,7 +2008,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 dev: true /asap@2.0.6: @@ -2912,7 +2929,7 @@ packages: is-callable: 1.2.7 is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 @@ -2926,7 +2943,7 @@ packages: string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.0 + typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 typed-array-length: 1.0.5 unbox-primitive: 1.0.2 @@ -3411,7 +3428,7 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.3.0 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 dev: true @@ -3421,8 +3438,8 @@ packages: hasBin: true dev: true - /flatted@3.3.0: - resolution: {integrity: sha512-noqGuLw158+DuD9UPRKHpJ2hGxpFyDlYYrfM0mWt4XhT4n0lwzTLh70Tkdyy4kyTmyTT9Bv7bWAJqw7cgkEXDg==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true /fmix@0.1.0: @@ -3449,6 +3466,14 @@ packages: is-callable: 1.2.7 dev: true + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -3636,6 +3661,18 @@ packages: is-glob: 4.0.3 dev: true + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + /glob@5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} dependencies: @@ -4284,8 +4321,9 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 dev: true @@ -4352,6 +4390,15 @@ packages: - encoding dev: true + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + /js-cookie@2.2.1: resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} dev: true @@ -4732,6 +4779,11 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + /mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true @@ -5106,6 +5158,14 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: true + /path-to-regexp@6.2.1: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true @@ -5693,21 +5753,21 @@ packages: resolution: {integrity: sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==} dev: true - /sinon-chai@3.7.0(chai@4.4.1)(sinon@16.1.3): + /sinon-chai@3.7.0(chai@4.4.1)(sinon@17.0.1): resolution: {integrity: sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==} peerDependencies: chai: ^4.0.0 sinon: '>=4.0.0' dependencies: chai: 4.4.1 - sinon: 16.1.3 + sinon: 17.0.1 dev: true - /sinon@16.1.3: - resolution: {integrity: sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==} + /sinon@17.0.1: + resolution: {integrity: sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==} dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/fake-timers': 11.2.2 '@sinonjs/samsam': 8.0.0 diff: 5.2.0 nise: 5.1.9 @@ -5792,8 +5852,8 @@ packages: resolution: {integrity: sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g==} dev: true - /solidity-coverage@0.8.7(hardhat@2.20.0): - resolution: {integrity: sha512-RzcPuNsIqVGq5F8rjQZPdI2EVdsRU7w2f1Uk1UY567n9eNcg5LSEQ3Q1WFoy9bi/2AD5SYbYK9SS/Nwh2oYbNw==} + /solidity-coverage@0.8.8(hardhat@2.20.0): + resolution: {integrity: sha512-7RN6/8YAFMQNeMdSulARtE0VC5JitBAUMwvkr10FkOK+nux5q+WykrgSZntkWrX/VHzRa096P4OOViO0T9Q9Cw==} hasBin: true peerDependencies: hardhat: ^2.11.0 @@ -6335,12 +6395,13 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 + gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 dev: true diff --git a/scripts/playground.ts b/scripts/playground.ts index 2f70861..a932cc3 100644 --- a/scripts/playground.ts +++ b/scripts/playground.ts @@ -1,27 +1,23 @@ import {ethers} from 'hardhat' import {log} from '../config/logging' -import {address} from '../deployments/zkSyncEra/TTUV2BeaconManager.json' -import {TTUV2BeaconManager, UpgradeableBeacon} from '../typechain-types/index' +import {TTUDeployerLiteZkSync} from '../typechain-types/index' async function main() { - const Factory = await ethers.getContractFactory('TTUV2BeaconManager') - const instance = Factory.attach(address) as TTUV2BeaconManager + const Factory = await ethers.getContractFactory('TTUDeployerLiteZkSync') + const instance = Factory.attach( + '0x4f8FBEAF5232Aa2015AEE627B5FaE64b69Ac43b0' + ) as TTUDeployerLiteZkSync - const BeaconProxyFactory = - await ethers.getContractFactory('UpgradeableBeacon') - const unlockerBeacon = BeaconProxyFactory.attach( - await instance.unlockerBeacon() - ) as UpgradeableBeacon - const ftBeacon = BeaconProxyFactory.attach( - await instance.futureTokenBeacon() - ) as UpgradeableBeacon - const ttBeacon = BeaconProxyFactory.attach( - await instance.trackerTokenBeacon() - ) as UpgradeableBeacon - log.info( - await unlockerBeacon.implementation(), - await ftBeacon.implementation(), - await ttBeacon.implementation() + const mockERC20TokenAddressZkSyncTestnet = + '0x0ad1Bd24CD3374b7Bb74CE494B093e5DE6F30A91' + await instance.deployTTSuite( + mockERC20TokenAddressZkSyncTestnet, + 'test project id 0', + false, + true, + true, + true, + true ) } diff --git a/subgraph/config/sepolia.json b/subgraph/config/sepolia.json index 0dfec12..38d893b 100644 --- a/subgraph/config/sepolia.json +++ b/subgraph/config/sepolia.json @@ -1,5 +1,5 @@ { "network": "sepolia", - "address": "0x770f784dCaf09C1736a4c534bd714E677FCd795A", - "startBlock": 4505715 + "address": "0xcd83200F3aEdb5aa30817E2D983B426640fFe5E0", + "startBlock": 5372850 } diff --git a/subgraph/config/zkSyncTestnet.json b/subgraph/config/zkSyncTestnet.json index bf665bb..b65d773 100644 --- a/subgraph/config/zkSyncTestnet.json +++ b/subgraph/config/zkSyncTestnet.json @@ -1,5 +1,5 @@ { - "network": "zkSync2-testnet", - "address": "0x2E94703808839D896404d305a75A4C4F4Cf42568", - "startBlock": 12731998 + "network": "zksync-era-sepolia", + "address": "0x4f8FBEAF5232Aa2015AEE627B5FaE64b69Ac43b0", + "startBlock": 929179 } diff --git a/subgraph/package.json b/subgraph/package.json index 1ec4164..081001d 100644 --- a/subgraph/package.json +++ b/subgraph/package.json @@ -21,8 +21,8 @@ "test": "graph test" }, "dependencies": { - "@graphprotocol/graph-cli": "^0.62.0", - "@graphprotocol/graph-ts": "^0.31.0", + "@graphprotocol/graph-cli": "^0.68.2", + "@graphprotocol/graph-ts": "^0.33.0", "mustache": "^4.2.0" }, "devDependencies": { diff --git a/subgraph/pnpm-lock.yaml b/subgraph/pnpm-lock.yaml index a9d0539..7e4a545 100644 --- a/subgraph/pnpm-lock.yaml +++ b/subgraph/pnpm-lock.yaml @@ -6,11 +6,11 @@ settings: dependencies: '@graphprotocol/graph-cli': - specifier: ^0.62.0 - version: 0.62.0(@types/node@20.10.6)(node-fetch@3.3.2)(typescript@5.3.3) + specifier: ^0.68.2 + version: 0.68.2(@types/node@20.10.6)(node-fetch@3.3.2)(typescript@5.3.3) '@graphprotocol/graph-ts': - specifier: 0.31.0 - version: 0.31.0 + specifier: ^0.33.0 + version: 0.33.0 mustache: specifier: ^4.2.0 version: 4.2.0 @@ -220,8 +220,8 @@ packages: js-yaml: 4.1.0 dev: false - /@graphprotocol/graph-cli@0.62.0(@types/node@20.10.6)(node-fetch@3.3.2)(typescript@5.3.3): - resolution: {integrity: sha512-dyjhkCSXbdcul5h1wY2CmorjM4k+tjjzEFs5GFBSSdLC2VodKXEWJo9RzrpFSmRBJzwc7ywDf8Pbmy1cJTCXRA==} + /@graphprotocol/graph-cli@0.68.2(@types/node@20.10.6)(node-fetch@3.3.2)(typescript@5.3.3): + resolution: {integrity: sha512-pOXrEW2bFIQAwqr8vZ04PTyqTICobtEd8R+EHub9ZUOhT3nuRuJ8mdh0Wt0M8Zo4I69MfBNU8sEmXxY9ychaig==} engines: {node: '>=18'} hasBin: true dependencies: @@ -239,14 +239,13 @@ packages: dockerode: 2.5.8 fs-extra: 9.1.0 glob: 9.3.5 - gluegun: 5.1.2(debug@4.3.4) + gluegun: 5.1.6(debug@4.3.4) graphql: 15.5.0 immutable: 4.2.1 ipfs-http-client: 55.0.0(node-fetch@3.3.2) jayson: 4.0.0 js-yaml: 3.14.1 - prettier: 1.19.1 - request: 2.88.2 + prettier: 3.0.3 semver: 7.4.0 sync-request: 6.1.0 tmp-promise: 3.0.3 @@ -265,8 +264,8 @@ packages: - utf-8-validate dev: false - /@graphprotocol/graph-ts@0.31.0: - resolution: {integrity: sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==} + /@graphprotocol/graph-ts@0.33.0: + resolution: {integrity: sha512-HBUVblHUdjQZ/MEjjYPzVgmh+SiuF9VV0D8KubYfFAtzkqpVJlvdyk+RZTAJUiu8hpyYy0EVIcAnLEPtKlwMGQ==} dependencies: assemblyscript: 0.19.10 dev: false @@ -540,19 +539,19 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 8.10.66 + '@types/node': 20.10.6 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.10.6 dev: false /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 8.10.66 + '@types/node': 20.10.6 dev: false /@types/long@4.0.2: @@ -604,7 +603,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.10.6 dev: false /@whatwg-node/events@0.0.3: @@ -665,15 +664,6 @@ packages: hasBin: true dev: false - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: false - /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -768,12 +758,6 @@ packages: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - dependencies: - safer-buffer: 2.1.2 - dev: false - /asn1js@3.0.5: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} @@ -800,11 +784,6 @@ packages: source-map-support: 0.5.21 dev: false - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: false - /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -823,14 +802,6 @@ packages: engines: {node: '>= 4.0.0'} dev: false - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: false - - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - dev: false - /axios@0.21.4(debug@4.3.4): resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: @@ -853,12 +824,6 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - dependencies: - tweetnacl: 0.14.5 - dev: false - /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -1182,10 +1147,6 @@ packages: typedarray: 0.0.6 dev: false - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: false - /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false @@ -1235,13 +1196,6 @@ packages: which: 2.0.2 dev: false - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - dev: false - /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -1349,15 +1303,8 @@ packages: - supports-color dev: false - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - dev: false - - /ejs@3.1.6: - resolution: {integrity: sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==} + /ejs@3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} engines: {node: '>=0.10.0'} hasBin: true dependencies: @@ -1522,15 +1469,6 @@ packages: strip-final-newline: 2.0.0 dev: false - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: false - /eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} @@ -1540,10 +1478,6 @@ packages: resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} dev: false - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: false - /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false @@ -1559,10 +1493,6 @@ packages: micromatch: 4.0.5 dev: false - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: false - /fast-levenshtein@3.0.0: resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: @@ -1625,19 +1555,6 @@ packages: debug: 4.3.4(supports-color@8.1.1) dev: false - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: false - - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - /form-data@2.5.1: resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} engines: {node: '>= 0.12'} @@ -1726,12 +1643,6 @@ packages: engines: {node: '>=10'} dev: false - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - dependencies: - assert-plus: 1.0.0 - dev: false - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1772,8 +1683,8 @@ packages: slash: 3.0.0 dev: false - /gluegun@5.1.2(debug@4.3.4): - resolution: {integrity: sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==} + /gluegun@5.1.6(debug@4.3.4): + resolution: {integrity: sha512-9zbi4EQWIVvSOftJWquWzr9gLX2kaDgPkNR5dYWbM53eVvCI3iKuxLlnKoHC0v4uPoq+Kr/+F569tjoFbA4DSA==} hasBin: true dependencies: apisauce: 2.1.6(debug@4.3.4) @@ -1782,7 +1693,7 @@ packages: colors: 1.4.0 cosmiconfig: 7.0.1 cross-spawn: 7.0.3 - ejs: 3.1.6 + ejs: 3.1.8 enquirer: 2.3.6 execa: 5.1.1 fs-jetpack: 4.3.1 @@ -1838,20 +1749,6 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false - /har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - dev: false - - /har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - dev: false - /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -1925,15 +1822,6 @@ packages: '@types/node': 10.17.60 dev: false - /http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 - dev: false - /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -2179,10 +2067,6 @@ packages: engines: {node: '>=8'} dev: false - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: false - /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -2215,10 +2099,6 @@ packages: ws: 7.5.9 dev: false - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: false - /it-all@1.0.6: resolution: {integrity: sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==} dev: false @@ -2313,22 +2193,10 @@ packages: argparse: 2.0.1 dev: false - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: false - /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: false - - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: false - /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: false @@ -2346,16 +2214,6 @@ packages: engines: {'0': node >= 0.2.0} dev: false - /jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: false - /keccak@3.0.4: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} engines: {node: '>=10.0.0'} @@ -2722,10 +2580,6 @@ packages: strip-hex-prefix: 1.0.0 dev: false - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2844,10 +2698,6 @@ packages: sha.js: 2.4.11 dev: false - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: false - /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -2858,9 +2708,9 @@ packages: engines: {node: '>=4'} dev: false - /prettier@1.19.1: - resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} - engines: {node: '>=4'} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} hasBin: true dev: false @@ -2894,10 +2744,6 @@ packages: long: 4.0.0 dev: false - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false - /pump@1.0.3: resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} dependencies: @@ -2909,11 +2755,6 @@ packages: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: false - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - dev: false - /pvtsutils@1.3.5: resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} dependencies: @@ -2932,11 +2773,6 @@ packages: side-channel: 1.0.4 dev: false - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: false - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false @@ -3002,33 +2838,6 @@ packages: esprima: 4.0.1 dev: false - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - dependencies: - aws-sign2: 0.7.0 - aws4: 1.12.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3207,22 +3016,6 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false - /sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - dev: false - /stream-to-it@0.2.4: resolution: {integrity: sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==} dependencies: @@ -3416,14 +3209,6 @@ packages: is-number: 7.0.0 dev: false - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - dev: false - /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false @@ -3463,16 +3248,6 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: false - /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -3503,12 +3278,6 @@ packages: engines: {node: '>= 10.0.0'} dev: false - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - dev: false - /urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false @@ -3521,12 +3290,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - dev: false - /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -3540,15 +3303,6 @@ packages: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} dev: false - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: false - /wabt@1.0.24: resolution: {integrity: sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==} hasBin: true