diff --git a/README.md b/README.md index b2d3078..1179bc7 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ ### On Sepolia -XAPI: `0x6D83b038d5bF428a8C3fF34bf1b380b3A2acA6fe` +XAPI: `0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d` -XAPI Consumer Example: `0xe1b9Afa1E60148C8b0E455a10D8DAD8b325Ac2c8` +XAPI Consumer Example: `0x0a78B2b03B433FFB96C623699DC6fC81592cb4e9` ### On Near testnet diff --git a/xapi-consumer/ignition/deployments/chain-11155111/deployed_addresses.json b/xapi-consumer/ignition/deployments/chain-11155111/deployed_addresses.json index efabeea..2454648 100644 --- a/xapi-consumer/ignition/deployments/chain-11155111/deployed_addresses.json +++ b/xapi-consumer/ignition/deployments/chain-11155111/deployed_addresses.json @@ -1,3 +1,3 @@ { - "ConsumerExampleModule#ConsumerExample": "0xe1b9Afa1E60148C8b0E455a10D8DAD8b325Ac2c8" + "ConsumerExampleModule#ConsumerExample": "0x0a78B2b03B433FFB96C623699DC6fC81592cb4e9" } diff --git a/xapi-consumer/ignition/modules/ConsumerExample.deploy.js b/xapi-consumer/ignition/modules/ConsumerExample.deploy.js index 0852423..5fe7b37 100644 --- a/xapi-consumer/ignition/modules/ConsumerExample.deploy.js +++ b/xapi-consumer/ignition/modules/ConsumerExample.deploy.js @@ -3,7 +3,7 @@ const { buildModule } = require("@nomicfoundation/hardhat-ignition/modules"); module.exports = buildModule("ConsumerExampleModule", (m) => { const deployer = m.getAccount(0); - const consumer = m.contract("ConsumerExample", ["0x6D83b038d5bF428a8C3fF34bf1b380b3A2acA6fe"], { + const consumer = m.contract("ConsumerExample", ["0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d"], { from: deployer }); diff --git a/xapi-consumer/package.json b/xapi-consumer/package.json index 7761c9c..d581210 100644 --- a/xapi-consumer/package.json +++ b/xapi-consumer/package.json @@ -7,7 +7,7 @@ "build": "npx hardhat compile", "deploy": "npx hardhat ignition deploy ./ignition/modules/ConsumerExample.deploy.js --network sepolia", "console": "npx hardhat console --network sepolia", - "verify": "npx hardhat verify --network sepolia 0xe1b9Afa1E60148C8b0E455a10D8DAD8b325Ac2c8 '0x6D83b038d5bF428a8C3fF34bf1b380b3A2acA6fe'" + "verify": "npx hardhat verify --network sepolia 0x0a78B2b03B433FFB96C623699DC6fC81592cb4e9 '0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d'" }, "dependencies": { "xapi": "file:../xapi" diff --git a/xapi/.openzeppelin/sepolia.json b/xapi/.openzeppelin/sepolia.json new file mode 100644 index 0000000..f0c77da --- /dev/null +++ b/xapi/.openzeppelin/sepolia.json @@ -0,0 +1,320 @@ +{ + "manifestVersion": "3.2", + "proxies": [ + { + "address": "0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d", + "txHash": "0x01b1a063b897d491370cc8245fb1fc5be440064cc199500704e5e6bdf6290915", + "kind": "uups" + } + ], + "impls": { + "2f68d02fa5876747aa05c5013bfb905c6ce389b8b39be46eccafab81e3651cdd": { + "address": "0x182eFb0856236C932E4daD4Dd3F5CdcdEb685b2c", + "txHash": "0x1d4d7a5875c6b53fe0b3c9eec8c5ab2c62c4421c8f70d4844e2bdf7956dd21ed", + "layout": { + "solcVersion": "0.8.24", + "storage": [ + { + "label": "requestCount", + "offset": 0, + "slot": "0", + "type": "t_uint256", + "contract": "XAPI", + "src": "contracts/XAPI.sol:10" + }, + { + "label": "requests", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_uint256,t_struct(Request)2102_storage)", + "contract": "XAPI", + "src": "contracts/XAPI.sol:11" + }, + { + "label": "aggregatorConfigs", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_address,t_struct(AggregatorConfig)2127_storage)", + "contract": "XAPI", + "src": "contracts/XAPI.sol:12" + }, + { + "label": "rewards", + "offset": 0, + "slot": "3", + "type": "t_mapping(t_address,t_uint256)", + "contract": "XAPI", + "src": "contracts/XAPI.sol:13" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)128_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Ownable2StepStorage)13_storage": { + "label": "struct Ownable2StepUpgradeable.Ownable2StepStorage", + "members": [ + { + "label": "_pendingOwner", + "type": "t_address", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(OwnableStorage)68_storage": { + "label": "struct OwnableUpgradeable.OwnableStorage", + "members": [ + { + "label": "_owner", + "type": "t_address", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_enum(RequestStatus)2106": { + "label": "enum RequestStatus", + "members": [ + "Pending", + "Fulfilled", + "CallbackFailed" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_struct(AggregatorConfig)2127_storage)": { + "label": "mapping(address => struct AggregatorConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)2102_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(AggregatorConfig)2127_storage": { + "label": "struct AggregatorConfig", + "members": [ + { + "label": "aggregator", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "rewardAddress", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "reportersFee", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "publishFee", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "version", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "suspended", + "type": "t_bool", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(Request)2102_storage": { + "label": "struct Request", + "members": [ + { + "label": "aggregator", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "requestData", + "type": "t_string_storage", + "offset": 0, + "slot": "1" + }, + { + "label": "requester", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "callbackContract", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "callbackFunction", + "type": "t_bytes4", + "offset": 20, + "slot": "3" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)2106", + "offset": 24, + "slot": "3" + }, + { + "label": "exAggregator", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "response", + "type": "t_struct(ResponseData)2114_storage", + "offset": 0, + "slot": "5" + }, + { + "label": "payment", + "type": "t_uint256", + "offset": 0, + "slot": "8" + } + ], + "numberOfBytes": "288" + }, + "t_struct(ResponseData)2114_storage": { + "label": "struct ResponseData", + "members": [ + { + "label": "reporters", + "type": "t_array(t_address)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "result", + "type": "t_bytes_storage", + "offset": 0, + "slot": "1" + }, + { + "label": "errorCode", + "type": "t_uint16", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.Ownable2Step": [ + { + "contract": "Ownable2StepUpgradeable", + "label": "_pendingOwner", + "type": "t_address", + "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:29", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Ownable": [ + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + } + } +} diff --git a/xapi/contracts/XAPI.sol b/xapi/contracts/XAPI.sol index 8756d77..2db0e84 100644 --- a/xapi/contracts/XAPI.sol +++ b/xapi/contracts/XAPI.sol @@ -1,20 +1,33 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; -import "@openzeppelin/contracts/access/Ownable2Step.sol"; +import "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol"; +import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; import "./interfaces/IXAPI.sol"; -contract XAPI is IXAPI, Ownable2Step { +contract XAPI is Initializable, IXAPI, Ownable2StepUpgradeable, UUPSUpgradeable { uint256 public requestCount; mapping(uint256 => Request) public requests; mapping(address => AggregatorConfig) public aggregatorConfigs; mapping(address => uint256) public rewards; - constructor() Ownable(msg.sender) {} + function _authorizeUpgrade(address newImplementation) internal override onlyOwner {} + + /// @custom:oz-upgrades-unsafe-allow constructor + constructor() { + _disableInitializers(); + } + + function initialize(address initialOwner) public initializer { + __Ownable_init(initialOwner); + __UUPSUpgradeable_init(); + } function makeRequest(address exAggregator, string memory requestData, bytes4 callbackFunction) external payable + override returns (uint256) { require(msg.sender != address(this), "CANT call self"); @@ -50,7 +63,7 @@ contract XAPI is IXAPI, Ownable2Step { return requestId; } - function fulfill(uint256 requestId, ResponseData memory response) external { + function fulfill(uint256 requestId, ResponseData memory response) external override { Request storage request = requests[requestId]; require(decodeChainId(requestId) == block.chainid, "!chainId"); require(request.exAggregator != address(0), "!Request"); @@ -75,7 +88,7 @@ contract XAPI is IXAPI, Ownable2Step { emit Fulfilled(requestId, request.response, request.status); } - function retryFulfill(uint256 requestId) external { + function retryFulfill(uint256 requestId) external override { Request storage request = requests[requestId]; require(request.status == RequestStatus.CallbackFailed, "!Callback failed request"); require(msg.sender == request.requester, "!Requester"); @@ -88,7 +101,7 @@ contract XAPI is IXAPI, Ownable2Step { emit Fulfilled(requestId, request.response, request.status); } - function withdrawRewards() external { + function withdrawRewards() external override { uint256 amount = rewards[msg.sender]; require(amount > 0, "Insufficient rewards"); @@ -104,7 +117,7 @@ contract XAPI is IXAPI, Ownable2Step { uint256 publishFee, address rewardAddress, uint256 version - ) external { + ) external override { aggregatorConfigs[msg.sender] = AggregatorConfig({ aggregator: aggregator, reportersFee: reportersFee, @@ -117,13 +130,13 @@ contract XAPI is IXAPI, Ownable2Step { emit AggregatorConfigSet(msg.sender, reportersFee, publishFee, aggregator, rewardAddress, version); } - function fee(address exAggregator) external view returns (uint256) { + function fee(address exAggregator) external view override returns (uint256) { AggregatorConfig memory aggregatorConfig = aggregatorConfigs[exAggregator]; require(aggregatorConfig.rewardAddress != address(0), "!Aggregator"); return aggregatorConfig.reportersFee + aggregatorConfig.publishFee; } - function suspendAggregator(address exAggregator) external onlyOwner { + function suspendAggregator(address exAggregator) external override onlyOwner { require(aggregatorConfigs[exAggregator].rewardAddress != address(0), "!Aggregator"); aggregatorConfigs[exAggregator].suspended = true; diff --git a/xapi/hardhat.config.js b/xapi/hardhat.config.js index 46d4c34..1d8b634 100644 --- a/xapi/hardhat.config.js +++ b/xapi/hardhat.config.js @@ -1,5 +1,6 @@ require("@nomicfoundation/hardhat-toolbox"); require("@nomicfoundation/hardhat-verify"); +require("@openzeppelin/hardhat-upgrades"); const PRIVATE_KEY = process.env.PRIVATE_KEY; const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY; diff --git a/xapi/ignition/deployments/chain-11155111/deployed_addresses.json b/xapi/ignition/deployments/chain-11155111/deployed_addresses.json deleted file mode 100644 index 5be5ef5..0000000 --- a/xapi/ignition/deployments/chain-11155111/deployed_addresses.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "XAPIModule#XAPI": "0x6D83b038d5bF428a8C3fF34bf1b380b3A2acA6fe" -} diff --git a/xapi/package.json b/xapi/package.json index db43110..e68a632 100644 --- a/xapi/package.json +++ b/xapi/package.json @@ -6,9 +6,11 @@ "scripts": { "build": "npx hardhat compile", "clear": "npx hardhat clean", + "proxy-upgrade": "npx hardhat run scripts/XAPI.upgrade.js --network sepolia", + "proxy-deploy": "npx hardhat run scripts/XAPI.deploy.js --network sepolia", "deploy": "npx hardhat ignition deploy ./ignition/modules/XAPI.deploy.js --network sepolia", "console": "npx hardhat console --network sepolia", - "verify": "npx hardhat verify --network sepolia 0x6D83b038d5bF428a8C3fF34bf1b380b3A2acA6fe", + "verify": "npx hardhat verify --network sepolia 0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d", "test": "npx hardhat test" }, "devDependencies": { @@ -19,6 +21,7 @@ "@nomicfoundation/hardhat-network-helpers": "^1.0.0", "@nomicfoundation/hardhat-toolbox": "^5.0.0", "@nomicfoundation/hardhat-verify": "^2.0.11", + "@openzeppelin/hardhat-upgrades": "^3.5.0", "@typechain/ethers-v6": "^0.5.0", "@typechain/hardhat": "^9.0.0", "chai": "^4.2.0", @@ -29,6 +32,7 @@ "typechain": "^8.3.0" }, "dependencies": { - "@openzeppelin/contracts": "^5.0.2" + "@openzeppelin/contracts": "^5.0.2", + "@openzeppelin/contracts-upgradeable": "^5.1.0" } -} +} \ No newline at end of file diff --git a/xapi/scripts/XAPI.deploy.js b/xapi/scripts/XAPI.deploy.js new file mode 100644 index 0000000..1e67b7e --- /dev/null +++ b/xapi/scripts/XAPI.deploy.js @@ -0,0 +1,10 @@ +const { ethers, upgrades } = require("hardhat"); + +async function deploy() { + const XAPI = await ethers.getContractFactory("XAPI"); + const xapi = await upgrades.deployProxy(XAPI, ["0x9F33a4809aA708d7a399fedBa514e0A0d15EfA85"]); + await xapi.waitForDeployment(); + console.log("XAPI deployed to:", await xapi.getAddress()); +} + +deploy(); diff --git a/xapi/scripts/XAPI.upgrade.js b/xapi/scripts/XAPI.upgrade.js new file mode 100644 index 0000000..f1e0d32 --- /dev/null +++ b/xapi/scripts/XAPI.upgrade.js @@ -0,0 +1,9 @@ +const { ethers, upgrades } = require("hardhat"); + +async function upgrade(oldAddress) { + const XAPI = await ethers.getContractFactory("XAPI"); + await upgrades.upgradeProxy(oldAddress, XAPI); + console.log("XAPI upgraded"); +} + +upgrade("0x258E2B5bFCf2DF7e633B95abDc81A43C2073dA6d"); diff --git a/xapi/yarn.lock b/xapi/yarn.lock index 53c3165..bd1ca4d 100644 --- a/xapi/yarn.lock +++ b/xapi/yarn.lock @@ -7,6 +7,39 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== +"@aws-crypto/sha256-js@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz#02acd1a1fda92896fc5a28ec7c6e164644ea32fc" + integrity sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g== + dependencies: + "@aws-crypto/util" "^1.2.2" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/util@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-1.2.2.tgz#b28f7897730eb6538b21c18bd4de22d0ea09003c" + integrity sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg== + dependencies: + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/types@^3.1.0": + version "3.679.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.679.0.tgz#3737bb0f190add9e788b838a24cd5d8106dbed4f" + integrity sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + "@ethereumjs/rlp@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" @@ -610,6 +643,66 @@ resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz#ef9e11ccbffccc2360c02b20f12713756dfc37da" integrity sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ== +"@nomicfoundation/slang-darwin-arm64@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-darwin-arm64/-/slang-darwin-arm64-0.17.0.tgz#8cded3c24322624e3b6618760caba8e840bd1c1d" + integrity sha512-O0q94EUtoWy9A5kOTOa9/khtxXDYnLqmuda9pQELurSiwbQEVCPQL8kb34VbOW+ifdre66JM/05Xw9JWhIZ9sA== + +"@nomicfoundation/slang-darwin-x64@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-darwin-x64/-/slang-darwin-x64-0.17.0.tgz#6ebeb33a2ced89fc6023f6cda4af96403486038a" + integrity sha512-IaDbHzvT08sBK2HyGzonWhq1uu8IxdjmTqAWHr25Oh/PYnamdi8u4qchZXXYKz/DHLoYN3vIpBXoqLQIomhD/g== + +"@nomicfoundation/slang-linux-arm64-gnu@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-linux-arm64-gnu/-/slang-linux-arm64-gnu-0.17.0.tgz#41c7e57a9b1a3aee6911f0cab22e683c149fb470" + integrity sha512-Lj4anvOsQZxs1SycG8VyT2Rl2oqIhyLSUCgGepTt3CiJ/bM+8r8bLJIgh8vKkki4BWz49YsYIgaJB2IPv8FFTw== + +"@nomicfoundation/slang-linux-arm64-musl@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-linux-arm64-musl/-/slang-linux-arm64-musl-0.17.0.tgz#9c4b51689274ae75c2c8a4cddd2e1cc0a79c191d" + integrity sha512-/xkTCa9d5SIWUBQE3BmLqDFfJRr4yUBwbl4ynPiGUpRXrD69cs6pWKkwjwz/FdBpXqVo36I+zY95qzoTj/YhOA== + +"@nomicfoundation/slang-linux-x64-gnu@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-linux-x64-gnu/-/slang-linux-x64-gnu-0.17.0.tgz#c3a3b6a7b775fc617832958d10e6664bf86d39d0" + integrity sha512-oe5IO5vntOqYvTd67deCHPIWuSuWm6aYtT2/0Kqz2/VLtGz4ClEulBSRwfnNzBVtw2nksWipE1w8BzhImI7Syg== + +"@nomicfoundation/slang-linux-x64-musl@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-linux-x64-musl/-/slang-linux-x64-musl-0.17.0.tgz#725118ff99a7217b9f1d1bd84411d9442084077d" + integrity sha512-PpYCI5K/kgLAMXaPY0V4VST5gCDprEOh7z/47tbI8kJQumI5odjsj/Cs8MpTo7/uRH6flKYbVNgUzcocWVYrAQ== + +"@nomicfoundation/slang-win32-arm64-msvc@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-win32-arm64-msvc/-/slang-win32-arm64-msvc-0.17.0.tgz#9c8bc4ccf21eaaac0cfcb6d3954ede4e2dea4c02" + integrity sha512-u/Mkf7OjokdBilP7QOJj6QYJU4/mjkbKnTX21wLyCIzeVWS7yafRPYpBycKIBj2pRRZ6ceAY5EqRpb0aiCq+0Q== + +"@nomicfoundation/slang-win32-ia32-msvc@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-win32-ia32-msvc/-/slang-win32-ia32-msvc-0.17.0.tgz#3fc5d00a3f8c1d85a5e94146af78a5526a4f3d27" + integrity sha512-XJBVQfNnZQUv0tP2JSJ573S+pmgrLWgqSZOGaMllnB/TL1gRci4Z7dYRJUF2s82GlRJE+FHSI2Ro6JISKmlXCg== + +"@nomicfoundation/slang-win32-x64-msvc@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang-win32-x64-msvc/-/slang-win32-x64-msvc-0.17.0.tgz#f6a5e3250fa07cbda49151edeb80f09090e5b71a" + integrity sha512-zPGsAeiTfqfPNYHD8BfrahQmYzA78ZraoHKTGraq/1xwJwzBK4bu/NtvVA4pJjBV+B4L6DCxVhSbpn40q26JQA== + +"@nomicfoundation/slang@^0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang/-/slang-0.17.0.tgz#d9c25cd711ebf3490c9d0c99e9b4ca2481341a6b" + integrity sha512-1GlkGRcGpVnjFw9Z1vvDKOKo2mzparFt7qrl2pDxWp+jrVtlvej98yCMX52pVyrYE7ZeOSZFnx/DtsSgoukStQ== + 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": version "0.1.2" resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" @@ -658,11 +751,73 @@ "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" +"@openzeppelin/contracts-upgradeable@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.1.0.tgz#4d37648b7402929c53e2ff6e45749ecff91eb2b6" + integrity sha512-AIElwP5Ck+cslNE+Hkemf5SxjJoF4wBvvjxc27Rp+9jaPs/CLIaUBMYe1FNzhdiN0cYuwGRmYaRHmmntuiju4Q== + "@openzeppelin/contracts@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.0.2.tgz#b1d03075e49290d06570b2fd42154d76c2a5d210" integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA== +"@openzeppelin/defender-sdk-base-client@^1.14.4", "@openzeppelin/defender-sdk-base-client@^1.15.1": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/defender-sdk-base-client/-/defender-sdk-base-client-1.15.1.tgz#4ff72f25af903d24283dbe5bdd59af28829567dd" + integrity sha512-z3ZoDDRgRAlkaOFrY1SoHK/hn6LWlnfuFvs7WAA+nahlltS9UN7ro4v6P2aUq4ZQH2kZg5JeNfHCkpkRFaGa5Q== + dependencies: + amazon-cognito-identity-js "^6.3.6" + async-retry "^1.3.3" + +"@openzeppelin/defender-sdk-deploy-client@^1.14.4": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/defender-sdk-deploy-client/-/defender-sdk-deploy-client-1.15.1.tgz#da56912495a913642080af9f5d8e825769cec148" + integrity sha512-seJajiWFCM+dbMIv3290TOEsygeWyGa9DQxPESpFwXvlLxfPcKN/o8g+4bs98BmC9v6d0q5ckoWA8iEuzEBLpA== + dependencies: + "@openzeppelin/defender-sdk-base-client" "^1.15.1" + axios "^1.7.2" + lodash "^4.17.21" + +"@openzeppelin/defender-sdk-network-client@^1.14.4": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/defender-sdk-network-client/-/defender-sdk-network-client-1.15.1.tgz#37f1a1cd3b58bbc03cb60c336cbbdf49f68b341b" + integrity sha512-X09to21R7UjWMstDTmY+F8B6N+4c0B/hNio++fRsCs8kgO/ZcBLAQ3HDFgCBRVmhRI8+Qpa2uqc673aU6hW10A== + dependencies: + "@openzeppelin/defender-sdk-base-client" "^1.15.1" + axios "^1.7.2" + lodash "^4.17.21" + +"@openzeppelin/hardhat-upgrades@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-3.5.0.tgz#90ed0508fed8415b7fa9ee1c04ade8ec57091d46" + integrity sha512-Ju/JnT7NRiOMi5m5Y0dGiz37d8wnjVBep1v5Vr7+6+MFNuQa1yddUEVWhWhoEw4udI3/mYwyw4Sfz3sq7vhicQ== + dependencies: + "@openzeppelin/defender-sdk-base-client" "^1.14.4" + "@openzeppelin/defender-sdk-deploy-client" "^1.14.4" + "@openzeppelin/defender-sdk-network-client" "^1.14.4" + "@openzeppelin/upgrades-core" "^1.40.0" + chalk "^4.1.0" + debug "^4.1.1" + ethereumjs-util "^7.1.5" + proper-lockfile "^4.1.1" + undici "^6.11.1" + +"@openzeppelin/upgrades-core@^1.40.0": + version "1.40.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.40.0.tgz#f01647afb99b46356b3e7b98e3b2c7f864d85add" + integrity sha512-4bPSXdEqHsNRL5T1ybPLneWGYjzGl6XWGWkv7aUoFFgz8mOdarstRBX1Wi4XJFw6IeHPUI7mMSQr2jdz8Y2ypQ== + dependencies: + "@nomicfoundation/slang" "^0.17.0" + cbor "^9.0.0" + chalk "^4.1.0" + compare-versions "^6.0.0" + debug "^4.1.1" + ethereumjs-util "^7.0.3" + minimatch "^9.0.5" + minimist "^1.2.7" + proper-lockfile "^4.1.1" + solidity-ast "^0.4.51" + "@scure/base@~1.1.0", "@scure/base@~1.1.6": version "1.1.8" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.8.tgz#8f23646c352f020c83bca750a82789e246d42b50" @@ -770,6 +925,13 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" +"@smithy/types@^3.5.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.6.0.tgz#03a52bfd62ee4b7b2a1842c8ae3ada7a0a5ff3a4" + integrity sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w== + dependencies: + tslib "^2.6.2" + "@solidity-parser/parser@^0.14.0": version "0.14.5" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" @@ -951,6 +1113,17 @@ ajv@^8.0.1: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" +amazon-cognito-identity-js@^6.3.6: + version "6.3.12" + resolved "https://registry.yarnpkg.com/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.12.tgz#af73df033094ad4c679c19cf6122b90058021619" + integrity sha512-s7NKDZgx336cp+oDeUtB2ZzT8jWJp/v2LWuYl+LQtMEODe22RF1IJ4nRiDATp+rp1pTffCZcm44Quw4jx2bqNg== + dependencies: + "@aws-crypto/sha256-js" "1.2.2" + buffer "4.9.2" + fast-base64-decode "^1.0.0" + isomorphic-unfetch "^3.0.0" + js-cookie "^2.2.1" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -1059,6 +1232,13 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async-retry@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -1074,7 +1254,7 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -axios@^1.5.1: +axios@^1.5.1, axios@^1.7.2: version "1.7.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== @@ -1095,6 +1275,11 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" @@ -1209,6 +1394,15 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -1421,6 +1615,11 @@ commander@^8.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +compare-versions@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" + integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1737,7 +1936,7 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: ethjs-util "0.1.6" rlp "^2.2.3" -ethereumjs-util@^7.1.4: +ethereumjs-util@^7.0.3, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== @@ -1821,6 +2020,11 @@ evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +fast-base64-decode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz#b434a0dd7d92b12b43f26819300d2dafb83ee418" + integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q== + fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2114,7 +2318,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2307,6 +2511,11 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.1.1: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" @@ -2413,7 +2622,7 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -isarray@~1.0.0: +isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== @@ -2423,6 +2632,19 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-unfetch@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" + integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== + dependencies: + node-fetch "^2.6.1" + unfetch "^4.2.0" + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -2634,7 +2856,14 @@ minimatch@^5.0.1, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.5, minimist@^1.2.6: +minimatch@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -2717,6 +2946,13 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-gyp-build@^4.2.0: version "4.8.2" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.2.tgz#4f802b71c1ab2ca16af830e6c1ea7dd1ad9496fa" @@ -2917,6 +3153,15 @@ prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" +proper-lockfile@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" + proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -3049,6 +3294,16 @@ resolve@^1.1.6: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +retry@0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -3204,6 +3459,11 @@ side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -3236,6 +3496,11 @@ solc@0.8.26: semver "^5.5.0" tmp "0.0.33" +solidity-ast@^0.4.51: + version "0.4.59" + resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.59.tgz#290a2815aef70a61092591ab3e991da080ae5931" + integrity sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g== + solidity-coverage@^0.8.0: version "0.8.13" resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.13.tgz#8eeada2e82ae19d25568368aa782a2baad0e0ce7" @@ -3480,6 +3745,11 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + ts-command-line-args@^2.2.0: version "2.5.1" resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" @@ -3500,11 +3770,16 @@ tslib@2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^1.9.3: +tslib@^1.11.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.3.1, tslib@^2.6.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsort@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" @@ -3595,6 +3870,16 @@ undici@^5.14.0: dependencies: "@fastify/busboy" "^2.0.0" +undici@^6.11.1: + version "6.20.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.20.1.tgz#fbb87b1e2b69d963ff2d5410a40ffb4c9e81b621" + integrity sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA== + +unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" + integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -3639,6 +3924,19 @@ web3-utils@^1.3.6: randombytes "^2.1.0" utf8 "3.0.0" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which@^1.1.1, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"