From 4ad39191e4990ccfd8ad842a32eedfa61fdebbba Mon Sep 17 00:00:00 2001 From: itofarina Date: Mon, 2 Mar 2026 17:23:41 -0300 Subject: [PATCH 1/6] =?UTF-8?q?=F0=9F=9A=A7=20contracts:=20update=20protoc?= =?UTF-8?q?ol=20dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/package.json | 2 +- contracts/remappings.txt | 1 + package.json | 2 +- pnpm-lock.yaml | 18 ++++++++++++++++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/contracts/package.json b/contracts/package.json index e9dd473a8..47cfbe90e 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -23,7 +23,7 @@ "webauthn-sol": "base/webauthn-sol#v1.0.0" }, "devDependencies": { - "@exactly/protocol": "^0.2.22", + "@exactly/protocol": "exactly/protocol#5833408", "@openzeppelin/contracts-upgradeable-v4": "npm:@openzeppelin/contracts-upgradeable@^4.9.6", "@openzeppelin/contracts-upgradeable": "^5.4.0", "@openzeppelin/contracts-v4": "npm:@openzeppelin/contracts@^4.9.6", diff --git a/contracts/remappings.txt b/contracts/remappings.txt index 91209330a..06c1e018b 100644 --- a/contracts/remappings.txt +++ b/contracts/remappings.txt @@ -9,6 +9,7 @@ webauthn-owner-plugin/=node_modules/webauthn-owner-plugin/src webauthn-sol/=node_modules/webauthn-sol/src @exactly/protocol/=node_modules/@exactly/protocol/contracts/ +node_modules/@exactly/protocol/:@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/ @openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable-v4/ @openzeppelin/contracts-upgradeable-v4/=node_modules/@openzeppelin/contracts-upgradeable-v4/ @openzeppelin/contracts-v4/=node_modules/@openzeppelin/contracts-v4/ diff --git a/package.json b/package.json index 9c9710a6c..4adac4739 100644 --- a/package.json +++ b/package.json @@ -257,7 +257,7 @@ "react-native-worklets" ] }, - "neverBuiltDependencies": [], + "onlyBuiltDependencies": ["@exactly/protocol"], "peerDependencyRules": { "allowedVersions": { "typescript": "$typescript" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 267a89ae8..c0c13ad27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -653,8 +653,8 @@ importers: version: https://codeload.github.com/base/webauthn-sol/tar.gz/619f20ab0f074fef41066ee4ab24849a913263b2 devDependencies: '@exactly/protocol': - specifier: ^0.2.22 - version: 0.2.22 + specifier: exactly/protocol#5833408 + version: https://codeload.github.com/exactly/protocol/tar.gz/5833408b2a8582f113adc07bbb302de6fdc5f7ff '@openzeppelin/contracts-upgradeable': specifier: ^5.4.0 version: 5.4.0(@openzeppelin/contracts@5.4.0) @@ -2955,6 +2955,11 @@ packages: resolution: {integrity: sha512-QqQTWoWSc+pZ830YpQ0KtAcagDuC65Ez2dDZBhkHy8Hks2VmHih5QjXnvHXS42Bytp+2p6wkPAXfkUewfsFPdQ==} engines: {node: '>=18'} + '@exactly/protocol@https://codeload.github.com/exactly/protocol/tar.gz/5833408b2a8582f113adc07bbb302de6fdc5f7ff': + resolution: {tarball: https://codeload.github.com/exactly/protocol/tar.gz/5833408b2a8582f113adc07bbb302de6fdc5f7ff} + version: 0.2.22 + engines: {node: '>=18'} + '@expo/cli@54.0.21': resolution: {integrity: sha512-L/FdpyZDsg/Nq6xW6kfiyF9DUzKfLZCKFXEVZcDqCNar6bXxQVotQyvgexRvtUF5nLinuT/UafLOdC3FUALUmA==} hasBin: true @@ -15906,6 +15911,15 @@ snapshots: solady: 0.1.26 solmate: '@rari-capital/solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/eaa7041378f9a6c12f943de08a6c41b31a9870fc' + '@exactly/protocol@https://codeload.github.com/exactly/protocol/tar.gz/5833408b2a8582f113adc07bbb302de6fdc5f7ff': + dependencies: + '@openzeppelin/contracts': 5.4.0 + '@openzeppelin/contracts-upgradeable': 5.4.0(@openzeppelin/contracts@5.4.0) + '@openzeppelin/contracts-upgradeable-v4': '@openzeppelin/contracts-upgradeable@4.9.6' + '@openzeppelin/contracts-v4': '@openzeppelin/contracts@4.9.6' + solady: 0.1.26 + solmate: '@rari-capital/solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/eaa7041378f9a6c12f943de08a6c41b31a9870fc' + '@expo/cli@54.0.21(bufferutil@4.1.0)(expo-router@6.0.21)(expo@54.0.31)(graphql@16.12.0)(react-native@0.81.5(@babel/core@7.28.6)(@types/react@19.1.17)(bufferutil@4.1.0)(react@19.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': dependencies: '@0no-co/graphql.web': 1.2.0(graphql@16.12.0) From ef6f7896c2c6a1ebd6bcf8f6a52e6b4493824636 Mon Sep 17 00:00:00 2001 From: itofarina Date: Tue, 3 Mar 2026 14:28:21 -0300 Subject: [PATCH 2/6] =?UTF-8?q?=E2=9C=85=20contracts:=20update=20redeploye?= =?UTF-8?q?r=20test=20with=20latest=20exa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/.gas-snapshot | 6 +++--- contracts/test/Redeployer.t.sol | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/contracts/.gas-snapshot b/contracts/.gas-snapshot index bb916365f..5944f4ceb 100644 --- a/contracts/.gas-snapshot +++ b/contracts/.gas-snapshot @@ -1,4 +1,4 @@ -ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5853309, ~: 5347535) +ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5865857, ~: 5360703) ExaAccountFactoryTest:test_deploy_deploysToSameAddress() (gas: 13989314) ExaPluginTest:testFork_claimAndVestEscrowedEXA_claimsAndVests() (gas: 38664724) ExaPluginTest:testFork_collectCollateral_collects() (gas: 32167249) @@ -212,13 +212,13 @@ IssuerCheckerTest:test_setPrevIssuerWindow_emits_PrevIssuerWindowSet() (gas: 526 IssuerCheckerTest:test_setPrevIssuerWindow_reverts_whenNotAdmin() (gas: 45548) MockSwapperTest:test_swapExactAmountIn_swaps() (gas: 269807) MockSwapperTest:test_swapExactAmountOut_swaps() (gas: 269803) -RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 56250957) +RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 56727277) RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onEthereum() (gas: 273369114) RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onPolygon() (gas: 368043624) RedeployerTest:test_deployExaFactory_deploysViaCreate3AtSameAddress_onPolygon() (gas: 45014545) RedeployerTest:test_prepare_reverts_whenAdminIsDeployer() (gas: 28800535) RedeployerTest:test_recoversNativeETHOnPolygon() (gas: 45185670) -RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 38475794) +RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 39600675) RedeployerTest:test_run_reverts_whenTargetNonceTooLow() (gas: 29265310) RefunderTest:test_refund_refunds() (gas: 263363) RefunderTest:test_refund_reverts_whenExpired() (gas: 88359) diff --git a/contracts/test/Redeployer.t.sol b/contracts/test/Redeployer.t.sol index 6bdbc357f..e9bfaae11 100644 --- a/contracts/test/Redeployer.t.sol +++ b/contracts/test/Redeployer.t.sol @@ -46,8 +46,7 @@ contract RedeployerTest is ForkTest { EXA token = EXA(exaOP); assertEq(token.name(), "exactly"); assertEq(token.symbol(), "EXA"); - assertEq(token.totalSupply(), 10_000_000e18, "token should have same minted supply"); - assertEq(token.balanceOf(address(redeployer.proxyAdmin())), 10_000_000e18, "ProxyAdmin should have tokens"); + assertEq(token.totalSupply(), 0, "base should have zero supply"); assertEq(token.decimals(), 18, "token should have 18 decimals"); } From 04fef7b2f997771fcfe37135f6b9f65015b1d6dc Mon Sep 17 00:00:00 2001 From: itofarina Date: Mon, 2 Mar 2026 17:26:59 -0300 Subject: [PATCH 3/6] =?UTF-8?q?=E2=9E=95=20contracts:=20add=20hyperlane=20?= =?UTF-8?q?dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/package.json | 1 + contracts/remappings.txt | 1 + pnpm-lock.yaml | 1343 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 1292 insertions(+), 53 deletions(-) diff --git a/contracts/package.json b/contracts/package.json index 47cfbe90e..f418afdb3 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -27,6 +27,7 @@ "@openzeppelin/contracts-upgradeable-v4": "npm:@openzeppelin/contracts-upgradeable@^4.9.6", "@openzeppelin/contracts-upgradeable": "^5.4.0", "@openzeppelin/contracts-v4": "npm:@openzeppelin/contracts@^4.9.6", + "@hyperlane-xyz/core": "^9.0.0", "account-abstraction": "eth-infinitism/account-abstraction#v0.6.0", "forge-std": "foundry-rs/forge-std#v1.14.0", "fresh-crypto-lib": "rdubois-crypto/FreshCryptoLib#fd2a0e6e64609ade0b0c165e4d66de8106a70db6", diff --git a/contracts/remappings.txt b/contracts/remappings.txt index 06c1e018b..5ffcccff8 100644 --- a/contracts/remappings.txt +++ b/contracts/remappings.txt @@ -14,6 +14,7 @@ node_modules/@exactly/protocol/:@openzeppelin/contracts/=node_modules/@openzeppe @openzeppelin/contracts-upgradeable-v4/=node_modules/@openzeppelin/contracts-upgradeable-v4/ @openzeppelin/contracts-v4/=node_modules/@openzeppelin/contracts-v4/ @openzeppelin/contracts/=node_modules/@openzeppelin/contracts-v4/ +@hyperlane-xyz/=node_modules/@hyperlane-xyz/ account-abstraction/=node_modules/account-abstraction/contracts/ forge-std/=node_modules/forge-std/src/ solmate/=node_modules/solmate/ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0c13ad27..dc3776928 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -655,6 +655,9 @@ importers: '@exactly/protocol': specifier: exactly/protocol#5833408 version: https://codeload.github.com/exactly/protocol/tar.gz/5833408b2a8582f113adc07bbb302de6fdc5f7ff + '@hyperlane-xyz/core': + specifier: ^9.0.0 + version: 9.0.17(@ethersproject/abi@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) '@openzeppelin/contracts-upgradeable': specifier: ^5.4.0 version: 5.4.0(@openzeppelin/contracts@5.4.0) @@ -960,6 +963,12 @@ packages: '@apm-js-collab/tracing-hooks@0.3.1': resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==} + '@arbitrum/nitro-contracts@1.3.0': + resolution: {integrity: sha512-nNNOgqqyiOxFiF1k53u0upC6tRWar1aj2arRZoE8C99/0eMnWk9az6rUO1yhxgMyMmk5fx9Pg42oSsZ9H7noOg==} + + '@arbitrum/nitro-contracts@3.0.0': + resolution: {integrity: sha512-7VzNW9TxvrX9iONDDsi7AZlEUPa6z+cjBkB4Mxlnog9VQZAapRC3CdRXyUzHnBYmUhRzyNJdyxkWPw59QGcLmA==} + '@astrojs/compiler@2.13.0': resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==} @@ -1679,6 +1688,9 @@ packages: resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} engines: {node: '>=6.9.0'} + '@balena/dockerignore@1.0.2': + resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -1737,6 +1749,14 @@ packages: resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} engines: {node: '>=18'} + '@chainlink/contracts-ccip@1.6.4': + resolution: {integrity: sha512-+kHHZJ4DtSd0mO6EIrPpK9UzEwVhMNR0wzbjuRDcn1UwX4wibnrEbY5RYuGOrTwmXPRoMFsDVeN47O5zgFg5cw==} + engines: {node: '>=20', pnpm: '>=10'} + + '@chainlink/contracts@1.5.0': + resolution: {integrity: sha512-1fGJwjvivqAxvVOTqZUEXGR54CATtg0vjcXgSIk4Cfoad2nUhSG/qaWHXjLg1CkNTeOoteoxGQcpP/HiA5HsUA==} + engines: {node: '>=22', pnpm: '>=10'} + '@changesets/apply-release-plan@7.0.14': resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} @@ -1762,6 +1782,9 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} + '@changesets/get-github-info@0.6.0': + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} + '@changesets/get-github-info@0.7.0': resolution: {integrity: sha512-+i67Bmhfj9V4KfDeS1+Tz3iF32btKZB2AAx+cYMqDSRFP7r3/ZdGbjCo+c6qkyViN9ygDuBjzageuPGJtKGe5A==} @@ -1813,6 +1836,9 @@ packages: '@chevrotain/utils@11.1.1': resolution: {integrity: sha512-71eTYMzYXYSFPrbg/ZwftSaSDld7UYlS8OQa3lNnn9jzNtpFbaReRRyghzqS7rI3CDaorqpPJJcXGHK+FE1TVQ==} + '@cosmjs/encoding@0.32.4': + resolution: {integrity: sha512-tjvaEy6ZGxJchiizzTn7HVRiyTg1i4CObRRaTRPknm5EalE13SV+TCHq38gIDfyUeden4fCuaBVEdBR5+ti7Hw==} + '@craftzdog/react-native-buffer@6.1.1': resolution: {integrity: sha512-YXJ0Jr4V+Hk2CZXpQw0A0NJeuiW2Rv6rAAutJCZ2k/JG13vLsppUibkJ8exSMxODtH9yJUrLiR96rilG3pFZ4Q==} @@ -2860,6 +2886,14 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eth-optimism/contracts@0.6.0': + resolution: {integrity: sha512-vQ04wfG9kMf1Fwy3FEMqH2QZbgS0gldKhcBeBUPfO8zu68L61VI97UDXmsMQXzTsEAxK8HnokW3/gosl4/NW3w==} + peerDependencies: + ethers: ^5 + + '@eth-optimism/core-utils@0.12.0': + resolution: {integrity: sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==} + '@ethersproject/abi@5.8.0': resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} @@ -2869,6 +2903,9 @@ packages: '@ethersproject/abstract-signer@5.8.0': resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + '@ethersproject/address@5.8.0': resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} @@ -2929,6 +2966,9 @@ packages: '@ethersproject/signing-key@5.8.0': resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + '@ethersproject/solidity@5.8.0': + resolution: {integrity: sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==} + '@ethersproject/strings@5.8.0': resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} @@ -3122,6 +3162,10 @@ packages: peerDependencies: typescript: ^5.9.3 + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + '@favware/skip-dependency@1.2.2': resolution: {integrity: sha512-HzAf0JkMDu8iT7v0wJZm5IpSlwPd5ozGigd7vTkFgX447eT8vkAuaUPJwamMsPMUkl5MW7PksfAReSSHG4Ep4Q==} @@ -3152,6 +3196,20 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@grpc/grpc-js@1.14.3': + resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==} + engines: {node: '>=12.10.0'} + + '@grpc/proto-loader@0.7.15': + resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} + engines: {node: '>=6'} + hasBin: true + + '@grpc/proto-loader@0.8.0': + resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==} + engines: {node: '>=6'} + hasBin: true + '@hapi/address@5.1.1': resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==} engines: {node: '>=14.0.0'} @@ -3220,6 +3278,26 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@hyperlane-xyz/core@9.0.17': + resolution: {integrity: sha512-gOcr9q99x84fP3K2fUgNQq8I/7WVuQHommMx56I0gj495moojUcpaAzGxDaqq7e00Mjmie5n/eLlmbCFYVwwmA==} + engines: {node: '>=16'} + peerDependencies: + '@ethersproject/abi': '*' + '@ethersproject/providers': '*' + '@types/sinon-chai': '*' + + '@hyperlane-xyz/utils@19.5.0': + resolution: {integrity: sha512-kmRY/cC6pcTa3g7hty/fPvatKYGbQeq5rR8FycbTlIvI6N721BzfVbO9HttgrQyCzPrd3dgTC2slsyA/SGNQMQ==} + engines: {node: '>=16'} + peerDependencies: + '@google-cloud/pino-logging-gcp-config': ^1.0.6 + pino-pretty: '>=10.0.0' + peerDependenciesMeta: + '@google-cloud/pino-logging-gcp-config': + optional: true + pino-pretty: + optional: true + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -3579,6 +3657,9 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} @@ -3607,6 +3688,16 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@matterlabs/hardhat-zksync-solc@1.2.5': + resolution: {integrity: sha512-iZyznWl1Hoe/Z46hnUe1s2drBZBjJOS/eN+Ql2lIBX9B6NevBl9DYzkKzH5HEIMCLGnX9sWpRAJqUQJWy9UB6w==} + peerDependencies: + hardhat: ^2.22.5 + + '@matterlabs/hardhat-zksync-verify@1.7.1': + resolution: {integrity: sha512-FtibELgllkyAZORDW4/s/7XSC5DaqAXG0KXMqGipQyXuIXQ9l1kpaHMpoEtHvQL7xxmkgZqCcSZgATnKl91nDg==} + peerDependencies: + hardhat: ^2.22.5 + '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -3686,6 +3777,10 @@ packages: resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.9.1': resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} engines: {node: ^14.21.3 || >=16} @@ -3698,6 +3793,10 @@ packages: resolution: {integrity: sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==} engines: {node: '>= 20.19.0'} + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} @@ -3718,6 +3817,14 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nomicfoundation/hardhat-verify@2.1.3': + resolution: {integrity: sha512-danbGjPp2WBhLkJdQy9/ARM3WQIK+7vwzE0urNem1qZJjh9f54Kf5f1xuQv8DvqewUAkuPxVt/7q4Grz5WjqSg==} + peerDependencies: + hardhat: ^2.26.0 + + '@nomiclabs/hardhat-docker@2.0.2': + resolution: {integrity: sha512-XgGEpRT3wlA1VslyB57zyAHV+oll8KnV1TjwnxxC1tpAL04/lbdwpdO5KxInVN8irMSepqFpsiSkqlcnvbE7Ng==} + '@nx/devkit@22.4.5': resolution: {integrity: sha512-mw5G6k/XTkL675eVIcFpyZdfdIc3wQMSSGWzfA6tQGmANDYc/NFGeZR9wDqXDceHXnYKoRO6g6GhKTOHUCW23Q==} peerDependencies: @@ -3810,6 +3917,9 @@ packages: '@nx/workspace@22.4.5': resolution: {integrity: sha512-QGapABrqBnRpEWbnd5UpbVCBzsYD+RlC1lWShXPpCM+dosR3qkGb+pSmxeSCsKbNVtCwYyyuRW+PvlF5Q5sU9A==} + '@offchainlabs/upgrade-executor@1.1.0-beta.0': + resolution: {integrity: sha512-mpn6PHjH/KDDjNX0pXHEKdyv8m6DVGQiI2nGzQn0JbM1nOSHJpWx6fvfjtH7YxHJ6zBZTcsKkqGkFKDtCfoSLw==} + '@onesignal/node-onesignal@5.3.1-beta1': resolution: {integrity: sha512-md7JMEVQZLnI8hhaZj4U8FuwOBtaW8IzE0vkDI2ShFFu+kVoBuAmARErXKXFTLbI9QpOQuPo4Phl6YL//rsT7w==} @@ -4003,6 +4113,12 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 + '@openzeppelin/contracts-upgradeable@4.5.2': + resolution: {integrity: sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA==} + + '@openzeppelin/contracts-upgradeable@4.7.3': + resolution: {integrity: sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A==} + '@openzeppelin/contracts-upgradeable@4.9.6': resolution: {integrity: sha512-m4iHazOsOCv1DgM7eD7GupTJ+NFVujRZt1wzddDPSVGpWdKq1SKkla5htKG7+IS4d2XOCtzkUNwRZ7Vq5aEUMA==} @@ -4011,9 +4127,24 @@ packages: peerDependencies: '@openzeppelin/contracts': 5.4.0 + '@openzeppelin/contracts@4.5.0': + resolution: {integrity: sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==} + + '@openzeppelin/contracts@4.7.3': + resolution: {integrity: sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==} + + '@openzeppelin/contracts@4.8.3': + resolution: {integrity: sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg==} + '@openzeppelin/contracts@4.9.6': resolution: {integrity: sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==} + '@openzeppelin/contracts@5.0.2': + resolution: {integrity: sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==} + + '@openzeppelin/contracts@5.1.0': + resolution: {integrity: sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA==} + '@openzeppelin/contracts@5.4.0': resolution: {integrity: sha512-eCYgWnLg6WO+X52I16TZt8uEjbtdkgLC0SUX/xnAksjjrQI4Xfn4iBRoI5j55dmlOhDv1Y7BoR3cU7e3WWhC6A==} @@ -4140,6 +4271,36 @@ packages: peerDependencies: '@opentelemetry/api': ^1.8 + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -4739,6 +4900,12 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@scroll-tech/contracts@2.0.0': + resolution: {integrity: sha512-O8sVaA/bVKH/mp+bBfUjZ/vYr5mdBExCpKRLre4r9TbXTtiaY9Uo5xU8dcG3weLxyK0BZqDTP2aCNp4Q0f7SeA==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + '@scure/base@1.2.6': resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} @@ -4748,6 +4915,9 @@ packages: '@scure/bip39@1.6.0': resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + '@scure/starknet@1.1.0': + resolution: {integrity: sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ==} + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -5055,6 +5225,15 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@sinonjs/fake-timers@11.2.2': + resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + + '@sinonjs/fake-timers@15.1.1': + resolution: {integrity: sha512-cO5W33JgAPbOh07tvZjUOJ7oWhtaqGHiZw+11DPbyqh2kHTBc3eF/CjJDeQ4205RLQsX6rxCuYOroFQwl7JDRw==} + + '@sinonjs/samsam@8.0.3': + resolution: {integrity: sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==} + '@solidity-parser/parser@0.20.2': resolution: {integrity: sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==} @@ -5066,6 +5245,12 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@starknet-io/types-js@0.7.10': + resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} + + '@starknet-io/types-js@0.8.4': + resolution: {integrity: sha512-0RZ3TZHcLsUTQaq1JhDSCM8chnzO4/XNsSCozwDET64JK5bjFDIf2ZUkta+tl5Nlbf4usoU7uZiDI/Q57kt2SQ==} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -6327,6 +6512,14 @@ packages: resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true + JSONStream@1.3.2: + resolution: {integrity: sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==} + hasBin: true + + abi-wan-kanabi@2.2.4: + resolution: {integrity: sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg==} + hasBin: true + abitype@0.8.11: resolution: {integrity: sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A==} peerDependencies: @@ -6466,6 +6659,9 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + antlr4@4.13.2: resolution: {integrity: sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==} engines: {node: '>=16'} @@ -6554,10 +6750,16 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + asn1js@3.0.7: resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==} engines: {node: '>=12.0.0'} + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -6633,6 +6835,10 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -6772,6 +6978,9 @@ packages: bcp-47@2.1.0: resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + better-ajv-errors@2.0.3: resolution: {integrity: sha512-t1vxUP+vYKsaYi/BbKo2K98nEAZmfi4sjwvmRT8aOPDzPJeAtLurfoIDazVkLILxO4K+Sw4YrLYnBQ46l6pePg==} engines: {node: '>= 18.20.6'} @@ -6793,9 +7002,15 @@ packages: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} + bignumber.js@9.3.1: + resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} + birecord@0.1.1: resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} + bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -6864,6 +7079,15 @@ packages: resolution: {integrity: sha512-Rqf0ly5H4HGt+ki/n3m7GxoR2uIGtNqezPlOLX8Vuo13j5/tfPuVvAr84eoGF7sYm6lKdbGnT/3q8qmzuT5Y9w==} engines: {node: '>= 0.4.0'} + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -6877,6 +7101,14 @@ packages: resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} engines: {node: '>=6.14.2'} + bufio@1.2.3: + resolution: {integrity: sha512-5Tt66bRzYUSlVZatc0E92uDenreJ+DpTBmSAUwL4VSxJn3e6cUyYwx+PoqML0GRZatgA/VX8ybhxItF8InZgqA==} + engines: {node: '>=8.0.0'} + + buildcheck@0.0.7: + resolution: {integrity: sha512-lHblz4ahamxpTmnsk+MNTRWsjYKv965MwOrSJyeD588rR3Jcu7swE+0wN5F+PbL5cjgu/9ObkhfzEPuofEMwLA==} + engines: {node: '>=10.0.0'} + builtin-modules@5.0.0: resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} engines: {node: '>=18.20'} @@ -6956,9 +7188,25 @@ packages: caniuse-lite@1.0.30001765: resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==} + cardinal@2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + + cbor@8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} + + cbor@9.0.2: + resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} + engines: {node: '>=16'} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + engines: {node: '>=4'} + chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -7002,6 +7250,9 @@ packages: engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -7018,6 +7269,9 @@ packages: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -7201,6 +7455,10 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -7276,6 +7534,10 @@ packages: typescript: optional: true + cpu-features@0.0.10: + resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} + engines: {node: '>=10.0.0'} + crc@4.3.2: resolution: {integrity: sha512-uGDHf4KLLh2zsHa8D8hIQ1H/HtFQhyHrc0uhHBcoKGol/Xnb+MPYfUMw7cvON6ze/GUESTudKayDcJC5HnJv1A==} engines: {node: '>=12'} @@ -7627,6 +7889,10 @@ packages: dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -7718,6 +7984,10 @@ packages: diacritics@1.3.0: resolution: {integrity: sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==} + diff@5.2.2: + resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} + engines: {node: '>=0.3.1'} + diff@8.0.3: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} @@ -7736,6 +8006,22 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + docker-modem@1.0.9: + resolution: {integrity: sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==} + engines: {node: '>= 0.8'} + + docker-modem@5.0.6: + resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==} + engines: {node: '>= 8.0'} + + dockerode@2.5.8: + resolution: {integrity: sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==} + engines: {node: '>= 0.8'} + + dockerode@4.0.9: + resolution: {integrity: sha512-iND4mcOWhPaCNh54WmK/KoSb35AFqPAUWFMffTQcp52uQt36b5uNwEJTSXntJZBbeGad72Crbi/hvDIv6us/6Q==} + engines: {node: '>= 8.0'} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -7958,6 +8244,10 @@ packages: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + era-contracts@https://codeload.github.com/matter-labs/era-contracts/tar.gz/446d391d34bdb48255d5f8fef8a8248925fc98b9: + resolution: {tarball: https://codeload.github.com/matter-labs/era-contracts/tar.gz/446d391d34bdb48255d5f8fef8a8248925fc98b9} + version: 0.1.0 + error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} @@ -8405,6 +8695,9 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} + ethers@5.8.0: + resolution: {integrity: sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==} + event-emitter@0.3.5: resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} @@ -8739,6 +9032,10 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + fast-text-encoding@1.0.6: resolution: {integrity: sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==} @@ -8840,6 +9137,9 @@ packages: find-value@1.0.13: resolution: {integrity: sha512-epNL4mnl3HUYrwVQtZ8s0nxkE4ogAoSqO1V1fa670Ww1fXp8Yr74zNS9Aib/vLNf0rq0AF/4mboo7ev5XkikXQ==} + find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -8946,6 +9246,10 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + fs-extra@11.3.3: resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} engines: {node: '>=14.14'} @@ -9005,6 +9309,9 @@ packages: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -9568,6 +9875,10 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -9750,6 +10061,12 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -9950,6 +10267,10 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} @@ -9958,6 +10279,9 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} + katex@0.16.27: resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} hasBin: true @@ -9968,6 +10292,9 @@ packages: khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -10132,6 +10459,12 @@ packages: lodash._pickbycallback@3.0.0: resolution: {integrity: sha512-DVP27YmN0lB+j/Tgd/+gtxfmW/XihgWpQpHptBuwyp2fD9zEBRwwcnw6Qej16LUV8LRFuTqyoc0i6ON97d/C5w==} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -10184,6 +10517,9 @@ packages: resolution: {integrity: sha512-p1Ow0C2dDJYaQBhRHt+HVMP6ELuBm4jYSYNHPMfz0J5wJ9qA6/7oBOlBZBfT1InqguTYcvJzNea5FItDxTcbyw==} hasBin: true + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -10191,6 +10527,12 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lossless-json@4.3.0: + resolution: {integrity: sha512-ToxOC+SsduRmdSuoLZLYAr5zy1Qu7l5XhmPWM3zefCZ5IcrzW/h108qbJUKfOlDlhvhjUK84+8PSVX0kxnit0g==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -10695,6 +11037,13 @@ packages: typescript: optional: true + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -10747,6 +11096,9 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nan@2.25.0: + resolution: {integrity: sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -10795,6 +11147,9 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + nise@6.1.3: + resolution: {integrity: sha512-OsVxbEhidvxS5gq0KQh1jivMsQC+86Tu3Hnwx2DWANu/iytRhhJkG66aYCI2L4JyozJa/69V/lQT1ofOA+qKqQ==} + nlcst-to-string@4.0.0: resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} @@ -10844,6 +11199,10 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -10945,6 +11304,10 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -11094,6 +11457,9 @@ packages: pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -11140,6 +11506,11 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + patch-package@6.5.1: + resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} + engines: {node: '>=10', npm: '>5'} + hasBin: true + path-data-parser@0.1.0: resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} @@ -11194,6 +11565,9 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + persona@5.5.0: resolution: {integrity: sha512-sSayn72ppan7RGhMhBHbfUjQtIeWGGKL/AKA/2+bXGEBhNgkzaLBuLd+urcRLXmqjoZhFXsWgG5oVxTFvABhcw==} @@ -11257,6 +11631,16 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + + pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + + pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} + hasBin: true + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -11398,6 +11782,12 @@ packages: resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -11431,12 +11821,19 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + protobufjs@7.5.4: + resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} + engines: {node: '>=12.0.0'} + protolint@0.56.4: resolution: {integrity: sha512-wrRXaiyNDSzYJ7LBcDnwkWnsRi1uNlFleQp90CsBsh2YvVJEwKXr/c/W9MRYdt+ScpEo8Eg3d60QmVhsZBJu2w==} hasBin: true @@ -11448,6 +11845,12 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + pump@1.0.3: + resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} + + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -11492,6 +11895,9 @@ packages: queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -11722,6 +12128,12 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + readable-stream@1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -11742,6 +12154,13 @@ packages: resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} engines: {node: '>= 0.8.0'} + readonly-date@1.0.0: + resolution: {integrity: sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -11756,6 +12175,9 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + redeyed@2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} engines: {node: '>=4'} @@ -11978,10 +12400,19 @@ packages: retext@9.0.0: resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + 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: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -12025,6 +12456,9 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -12039,6 +12473,10 @@ packages: safe-regex@2.1.1: resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -12209,6 +12647,15 @@ packages: simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + sinon-chai@3.7.0: + resolution: {integrity: sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==} + peerDependencies: + chai: ^4.0.0 + sinon: '>=4.0.0' + + sinon@18.0.1: + resolution: {integrity: sha512-a2N2TDY1uGviajJ6r4D1CyRAkzE9NNVlYOV1wX5xQDuAk0ONgzgRl0EjCQuRCPxOwp13ghsMwt9Gdldujs39qw==} + sirv@3.0.2: resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} @@ -12221,6 +12668,10 @@ packages: engines: {node: '>=14.0.0', npm: '>=6.0.0'} hasBin: true + slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -12251,6 +12702,9 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + solady@0.0.182: + resolution: {integrity: sha512-FW6xo1akJoYpkXMzu58/56FcNU3HYYNamEbnFO3iSibXk0nSHo0DV2Gu/zI3FPg3So5CCX6IYli1TT1IWATnvg==} + solady@0.1.26: resolution: {integrity: sha512-dhGr/ptJFdea/1KE6xgqgwEdbMhUiSfRc6A+jLeltPe16zyt9qtED3PElIBVRnzEmUO5aZTjKVAr6SlqXBBcIw==} @@ -12258,6 +12712,9 @@ packages: resolution: {integrity: sha512-RInN0tz9FVR4eYlyLS0Pk8iJP3WdfVmmMJR9FIUxe9bKHgAPE8OYUXcMd5PGi5fO5BnZw32e0qMYcJZgH9MiBg==} hasBin: true + sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sonner@2.0.7: resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} peerDependencies: @@ -12301,6 +12758,9 @@ packages: spdx-license-ids@3.0.22: resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + split-ca@1.0.1: + resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} + split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} @@ -12318,6 +12778,10 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + ssh2@1.17.0: + resolution: {integrity: sha512-wPldCk3asibAjQ/kziWQQt1Wh3PgDFpC0XpwclzKcdT1vql6KeYxf5LIt4nlFkUeR8WuphYMKqUA56X4rjbfgQ==} + engines: {node: '>=10.16.0'} + stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -12339,6 +12803,10 @@ packages: standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + starknet@7.6.4: + resolution: {integrity: sha512-FB20IaLCDbh/XomkB+19f5jmNxG+RzNdRO7QUhm7nfH81UPIt2C/MyWAlHCYkbv2wznSEb73wpxbp9tytokTgQ==} + engines: {node: '>=22'} + starlight-openapi@0.22.0: resolution: {integrity: sha512-4H/fywAoTcvKbcv+xBr9LdrjMc5geDOSnydvzpiOxjxkHvI6g+7uPhWNCejnJPyZUd/MC1MI23tvYug85d/WzA==} engines: {node: '>=18.17.1'} @@ -12415,6 +12883,12 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -12544,6 +13018,16 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + tar-fs@1.16.6: + resolution: {integrity: sha512-JkOgFt3FxM/2v2CNpAVHqMW2QASjc/Hxo7IGfNd3MHaDYSW/sBFiS7YVmmhmr8x6vwN1VFQDQGdT2MWpmIuVKA==} + + tar-fs@2.1.4: + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} + + tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -12599,6 +13083,9 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} @@ -12633,6 +13120,10 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} + engines: {node: '>= 0.4'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -12683,6 +13174,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-mixer@6.0.4: + resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + ts-pattern@5.9.0: resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} @@ -12718,6 +13212,9 @@ packages: resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} engines: {node: '>= 6.0.0'} + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -12726,6 +13223,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -12776,6 +13277,9 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.53.1: resolution: {integrity: sha512-gB+EVQfP5RDElh9ittfXlhZJdjSU4jUSTyE2+ia8CYyNvet4ElfaLlAIqDvQV9JPknKx0jQH1racTYe/4LaLSg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12816,6 +13320,10 @@ packages: undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + undici@6.23.0: resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} engines: {node: '>=18.17'} @@ -13046,6 +13554,10 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + uuid@11.1.0: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true @@ -13502,6 +14014,11 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} @@ -13667,6 +14184,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@arbitrum/nitro-contracts@1.3.0': + dependencies: + '@offchainlabs/upgrade-executor': 1.1.0-beta.0 + '@openzeppelin/contracts': 4.5.0 + '@openzeppelin/contracts-upgradeable': 4.5.2 + patch-package: 6.5.1 + + '@arbitrum/nitro-contracts@3.0.0': + dependencies: + '@offchainlabs/upgrade-executor': 1.1.0-beta.0 + '@openzeppelin/contracts': 4.7.3 + '@openzeppelin/contracts-upgradeable': 4.7.3 + patch-package: 6.5.1 + solady: 0.0.182 + '@astrojs/compiler@2.13.0': {} '@astrojs/internal-helpers@0.7.5': {} @@ -14642,6 +15174,8 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@balena/dockerignore@1.0.2': {} + '@bcoe/v8-coverage@1.0.2': {} '@braintree/sanitize-url@7.1.1': {} @@ -14681,6 +15215,46 @@ snapshots: dependencies: fontkitten: 1.0.2 + '@chainlink/contracts-ccip@1.6.4(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + dependencies: + '@chainlink/contracts': 1.5.0(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@changesets/cli': 2.29.8(@types/node@25.0.9) + '@changesets/get-github-info': 0.6.0 + '@openzeppelin/contracts-4.8.3': '@openzeppelin/contracts@4.8.3' + '@openzeppelin/contracts-5.0.2': '@openzeppelin/contracts@5.0.2' + semver: 7.7.3 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - ethers + - supports-color + - utf-8-validate + + '@chainlink/contracts@1.5.0(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + dependencies: + '@arbitrum/nitro-contracts': 3.0.0 + '@changesets/cli': 2.29.8(@types/node@25.0.9) + '@changesets/get-github-info': 0.6.0 + '@eslint/eslintrc': 3.3.3 + '@eth-optimism/contracts': 0.6.0(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@openzeppelin/contracts-4.7.3': '@openzeppelin/contracts@4.7.3' + '@openzeppelin/contracts-4.8.3': '@openzeppelin/contracts@4.8.3' + '@openzeppelin/contracts-4.9.6': '@openzeppelin/contracts@4.9.6' + '@openzeppelin/contracts-5.0.2': '@openzeppelin/contracts@5.0.2' + '@openzeppelin/contracts-5.1.0': '@openzeppelin/contracts@5.1.0' + '@openzeppelin/contracts-upgradeable': 4.9.6 + '@scroll-tech/contracts': 2.0.0 + '@zksync/contracts': era-contracts@https://codeload.github.com/matter-labs/era-contracts/tar.gz/446d391d34bdb48255d5f8fef8a8248925fc98b9 + semver: 7.7.3 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - ethers + - supports-color + - utf-8-validate + '@changesets/apply-release-plan@7.0.14': dependencies: '@changesets/config': 3.1.2 @@ -14772,6 +15346,13 @@ snapshots: picocolors: 1.1.1 semver: 7.7.3 + '@changesets/get-github-info@0.6.0': + dependencies: + dataloader: 1.4.0 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + '@changesets/get-github-info@0.7.0': dependencies: dataloader: 1.4.0 @@ -14857,6 +15438,12 @@ snapshots: '@chevrotain/utils@11.1.1': {} + '@cosmjs/encoding@0.32.4': + dependencies: + base64-js: 1.5.1 + bech32: '@favware/skip-dependency@1.2.2' + readonly-date: 1.0.0 + '@craftzdog/react-native-buffer@6.1.1(react-native@0.81.5(@babel/core@7.28.6)(@types/react@19.1.17)(bufferutil@4.1.0)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: ieee754: 1.2.1 @@ -15625,29 +16212,59 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@ethersproject/abi@5.8.0': + '@eth-optimism/contracts@0.6.0(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': dependencies: + '@eth-optimism/core-utils': 0.12.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + ethers: 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@eth-optimism/core-utils@0.12.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/address': 5.8.0 '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/constants': 5.8.0 + '@ethersproject/contracts': 5.8.0 '@ethersproject/hash': 5.8.0 '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - optional: true + '@ethersproject/providers': 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@ethersproject/rlp': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/web': 5.8.0 + bufio: 1.2.3 + chai: 4.5.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@ethersproject/abstract-provider@5.8.0': + '@ethersproject/abi@5.8.0': dependencies: + '@ethersproject/address': 5.8.0 '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/abstract-provider@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/networks': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/web': 5.8.0 - optional: true '@ethersproject/abstract-signer@5.8.0': dependencies: @@ -15656,7 +16273,14 @@ snapshots: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 - optional: true + + '@ethersproject/address@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/rlp': 5.8.0 '@ethersproject/address@5.8.0': dependencies: @@ -15665,35 +16289,29 @@ snapshots: '@ethersproject/keccak256': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/rlp': 5.8.0 - optional: true '@ethersproject/base64@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 - optional: true '@ethersproject/basex@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/properties': 5.8.0 - optional: true '@ethersproject/bignumber@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 bn.js: 5.2.3 - optional: true '@ethersproject/bytes@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/constants@5.8.0': dependencies: '@ethersproject/bignumber': 5.8.0 - optional: true '@ethersproject/contracts@5.8.0': dependencies: @@ -15707,7 +16325,6 @@ snapshots: '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/transactions': 5.8.0 - optional: true '@ethersproject/hash@5.8.0': dependencies: @@ -15720,7 +16337,6 @@ snapshots: '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - optional: true '@ethersproject/hdnode@5.8.0': dependencies: @@ -15736,7 +16352,6 @@ snapshots: '@ethersproject/strings': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wordlists': 5.8.0 - optional: true '@ethersproject/json-wallets@5.8.0': dependencies: @@ -15753,32 +16368,26 @@ snapshots: '@ethersproject/transactions': 5.8.0 aes-js: 3.0.0 scrypt-js: 3.0.1 - optional: true '@ethersproject/keccak256@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 js-sha3: 0.8.0 - optional: true - '@ethersproject/logger@5.8.0': - optional: true + '@ethersproject/logger@5.8.0': {} '@ethersproject/networks@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/pbkdf2@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/sha2': 5.8.0 - optional: true '@ethersproject/properties@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': dependencies: @@ -15805,26 +16414,22 @@ snapshots: transitivePeerDependencies: - bufferutil - utf-8-validate - optional: true '@ethersproject/random@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/rlp@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/sha2@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 hash.js: 1.1.7 - optional: true '@ethersproject/signing-key@5.8.0': dependencies: @@ -15834,14 +16439,21 @@ snapshots: bn.js: 5.2.3 elliptic: 6.6.1 hash.js: 1.1.7 - optional: true + + '@ethersproject/solidity@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/strings@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/constants': 5.8.0 '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/transactions@5.8.0': dependencies: @@ -15854,14 +16466,12 @@ snapshots: '@ethersproject/properties': 5.8.0 '@ethersproject/rlp': 5.8.0 '@ethersproject/signing-key': 5.8.0 - optional: true '@ethersproject/units@5.8.0': dependencies: '@ethersproject/bignumber': 5.8.0 '@ethersproject/constants': 5.8.0 '@ethersproject/logger': 5.8.0 - optional: true '@ethersproject/wallet@5.8.0': dependencies: @@ -15880,7 +16490,6 @@ snapshots: '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wordlists': 5.8.0 - optional: true '@ethersproject/web@5.8.0': dependencies: @@ -15889,7 +16498,6 @@ snapshots: '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - optional: true '@ethersproject/wordlists@5.8.0': dependencies: @@ -15898,7 +16506,6 @@ snapshots: '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - optional: true '@exactly/lib@0.1.0': {} @@ -16313,6 +16920,8 @@ snapshots: typescript: 5.9.3 zod: 3.25.76 + '@fastify/busboy@2.1.1': {} + '@favware/skip-dependency@1.2.2': {} '@floating-ui/core@1.7.3': @@ -16346,6 +16955,25 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@grpc/grpc-js@1.14.3': + dependencies: + '@grpc/proto-loader': 0.8.0 + '@js-sdsl/ordered-map': 4.4.2 + + '@grpc/proto-loader@0.7.15': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.4 + yargs: 17.7.2 + + '@grpc/proto-loader@0.8.0': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.4 + yargs: 17.7.2 + '@hapi/address@5.1.1': dependencies: '@hapi/hoek': 11.0.7 @@ -16399,6 +17027,44 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@hyperlane-xyz/core@9.0.17(@ethersproject/abi@5.8.0)(@ethersproject/providers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + dependencies: + '@arbitrum/nitro-contracts': 1.3.0 + '@chainlink/contracts-ccip': 1.6.4(@types/node@25.0.9)(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@eth-optimism/contracts': 0.6.0(bufferutil@4.1.0)(ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@ethersproject/abi': 5.8.0 + '@ethersproject/providers': 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@hyperlane-xyz/utils': 19.5.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@matterlabs/hardhat-zksync-solc': 1.2.5 + '@matterlabs/hardhat-zksync-verify': 1.7.1 + '@openzeppelin/contracts': 4.9.6 + '@openzeppelin/contracts-upgradeable': 4.9.6 + transitivePeerDependencies: + - '@google-cloud/pino-logging-gcp-config' + - '@types/node' + - bufferutil + - encoding + - ethers + - hardhat + - pino-pretty + - supports-color + - utf-8-validate + + '@hyperlane-xyz/utils@19.5.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': + dependencies: + '@cosmjs/encoding': 0.32.4 + '@solana/web3.js': '@favware/skip-dependency@1.2.2' + bech32: '@favware/skip-dependency@1.2.2' + bignumber.js: 9.3.1 + ethers: 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + lodash-es: 4.17.23 + pino: 8.21.0 + starknet: 7.6.4 + yaml: 2.4.5 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@iconify/types@2.0.0': {} '@iconify/utils@3.1.0': @@ -16713,6 +17379,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@js-sdsl/ordered-map@4.4.2': {} + '@jsdevtools/ono@7.1.3': {} '@levischuck/tiny-cbor@0.2.11': {} @@ -16767,6 +17435,41 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 + '@matterlabs/hardhat-zksync-solc@1.2.5': + dependencies: + '@nomiclabs/hardhat-docker': 2.0.2 + chai: 4.5.0 + chalk: 4.1.2 + debug: 4.4.3 + dockerode: 4.0.9 + fs-extra: 11.3.3 + proper-lockfile: 4.1.2 + semver: 7.7.3 + sinon: 18.0.1 + sinon-chai: 3.7.0(chai@4.5.0)(sinon@18.0.1) + undici: 6.23.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@matterlabs/hardhat-zksync-verify@1.7.1': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.7.0 + '@matterlabs/hardhat-zksync-solc': 1.2.5 + '@nomicfoundation/hardhat-verify': 2.1.3 + axios: 1.13.5(debug@4.4.3) + cbor: 9.0.2 + chai: 4.5.0 + chalk: 4.1.2 + debug: 4.4.3 + semver: 7.7.3 + sinon: 18.0.1 + sinon-chai: 3.7.0(chai@4.5.0)(sinon@18.0.1) + transitivePeerDependencies: + - encoding + - supports-color + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 @@ -16900,6 +17603,10 @@ snapshots: '@noble/ciphers@1.3.0': {} + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + '@noble/curves@1.9.1': dependencies: '@noble/hashes': 1.8.0 @@ -16912,6 +17619,8 @@ snapshots: dependencies: '@noble/hashes': 2.0.1 + '@noble/hashes@1.6.0': {} + '@noble/hashes@1.8.0': {} '@noble/hashes@2.0.1': {} @@ -16928,6 +17637,29 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@nomicfoundation/hardhat-verify@2.1.3': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + cbor: 8.1.0 + debug: 4.4.3 + lodash.clonedeep: 4.5.0 + picocolors: 1.1.1 + semver: 6.3.1 + table: 6.9.0 + undici: 5.29.0 + transitivePeerDependencies: + - supports-color + + '@nomiclabs/hardhat-docker@2.0.2': + dependencies: + dockerode: 2.5.8 + fs-extra: 7.0.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + - supports-color + '@nx/devkit@22.4.5(nx@22.4.5)': dependencies: '@zkochan/js-yaml': 0.0.7 @@ -17086,6 +17818,11 @@ snapshots: - '@swc/core' - debug + '@offchainlabs/upgrade-executor@1.1.0-beta.0': + dependencies: + '@openzeppelin/contracts': 4.7.3 + '@openzeppelin/contracts-upgradeable': 4.7.3 + '@onesignal/node-onesignal@5.3.1-beta1': dependencies: btoa: 1.2.1 @@ -17329,14 +18066,28 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@openzeppelin/contracts-upgradeable@4.5.2': {} + + '@openzeppelin/contracts-upgradeable@4.7.3': {} + '@openzeppelin/contracts-upgradeable@4.9.6': {} '@openzeppelin/contracts-upgradeable@5.4.0(@openzeppelin/contracts@5.4.0)': dependencies: '@openzeppelin/contracts': 5.4.0 + '@openzeppelin/contracts@4.5.0': {} + + '@openzeppelin/contracts@4.7.3': {} + + '@openzeppelin/contracts@4.8.3': {} + '@openzeppelin/contracts@4.9.6': {} + '@openzeppelin/contracts@5.0.2': {} + + '@openzeppelin/contracts@5.1.0': {} + '@openzeppelin/contracts@5.4.0': {} '@oslojs/encoding@1.1.0': {} @@ -17523,6 +18274,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-collection@1.1.7(@types/react@19.1.17)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': @@ -18166,6 +18940,10 @@ snapshots: '@rtsao/scc@1.1.0': {} + '@scroll-tech/contracts@2.0.0': {} + + '@scure/base@1.2.1': {} + '@scure/base@1.2.6': {} '@scure/bip32@1.7.0': @@ -18179,6 +18957,11 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 + '@scure/starknet@1.1.0': + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.0 + '@sec-ant/readable-stream@0.4.1': {} '@segment/analytics-core@1.8.0': @@ -18564,6 +19347,19 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers@11.2.2': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@sinonjs/fake-timers@15.1.1': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@sinonjs/samsam@8.0.3': + dependencies: + '@sinonjs/commons': 3.0.1 + type-detect: 4.1.0 + '@solidity-parser/parser@0.20.2': {} '@spotlightjs/spotlight@4.10.0(hono-rate-limiter@0.4.2(hono@4.12.2))': @@ -18593,6 +19389,10 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@starknet-io/types-js@0.7.10': {} + + '@starknet-io/types-js@0.8.4': {} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.6)': dependencies: '@babel/core': 7.28.6 @@ -20606,6 +21406,18 @@ snapshots: dependencies: argparse: 2.0.1 + JSONStream@1.3.2: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abi-wan-kanabi@2.2.4: + dependencies: + ansicolors: 0.3.2 + cardinal: 2.1.1 + fs-extra: 10.1.0 + yargs: 17.7.2 + abitype@0.8.11(typescript@5.9.3)(zod@3.25.76): dependencies: typescript: 5.9.3 @@ -20667,8 +21479,7 @@ snapshots: address@1.2.2: {} - aes-js@3.0.0: - optional: true + aes-js@3.0.0: {} agent-base@6.0.2: dependencies: @@ -20760,6 +21571,8 @@ snapshots: ansi-styles@6.2.3: {} + ansicolors@0.3.2: {} + antlr4@4.13.2: {} any-promise@1.3.0: {} @@ -20866,12 +21679,18 @@ snapshots: asap@2.0.6: {} + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + asn1js@3.0.7: dependencies: pvtsutils: 1.3.6 pvutils: 1.1.5 tslib: 2.8.1 + assertion-error@1.1.0: {} + assertion-error@2.0.1: {} ast-parents@0.0.1: {} @@ -21041,6 +21860,8 @@ snapshots: at-least-node@1.0.0: {} + atomic-sleep@1.0.0: {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -21255,6 +22076,10 @@ snapshots: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + better-ajv-errors@2.0.3(ajv@6.14.0): dependencies: '@babel/code-frame': 7.28.6 @@ -21278,16 +22103,22 @@ snapshots: big-integer@1.6.52: {} + bignumber.js@9.3.1: {} + birecord@0.1.1: {} + bl@1.2.3: + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - bn.js@5.2.3: - optional: true + bn.js@5.2.3: {} body-parser@2.2.2: dependencies: @@ -21345,8 +22176,7 @@ snapshots: dependencies: fill-range: 7.1.1 - brorand@1.1.0: - optional: true + brorand@1.1.0: {} brotli@1.3.3: dependencies: @@ -21375,6 +22205,15 @@ snapshots: once: 1.4.0 sliced: 1.0.1 + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + + buffer-fill@1.0.0: {} + buffer-from@1.1.2: {} buffer@5.7.1: @@ -21392,6 +22231,11 @@ snapshots: node-gyp-build: 4.8.4 optional: true + bufio@1.2.3: {} + + buildcheck@0.0.7: + optional: true + builtin-modules@5.0.0: {} bullmq@5.66.5: @@ -21474,8 +22318,31 @@ snapshots: caniuse-lite@1.0.30001765: {} + cardinal@2.1.1: + dependencies: + ansicolors: 0.3.2 + redeyed: 2.1.1 + + cbor@8.1.0: + dependencies: + nofilter: 3.1.0 + + cbor@9.0.2: + dependencies: + nofilter: 3.1.0 + ccount@2.0.1: {} + chai@4.5.0: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.4 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.1.0 + chai@6.2.2: {} chalk-template@1.1.2: @@ -21519,6 +22386,10 @@ snapshots: table: 6.9.0 type-fest: 4.41.0 + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + chevrotain-allstar@0.3.1(chevrotain@11.1.1): dependencies: chevrotain: 11.1.1 @@ -21541,6 +22412,8 @@ snapshots: dependencies: readdirp: 5.0.0 + chownr@1.1.4: {} + chownr@3.0.0: {} chrome-launcher@0.15.2: @@ -21705,6 +22578,13 @@ snapshots: concat-map@0.0.1: {} + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + confbox@0.1.8: {} config-chain@1.1.13: @@ -21782,6 +22662,12 @@ snapshots: optionalDependencies: typescript: 5.9.3 + cpu-features@0.0.10: + dependencies: + buildcheck: 0.0.7 + nan: 2.25.0 + optional: true + crc@4.3.2(buffer@6.0.3): optionalDependencies: buffer: 6.0.3 @@ -22196,6 +23082,10 @@ snapshots: dedent@0.7.0: {} + deep-eql@4.1.4: + dependencies: + type-detect: 4.1.0 + deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -22267,6 +23157,8 @@ snapshots: diacritics@1.3.0: {} + diff@5.2.2: {} + diff@8.0.3: {} dijkstrajs@1.0.3: {} @@ -22279,6 +23171,44 @@ snapshots: dlv@1.1.3: {} + docker-modem@1.0.9: + dependencies: + JSONStream: 1.3.2 + debug: 3.2.7 + readable-stream: 1.0.34 + split-ca: 1.0.1 + transitivePeerDependencies: + - supports-color + + docker-modem@5.0.6: + dependencies: + debug: 4.4.3 + readable-stream: 3.6.2 + split-ca: 1.0.1 + ssh2: 1.17.0 + transitivePeerDependencies: + - supports-color + + dockerode@2.5.8: + dependencies: + concat-stream: 1.6.2 + docker-modem: 1.0.9 + tar-fs: 1.16.6 + transitivePeerDependencies: + - supports-color + + dockerode@4.0.9: + dependencies: + '@balena/dockerignore': 1.0.2 + '@grpc/grpc-js': 1.14.3 + '@grpc/proto-loader': 0.7.15 + docker-modem: 5.0.6 + protobufjs: 7.5.4 + tar-fs: 2.1.4 + uuid: 10.0.0 + transitivePeerDependencies: + - supports-color + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -22372,7 +23302,6 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - optional: true embedded-postgres@18.1.0-beta.15(patch_hash=cb5e37525b1810f2af136570b38d5e0cec4cc2455408896ed1943d27f3f61b38): dependencies: @@ -22428,6 +23357,8 @@ snapshots: env-paths@3.0.0: {} + era-contracts@https://codeload.github.com/matter-labs/era-contracts/tar.gz/446d391d34bdb48255d5f8fef8a8248925fc98b9: {} + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -23264,6 +24195,42 @@ snapshots: etag@1.8.1: {} + ethers@5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/basex': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/contracts': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/hdnode': 5.8.0 + '@ethersproject/json-wallets': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/pbkdf2': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/providers': 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + '@ethersproject/random': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + '@ethersproject/solidity': 5.8.0 + '@ethersproject/strings': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/units': 5.8.0 + '@ethersproject/wallet': 5.8.0 + '@ethersproject/web': 5.8.0 + '@ethersproject/wordlists': 5.8.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + event-emitter@0.3.5: dependencies: d: 1.0.2 @@ -23679,6 +24646,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-redact@3.5.0: {} + fast-text-encoding@1.0.6: {} fast-uri@3.1.0: {} @@ -23804,6 +24773,10 @@ snapshots: find-value@1.0.13: {} + find-yarn-workspace-root@2.0.0: + dependencies: + micromatch: 4.0.8 + flat-cache@4.0.1: dependencies: flatted: 3.3.3 @@ -23910,6 +24883,12 @@ snapshots: fs-constants@1.0.0: {} + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + fs-extra@11.3.3: dependencies: graceful-fs: 4.2.11 @@ -23974,6 +24953,8 @@ snapshots: get-east-asian-width@1.4.0: {} + get-func-name@2.0.2: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -24181,7 +25162,6 @@ snapshots: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - optional: true hasown@2.0.2: dependencies: @@ -24401,7 +25381,6 @@ snapshots: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - optional: true hoist-non-react-statics@3.3.2: dependencies: @@ -24668,6 +25647,10 @@ snapshots: is-callable@1.2.7: {} + is-ci@2.0.0: + dependencies: + ci-info: 2.0.0 + is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -24824,6 +25807,10 @@ snapshots: dependencies: is-inside-container: 1.0.0 + isarray@0.0.1: {} + + isarray@1.0.0: {} + isarray@2.0.5: {} isexe@2.0.0: {} @@ -24993,8 +25980,7 @@ snapshots: js-cookie@3.0.1: {} - js-sha3@0.8.0: - optional: true + js-sha3@0.8.0: {} js-tokens@4.0.0: {} @@ -25063,6 +26049,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + jsonpointer@5.0.1: {} jsx-ast-utils@3.3.5: @@ -25072,6 +26060,8 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 + just-extend@6.2.0: {} + katex@0.16.27: dependencies: commander: 8.3.0 @@ -25082,6 +26072,10 @@ snapshots: khroma@2.1.0: {} + klaw-sync@6.0.0: + dependencies: + graceful-fs: 4.2.11 + kleur@3.0.3: {} klona@2.0.6: {} @@ -25224,6 +26218,10 @@ snapshots: lodash._basefor: 3.0.3 lodash.keysin: 3.0.8 + lodash.camelcase@4.3.0: {} + + lodash.clonedeep@4.5.0: {} + lodash.debounce@4.0.8: {} lodash.defaults@4.2.0: {} @@ -25273,12 +26271,20 @@ snapshots: split: 0.2.10 through: 2.3.8 + long@5.3.2: {} + longest-streak@3.1.0: {} loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 + lossless-json@4.3.0: {} + + loupe@2.3.7: + dependencies: + get-func-name: 2.0.2 + lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -26291,11 +27297,9 @@ snapshots: mimic-response@4.0.0: {} - minimalistic-assert@1.0.1: - optional: true + minimalistic-assert@1.0.1: {} - minimalistic-crypto-utils@1.0.1: - optional: true + minimalistic-crypto-utils@1.0.1: {} minimatch@10.2.4: dependencies: @@ -26331,6 +27335,12 @@ snapshots: optionalDependencies: typescript: 5.9.3 + mkdirp-classic@0.5.3: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@1.0.4: {} mlly@1.8.0: @@ -26388,6 +27398,9 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nan@2.25.0: + optional: true + nanoid@3.3.11: {} nanospinner@1.2.2: @@ -26419,6 +27432,13 @@ snapshots: nice-try@1.0.5: {} + nise@6.1.3: + dependencies: + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 15.1.1 + just-extend: 6.2.0 + path-to-regexp: 8.3.0 + nlcst-to-string@4.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -26458,6 +27478,8 @@ snapshots: node-releases@2.0.27: {} + nofilter@3.1.0: {} + normalize-path@3.0.0: {} normalize-svg-path@1.1.0: @@ -26610,6 +27632,8 @@ snapshots: ohash@2.0.11: {} + on-exit-leak-free@2.1.2: {} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 @@ -26808,6 +27832,8 @@ snapshots: pako@1.0.11: {} + pako@2.1.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -26867,6 +27893,23 @@ snapshots: parseurl@1.3.3: {} + patch-package@6.5.1: + dependencies: + '@yarnpkg/lockfile': 1.1.0 + chalk: 4.1.2 + cross-spawn: 6.0.6 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.0.0 + is-ci: 2.0.0 + klaw-sync: 6.0.0 + minimist: 1.2.8 + open: 7.4.2 + rimraf: 2.7.1 + semver: 5.7.2 + slash: 2.0.0 + tmp: 0.2.5 + yaml: 1.10.2 + path-data-parser@0.1.0: {} path-dirname@1.0.2: {} @@ -26903,6 +27946,8 @@ snapshots: pathe@2.0.3: {} + pathval@1.1.1: {} + persona@5.5.0: dependencies: lodash.kebabcase: 4.1.1 @@ -26957,6 +28002,27 @@ snapshots: pify@4.0.1: {} + pino-abstract-transport@1.2.0: + dependencies: + readable-stream: 4.7.0 + split2: 4.2.0 + + pino-std-serializers@6.2.2: {} + + pino@8.21.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.2.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 3.8.1 + thread-stream: 2.7.0 + pirates@4.0.7: {} pkce-challenge@5.0.1: {} @@ -27092,6 +28158,10 @@ snapshots: proc-log@4.2.0: {} + process-nextick-args@2.0.1: {} + + process-warning@3.0.0: {} + process@0.11.10: {} progress@2.0.3: {} @@ -27126,10 +28196,31 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + property-information@7.1.0: {} proto-list@1.2.4: {} + protobufjs@7.5.4: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 25.0.9 + long: 5.3.2 + protolint@0.56.4: dependencies: got: 12.6.1 @@ -27150,6 +28241,16 @@ snapshots: proxy-from-env@1.1.0: {} + pump@1.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -27189,6 +28290,8 @@ snapshots: dependencies: inherits: 2.0.4 + quick-format-unescaped@4.0.4: {} + quick-lru@5.1.1: {} r-json@1.3.1: @@ -27482,6 +28585,23 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readable-stream@1.0.34: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -27502,6 +28622,10 @@ snapshots: readline-sync@1.4.10: {} + readonly-date@1.0.0: {} + + real-require@0.2.0: {} + recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -27531,6 +28655,10 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + redeyed@2.1.1: + dependencies: + esprima: 4.0.1 + redis-errors@1.2.0: {} redis-parser@3.0.0: @@ -27820,8 +28948,14 @@ snapshots: retext-stringify: 4.0.0 unified: 11.0.5 + retry@0.12.0: {} + reusify@1.1.0: {} + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -27907,6 +29041,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safe-push-apply@1.0.0: @@ -27924,6 +29060,8 @@ snapshots: dependencies: regexp-tree: 0.1.27 + safe-stable-stringify@2.5.0: {} + safer-buffer@2.1.2: {} sax@1.4.4: {} @@ -27932,8 +29070,7 @@ snapshots: scheduler@0.26.0: {} - scrypt-js@3.0.1: - optional: true + scrypt-js@3.0.1: {} scslre@0.3.0: dependencies: @@ -28184,6 +29321,20 @@ snapshots: dependencies: is-arrayish: 0.3.4 + sinon-chai@3.7.0(chai@4.5.0)(sinon@18.0.1): + dependencies: + chai: 4.5.0 + sinon: 18.0.1 + + sinon@18.0.1: + dependencies: + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 11.2.2 + '@sinonjs/samsam': 8.0.3 + diff: 5.2.2 + nise: 6.1.3 + supports-color: 7.2.0 + sirv@3.0.2: dependencies: '@polka/url': 1.0.0-next.29 @@ -28199,6 +29350,8 @@ snapshots: arg: 5.0.2 sax: 1.4.4 + slash@2.0.0: {} + slash@3.0.0: {} slash@4.0.0: {} @@ -28222,6 +29375,8 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 + solady@0.0.182: {} + solady@0.1.26: {} solhint@6.0.2(typescript@5.9.3): @@ -28250,6 +29405,10 @@ snapshots: transitivePeerDependencies: - typescript + sonic-boom@3.8.1: + dependencies: + atomic-sleep: 1.0.0 + sonner@2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 @@ -28289,6 +29448,8 @@ snapshots: spdx-license-ids@3.0.22: {} + split-ca@1.0.1: {} + split-on-first@1.1.0: {} split2@4.2.0: {} @@ -28301,6 +29462,14 @@ snapshots: sprintf-js@1.1.3: {} + ssh2@1.17.0: + dependencies: + asn1: 0.2.6 + bcrypt-pbkdf: 1.0.2 + optionalDependencies: + cpu-features: 0.0.10 + nan: 2.25.0 + stable-hash-x@0.2.0: {} stack-utils@2.0.6: @@ -28317,6 +29486,19 @@ snapshots: standard-as-callback@2.1.0: {} + starknet@7.6.4: + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.0 + '@scure/base': 1.2.1 + '@scure/starknet': 1.1.0 + '@starknet-io/starknet-types-07': '@starknet-io/types-js@0.7.10' + '@starknet-io/starknet-types-08': '@starknet-io/types-js@0.8.4' + abi-wan-kanabi: 2.2.4 + lossless-json: 4.3.0 + pako: 2.1.0 + ts-mixer: 6.0.4 + starlight-openapi@0.22.0(@astrojs/markdown-remark@6.3.10)(@astrojs/starlight@0.37.6(astro@5.17.3(@types/node@25.0.9)(ioredis@5.9.2)(lightningcss@1.30.2)(rollup@4.59.0)(terser@5.46.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)))(astro@5.17.3(@types/node@25.0.9)(ioredis@5.9.2)(lightningcss@1.30.2)(rollup@4.59.0)(terser@5.46.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(openapi-types@12.1.3): dependencies: '@astrojs/markdown-remark': 6.3.10 @@ -28420,6 +29602,12 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 + string_decoder@0.10.31: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -28609,6 +29797,30 @@ snapshots: tapable@2.3.0: {} + tar-fs@1.16.6: + dependencies: + chownr: 1.1.4 + mkdirp: 0.5.6 + pump: 1.0.3 + tar-stream: 1.6.2 + + tar-fs@2.1.4: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.4 + tar-stream: 2.2.0 + + tar-stream@1.6.2: + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.5 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.2.2 + xtend: 4.0.2 + tar-stream@2.2.0: dependencies: bl: 4.1.0 @@ -28674,6 +29886,10 @@ snapshots: dependencies: any-promise: 1.3.0 + thread-stream@2.7.0: + dependencies: + real-require: 0.2.0 + throat@5.0.0: {} through@2.3.8: {} @@ -28697,6 +29913,12 @@ snapshots: tmpl@1.0.5: {} + to-buffer@1.2.2: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -28737,6 +29959,8 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-mixer@6.0.4: {} + ts-pattern@5.9.0: {} tsconfck@3.1.6(typescript@5.9.3): @@ -28771,12 +29995,16 @@ snapshots: dependencies: tslib: 1.14.1 + tweetnacl@0.14.5: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 type-detect@4.0.8: {} + type-detect@4.1.0: {} + type-fest@0.21.3: {} type-fest@0.3.1: {} @@ -28836,6 +30064,8 @@ snapshots: is-typedarray: 1.0.0 optional: true + typedarray@0.0.6: {} + typescript-eslint@8.53.1(eslint@9.39.2)(typescript@5.9.3): dependencies: '@typescript-eslint/eslint-plugin': 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) @@ -28870,6 +30100,10 @@ snapshots: undici-types@7.16.0: {} + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + undici@6.23.0: {} unfetch@3.1.2: {} @@ -29079,6 +30313,8 @@ snapshots: utils-merge@1.0.1: {} + uuid@10.0.0: {} + uuid@11.1.0: {} uuid@7.0.3: {} @@ -29441,7 +30677,6 @@ snapshots: optionalDependencies: bufferutil: 4.1.0 utf-8-validate: 5.0.10 - optional: true ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10): optionalDependencies: @@ -29486,6 +30721,8 @@ snapshots: yaml@1.10.2: {} + yaml@2.4.5: {} + yaml@2.8.2: {} yargs-parser@18.1.3: From f3c7401aedbc3421eb591c0126b4daa882a9a6dc Mon Sep 17 00:00:00 2001 From: itofarina Date: Mon, 2 Mar 2026 17:52:15 -0300 Subject: [PATCH 4/6] =?UTF-8?q?=F0=9F=94=A7=20cspell:=20ignore=20hyperlane?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cspell.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cspell.json b/cspell.json index 6877550ca..8cfb0d2b7 100644 --- a/cspell.json +++ b/cspell.json @@ -78,6 +78,7 @@ "hexlify", "hideable", "hono", + "hyperlane", "IBMPlexMono-Medm", "IERC", "indoc", @@ -187,6 +188,7 @@ "worklet", "worklets", "xcrun", + "XERC", "xhdpi", "xxhdpi", "xxxhdpi", From df40d747ae13f4c76aef9afdf0989be6db486483 Mon Sep 17 00:00:00 2001 From: itofarina Date: Tue, 3 Mar 2026 14:42:06 -0300 Subject: [PATCH 5/6] =?UTF-8?q?=F0=9F=94=A8=20contracts:=20add=20hyperlane?= =?UTF-8?q?=20router=20deployment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/beige-sails-worry.md | 2 + contracts/.gas-snapshot | 39 ++++++----- contracts/deploy.json | 4 ++ contracts/script/Redeployer.s.sol | 52 +++++++++++++- contracts/test/HypEXA.t.sol | 111 ++++++++++++++++++++++++++++++ 5 files changed, 189 insertions(+), 19 deletions(-) create mode 100644 .changeset/beige-sails-worry.md create mode 100644 contracts/test/HypEXA.t.sol diff --git a/.changeset/beige-sails-worry.md b/.changeset/beige-sails-worry.md new file mode 100644 index 000000000..a49ba4844 --- /dev/null +++ b/.changeset/beige-sails-worry.md @@ -0,0 +1,2 @@ +--- +--- \ No newline at end of file diff --git a/contracts/.gas-snapshot b/contracts/.gas-snapshot index 5944f4ceb..58095bd97 100644 --- a/contracts/.gas-snapshot +++ b/contracts/.gas-snapshot @@ -1,11 +1,11 @@ -ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5865857, ~: 5360703) +ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5915191, ~: 5447138) ExaAccountFactoryTest:test_deploy_deploysToSameAddress() (gas: 13989314) -ExaPluginTest:testFork_claimAndVestEscrowedEXA_claimsAndVests() (gas: 38664724) -ExaPluginTest:testFork_collectCollateral_collects() (gas: 32167249) -ExaPluginTest:testFork_crossRepay_repays() (gas: 33988652) -ExaPluginTest:testFork_repay_whenFlashLoanerHasFees() (gas: 25624949) -ExaPluginTest:testFork_stakeEXA_stakes() (gas: 32744199) -ExaPluginTest:testFork_swap_swaps() (gas: 28109827) +ExaPluginTest:testFork_claimAndVestEscrowedEXA_claimsAndVests() (gas: 38670955) +ExaPluginTest:testFork_collectCollateral_collects() (gas: 32173077) +ExaPluginTest:testFork_crossRepay_repays() (gas: 33994480) +ExaPluginTest:testFork_repay_whenFlashLoanerHasFees() (gas: 25627346) +ExaPluginTest:testFork_stakeEXA_stakes() (gas: 32750198) +ExaPluginTest:testFork_swap_swaps() (gas: 28115123) ExaPluginTest:test_allowPlugin_emitsPluginAllowed() (gas: 58464) ExaPluginTest:test_allowPlugin_reverts_whenAddressZero() (gas: 32411) ExaPluginTest:test_allowPlugin_reverts_whenNotAdmin() (gas: 40964) @@ -32,12 +32,12 @@ ExaPluginTest:test_collectCredit_collects_whenHealthFactorHigherThanOne() (gas: ExaPluginTest:test_collectCredit_collects_whenProposalCausesInsufficientLiquidity() (gas: 1064982) ExaPluginTest:test_collectCredit_collects_whenProposalLeavesHealthFactorLowerThanOne() (gas: 1055379) ExaPluginTest:test_collectCredit_collects_withEnoughSlippage() (gas: 782246) -ExaPluginTest:test_collectCredit_collects_withPrevIssuerSignature() (gas: 986021) +ExaPluginTest:test_collectCredit_collects_withPrevIssuerSignature() (gas: 986135) ExaPluginTest:test_collectCredit_passes_whenProposalLeavesEnoughLiquidity() (gas: 1082579) ExaPluginTest:test_collectCredit_reverts_asNotKeeper() (gas: 342148) ExaPluginTest:test_collectCredit_reverts_whenDisagreement() (gas: 538817) ExaPluginTest:test_collectCredit_reverts_whenExpired() (gas: 352767) -ExaPluginTest:test_collectCredit_reverts_whenPrevSignatureNotValidAnymore() (gas: 482934) +ExaPluginTest:test_collectCredit_reverts_whenPrevSignatureNotValidAnymore() (gas: 483048) ExaPluginTest:test_collectCredit_reverts_whenReplay() (gas: 825827) ExaPluginTest:test_collectCredit_reverts_whenTimelocked() (gas: 334568) ExaPluginTest:test_collectCredit_toleratesTimeDrift() (gas: 798846) @@ -58,7 +58,7 @@ ExaPluginTest:test_collectInstallments_reverts_whenTimelocked() (gas: 336703) ExaPluginTest:test_collectInstallments_toleratesTimeDrift() (gas: 1161587) ExaPluginTest:test_collect_collects_whenProposalsLeaveNoLiquidity() (gas: 1783636) ExaPluginTest:test_collect_collects_whenTooMuchProposedDebt() (gas: 1923835) -ExaPluginTest:test_crossRepay_avoidsFrozenDeposit() (gas: 981381) +ExaPluginTest:test_crossRepay_avoidsFrozenDeposit() (gas: 981494) ExaPluginTest:test_crossRepay_avoidsZeroSharesDeposit() (gas: 1394086) ExaPluginTest:test_crossRepay_consumesProposal() (gas: 2205189) ExaPluginTest:test_crossRepay_repays() (gas: 2268979) @@ -202,6 +202,9 @@ ExaPreviewerTest:test_collect_reverts_whenProposalsLeaveNoLiquidity() (gas: 1437 ExaPreviewerTest:test_markets_returnsMarkets() (gas: 150447) ExaPreviewerTest:test_pendingProposals_returnsPendingProposals() (gas: 1984093) ExaPreviewerTest:test_utilizations_returns() (gas: 134922) +HypEXATest:test_handle_reverts_withoutBridgeRole() (gas: 122474) +HypEXATest:test_roundTrip_opToBaseToOp() (gas: 1046501) +HypEXATest:test_transferRemote_reverts_withoutBridgeRole() (gas: 230258) IssuerCheckerTest:test_setIssuer_emits_IssuerSet() (gas: 82935) IssuerCheckerTest:test_setIssuer_reverts_whenNotAdmin() (gas: 43708) IssuerCheckerTest:test_setIssuer_reverts_whenZeroAddress() (gas: 35130) @@ -212,14 +215,14 @@ IssuerCheckerTest:test_setPrevIssuerWindow_emits_PrevIssuerWindowSet() (gas: 526 IssuerCheckerTest:test_setPrevIssuerWindow_reverts_whenNotAdmin() (gas: 45548) MockSwapperTest:test_swapExactAmountIn_swaps() (gas: 269807) MockSwapperTest:test_swapExactAmountOut_swaps() (gas: 269803) -RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 56727277) -RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onEthereum() (gas: 273369114) -RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onPolygon() (gas: 368043624) -RedeployerTest:test_deployExaFactory_deploysViaCreate3AtSameAddress_onPolygon() (gas: 45014545) -RedeployerTest:test_prepare_reverts_whenAdminIsDeployer() (gas: 28800535) -RedeployerTest:test_recoversNativeETHOnPolygon() (gas: 45185670) -RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 39600675) -RedeployerTest:test_run_reverts_whenTargetNonceTooLow() (gas: 29265310) +RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 60017846) +RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onEthereum() (gas: 276635694) +RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onPolygon() (gas: 371309826) +RedeployerTest:test_deployExaFactory_deploysViaCreate3AtSameAddress_onPolygon() (gas: 48280197) +RedeployerTest:test_prepare_reverts_whenAdminIsDeployer() (gas: 32065962) +RedeployerTest:test_recoversNativeETHOnPolygon() (gas: 48451370) +RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 42900506) +RedeployerTest:test_run_reverts_whenTargetNonceTooLow() (gas: 32530807) RefunderTest:test_refund_refunds() (gas: 263363) RefunderTest:test_refund_reverts_whenExpired() (gas: 88359) RefunderTest:test_refund_reverts_whenNotKeeper() (gas: 68861) diff --git a/contracts/deploy.json b/contracts/deploy.json index 1376c4a05..6c0e8f2be 100644 --- a/contracts/deploy.json +++ b/contracts/deploy.json @@ -38,6 +38,10 @@ "84532": "0xE4F8C9904a79EBd88Ff73ed3F86a3CFd1b489eDf", "11155420": "0x3E2D4b69C52932CB5b2a9Ee744CB585bb201c771", "default": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE" + }, + "mailbox": { + "10": "0xd4C1905BB1D26BC93DAC913e13CaCC278CdCC80D", + "8453": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" } }, "issuerChecker": { "operationExpiry": 4838400, "prevIssuerWindow": 4838400 }, diff --git a/contracts/script/Redeployer.s.sol b/contracts/script/Redeployer.s.sol index 5f65e72f1..abe01081e 100644 --- a/contracts/script/Redeployer.s.sol +++ b/contracts/script/Redeployer.s.sol @@ -16,6 +16,9 @@ import { WebauthnOwnerPlugin } from "webauthn-owner-plugin/WebauthnOwnerPlugin.s import { EXA } from "@exactly/protocol/periphery/EXA.sol"; +import { HypERC20Collateral } from "@hyperlane-xyz/core/contracts/token/HypERC20Collateral.sol"; +import { HypXERC20 } from "@hyperlane-xyz/core/contracts/token/extensions/HypXERC20.sol"; + import { ExaAccountFactory } from "../src/ExaAccountFactory.sol"; import { ExaPlugin, @@ -90,9 +93,56 @@ contract Redeployer is BaseScript { /// @notice Deploys EXA token and upgrades the proxy to it. function deployEXA(address proxy) external { - vm.startBroadcast(acct("admin")); + address admin = acct("admin"); + vm.startBroadcast(admin); exa = EXA(CREATE3_FACTORY.deploy(keccak256(abi.encode("EXA")), vm.getCode("EXA.sol:EXA"))); proxyAdmin.upgradeAndCall(ITransparentUpgradeableProxy(proxy), address(exa), abi.encodeCall(EXA.initialize, ())); + proxyAdmin.upgradeAndCall( + ITransparentUpgradeableProxy(proxy), address(exa), abi.encodeCall(EXA.initialize2, (admin)) + ); + vm.stopBroadcast(); + } + + /// @notice Deploys the latest EXA implementation via CREATE3. + function deployEXAImpl() external { + vm.broadcast(acct("admin")); + exa = EXA(CREATE3_FACTORY.deploy(keccak256(abi.encode("EXA")), vm.getCode("EXA.sol:EXA"))); + } + + /// @notice Upgrades an existing EXA proxy to the latest implementation. + function upgradeEXA(address proxy) external { + address admin = acct("admin"); + ProxyAdmin p = + ProxyAdmin(address(uint160(uint256(vm.load(proxy, bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)))))); + vm.broadcast(p.owner()); + p.upgradeAndCall(ITransparentUpgradeableProxy(proxy), address(exa), abi.encodeCall(EXA.initialize2, (admin))); + } + + function deployRouter(address token) external returns (HypXERC20 router) { + address admin = acct("admin"); + vm.startBroadcast(admin); + router = HypXERC20( + CREATE3_FACTORY.deploy( + keccak256(abi.encode("HypEXA")), + abi.encodePacked( + type(TransparentUpgradeableProxy).creationCode, + abi.encode( + address(new HypXERC20(token, 1, acct("mailbox"))), + address(proxyAdmin), + abi.encodeCall(HypERC20Collateral.initialize, (address(0), address(0), admin)) + ) + ) + ) + ); + vm.stopBroadcast(); + } + + function setupRouter(address token, uint32 remoteDomain) external { + address admin = acct("admin"); + address router = CREATE3_FACTORY.getDeployed(admin, keccak256(abi.encode("HypEXA"))); + vm.startBroadcast(admin); + if (!EXA(token).hasRole(keccak256("BRIDGE_ROLE"), router)) EXA(token).grantRole(keccak256("BRIDGE_ROLE"), router); + HypXERC20(router).enrollRemoteRouter(remoteDomain, bytes32(uint256(uint160(router)))); vm.stopBroadcast(); } diff --git a/contracts/test/HypEXA.t.sol b/contracts/test/HypEXA.t.sol new file mode 100644 index 000000000..14fc4c538 --- /dev/null +++ b/contracts/test/HypEXA.t.sol @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: AGPL-3.0 +pragma solidity ^0.8.0; + +import { EXA } from "@exactly/protocol/periphery/EXA.sol"; +import { TypeCasts } from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol"; +import { HypXERC20 } from "@hyperlane-xyz/core/contracts/token/extensions/HypXERC20.sol"; + +import { Redeployer } from "../script/Redeployer.s.sol"; +import { ForkTest } from "./Fork.t.sol"; + +contract HypEXATest is ForkTest { + using TypeCasts for address; + + uint256 internal opFork; + uint256 internal baseFork; + HypXERC20 internal opRouter; + HypXERC20 internal baseRouter; + address internal admin; + address internal opMailbox; + address internal baseMailbox; + EXA internal exa = EXA(0x1e925De1c68ef83bD98eE3E130eF14a50309C01B); + address internal exaHolder = 0x92024C4bDa9DA602b711B9AbB610d072018eb58b; + + uint32 internal constant OP_DOMAIN = 10; + uint32 internal constant BASE_DOMAIN = 8453; + + function setUp() external { + baseFork = vm.createSelectFork("base", 42_380_000); + baseMailbox = acct("mailbox"); + Redeployer baseRedeployer = new Redeployer(); + baseRedeployer.setUp(); + if (address(baseRedeployer.proxyAdmin()).code.length == 0) baseRedeployer.prepare(); + baseRedeployer.run(baseRedeployer.findNonce(acct("deployer"), address(exa), 1000) + 1); + baseRedeployer.deployEXA(address(exa)); + baseRouter = baseRedeployer.deployRouter(address(exa)); + baseRedeployer.setupRouter(address(exa), OP_DOMAIN); + + opFork = vm.createSelectFork("optimism", 147_967_000); + opMailbox = acct("mailbox"); + admin = acct("admin"); + Redeployer opRedeployer = new Redeployer(); + opRedeployer.setUp(); + opRedeployer.deployEXAImpl(); + opRedeployer.upgradeEXA(address(exa)); + opRouter = opRedeployer.deployRouter(address(exa)); + opRedeployer.setupRouter(address(exa), BASE_DOMAIN); + } + + // solhint-disable func-name-mixedcase + + function test_roundTrip_opToBaseToOp() external { + address receiver = makeAddr("receiver"); + uint256 amount = 100e18; + uint256 opSupply = exa.totalSupply(); + + uint256 fee = opRouter.quoteGasPayment(BASE_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + opRouter.transferRemote{ value: fee }(BASE_DOMAIN, exaHolder.addressToBytes32(), amount); + assertEq(exa.totalSupply(), opSupply - amount, "op didn't burn"); + + vm.selectFork(baseFork); + vm.prank(baseMailbox); + baseRouter.handle( + OP_DOMAIN, address(opRouter).addressToBytes32(), abi.encodePacked(exaHolder.addressToBytes32(), amount) + ); + assertEq(exa.balanceOf(exaHolder), amount, "base didn't credit holder"); + assertEq(exa.totalSupply(), amount, "base didn't mint"); + + fee = baseRouter.quoteGasPayment(OP_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + baseRouter.transferRemote{ value: fee }(OP_DOMAIN, receiver.addressToBytes32(), amount); + assertEq(exa.totalSupply(), 0, "base didn't burn"); + + vm.selectFork(opFork); + vm.prank(opMailbox); + opRouter.handle( + BASE_DOMAIN, address(baseRouter).addressToBytes32(), abi.encodePacked(receiver.addressToBytes32(), amount) + ); + assertEq(exa.balanceOf(receiver), amount, "op didn't credit receiver"); + assertEq(exa.totalSupply(), opSupply, "op didn't restore supply"); + } + + function test_transferRemote_reverts_withoutBridgeRole() external { + vm.prank(admin); + exa.revokeRole(keccak256("BRIDGE_ROLE"), address(opRouter)); + + uint256 fee = opRouter.quoteGasPayment(BASE_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + vm.expectRevert(); + opRouter.transferRemote{ value: fee }(BASE_DOMAIN, makeAddr("receiver").addressToBytes32(), 100e18); + } + + function test_handle_reverts_withoutBridgeRole() external { + vm.selectFork(baseFork); + vm.prank(admin); + exa.revokeRole(keccak256("BRIDGE_ROLE"), address(baseRouter)); + + vm.prank(baseMailbox); + vm.expectRevert(); + baseRouter.handle( + OP_DOMAIN, + address(opRouter).addressToBytes32(), + abi.encodePacked(makeAddr("receiver").addressToBytes32(), uint256(100e18)) + ); + } + + // solhint-enable func-name-mixedcase +} From a778f0d6fd9f96d58e9bf130dbeddf650280a688 Mon Sep 17 00:00:00 2001 From: itofarina Date: Tue, 3 Mar 2026 15:59:03 -0300 Subject: [PATCH 6/6] =?UTF-8?q?=E2=9C=85=20contracts:=20add=20polygon=20hy?= =?UTF-8?q?perlane=20bridge=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/.gas-snapshot | 39 ++++++++++++----------- contracts/deploy.json | 1 + contracts/test/HypEXA.t.sol | 63 +++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 19 deletions(-) diff --git a/contracts/.gas-snapshot b/contracts/.gas-snapshot index 58095bd97..995c2a658 100644 --- a/contracts/.gas-snapshot +++ b/contracts/.gas-snapshot @@ -1,11 +1,11 @@ -ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5915191, ~: 5447138) +ExaAccountFactoryTest:testFuzz_createAccount_EOAOwners(uint256,address[63]) (runs: 256, μ: 5920045, ~: 5447138) ExaAccountFactoryTest:test_deploy_deploysToSameAddress() (gas: 13989314) -ExaPluginTest:testFork_claimAndVestEscrowedEXA_claimsAndVests() (gas: 38670955) -ExaPluginTest:testFork_collectCollateral_collects() (gas: 32173077) -ExaPluginTest:testFork_crossRepay_repays() (gas: 33994480) -ExaPluginTest:testFork_repay_whenFlashLoanerHasFees() (gas: 25627346) -ExaPluginTest:testFork_stakeEXA_stakes() (gas: 32750198) -ExaPluginTest:testFork_swap_swaps() (gas: 28115123) +ExaPluginTest:testFork_claimAndVestEscrowedEXA_claimsAndVests() (gas: 38674070) +ExaPluginTest:testFork_collectCollateral_collects() (gas: 32175991) +ExaPluginTest:testFork_crossRepay_repays() (gas: 33997394) +ExaPluginTest:testFork_repay_whenFlashLoanerHasFees() (gas: 25628545) +ExaPluginTest:testFork_stakeEXA_stakes() (gas: 32753198) +ExaPluginTest:testFork_swap_swaps() (gas: 28117771) ExaPluginTest:test_allowPlugin_emitsPluginAllowed() (gas: 58464) ExaPluginTest:test_allowPlugin_reverts_whenAddressZero() (gas: 32411) ExaPluginTest:test_allowPlugin_reverts_whenNotAdmin() (gas: 40964) @@ -32,12 +32,12 @@ ExaPluginTest:test_collectCredit_collects_whenHealthFactorHigherThanOne() (gas: ExaPluginTest:test_collectCredit_collects_whenProposalCausesInsufficientLiquidity() (gas: 1064982) ExaPluginTest:test_collectCredit_collects_whenProposalLeavesHealthFactorLowerThanOne() (gas: 1055379) ExaPluginTest:test_collectCredit_collects_withEnoughSlippage() (gas: 782246) -ExaPluginTest:test_collectCredit_collects_withPrevIssuerSignature() (gas: 986135) +ExaPluginTest:test_collectCredit_collects_withPrevIssuerSignature() (gas: 986192) ExaPluginTest:test_collectCredit_passes_whenProposalLeavesEnoughLiquidity() (gas: 1082579) ExaPluginTest:test_collectCredit_reverts_asNotKeeper() (gas: 342148) ExaPluginTest:test_collectCredit_reverts_whenDisagreement() (gas: 538817) ExaPluginTest:test_collectCredit_reverts_whenExpired() (gas: 352767) -ExaPluginTest:test_collectCredit_reverts_whenPrevSignatureNotValidAnymore() (gas: 483048) +ExaPluginTest:test_collectCredit_reverts_whenPrevSignatureNotValidAnymore() (gas: 483105) ExaPluginTest:test_collectCredit_reverts_whenReplay() (gas: 825827) ExaPluginTest:test_collectCredit_reverts_whenTimelocked() (gas: 334568) ExaPluginTest:test_collectCredit_toleratesTimeDrift() (gas: 798846) @@ -58,7 +58,7 @@ ExaPluginTest:test_collectInstallments_reverts_whenTimelocked() (gas: 336703) ExaPluginTest:test_collectInstallments_toleratesTimeDrift() (gas: 1161587) ExaPluginTest:test_collect_collects_whenProposalsLeaveNoLiquidity() (gas: 1783636) ExaPluginTest:test_collect_collects_whenTooMuchProposedDebt() (gas: 1923835) -ExaPluginTest:test_crossRepay_avoidsFrozenDeposit() (gas: 981494) +ExaPluginTest:test_crossRepay_avoidsFrozenDeposit() (gas: 981551) ExaPluginTest:test_crossRepay_avoidsZeroSharesDeposit() (gas: 1394086) ExaPluginTest:test_crossRepay_consumesProposal() (gas: 2205189) ExaPluginTest:test_crossRepay_repays() (gas: 2268979) @@ -202,8 +202,9 @@ ExaPreviewerTest:test_collect_reverts_whenProposalsLeaveNoLiquidity() (gas: 1437 ExaPreviewerTest:test_markets_returnsMarkets() (gas: 150447) ExaPreviewerTest:test_pendingProposals_returnsPendingProposals() (gas: 1984093) ExaPreviewerTest:test_utilizations_returns() (gas: 134922) -HypEXATest:test_handle_reverts_withoutBridgeRole() (gas: 122474) +HypEXATest:test_handle_reverts_withoutBridgeRole() (gas: 122511) HypEXATest:test_roundTrip_opToBaseToOp() (gas: 1046501) +HypEXATest:test_roundTrip_opToPolygonToBaseToOp() (gas: 1549147) HypEXATest:test_transferRemote_reverts_withoutBridgeRole() (gas: 230258) IssuerCheckerTest:test_setIssuer_emits_IssuerSet() (gas: 82935) IssuerCheckerTest:test_setIssuer_reverts_whenNotAdmin() (gas: 43708) @@ -215,14 +216,14 @@ IssuerCheckerTest:test_setPrevIssuerWindow_emits_PrevIssuerWindowSet() (gas: 526 IssuerCheckerTest:test_setPrevIssuerWindow_reverts_whenNotAdmin() (gas: 45548) MockSwapperTest:test_swapExactAmountIn_swaps() (gas: 269807) MockSwapperTest:test_swapExactAmountOut_swaps() (gas: 269803) -RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 60017846) -RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onEthereum() (gas: 276635694) -RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onPolygon() (gas: 371309826) -RedeployerTest:test_deployExaFactory_deploysViaCreate3AtSameAddress_onPolygon() (gas: 48280197) -RedeployerTest:test_prepare_reverts_whenAdminIsDeployer() (gas: 32065962) -RedeployerTest:test_recoversNativeETHOnPolygon() (gas: 48451370) -RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 42900506) -RedeployerTest:test_run_reverts_whenTargetNonceTooLow() (gas: 32530807) +RedeployerTest:test_deployEXA_deploysAtSameAddress_onBase() (gas: 60018226) +RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onEthereum() (gas: 276636412) +RedeployerTest:test_deployExaFactory_deploysAtSameAddress_onPolygon() (gas: 371310355) +RedeployerTest:test_deployExaFactory_deploysViaCreate3AtSameAddress_onPolygon() (gas: 48280428) +RedeployerTest:test_prepare_reverts_whenAdminIsDeployer() (gas: 32066081) +RedeployerTest:test_recoversNativeETHOnPolygon() (gas: 48451625) +RedeployerTest:test_run_reverts_whenAttackerUpgradesProxy() (gas: 42900849) +RedeployerTest:test_run_reverts_whenTargetNonceTooLow() (gas: 32530983) RefunderTest:test_refund_refunds() (gas: 263363) RefunderTest:test_refund_reverts_whenExpired() (gas: 88359) RefunderTest:test_refund_reverts_whenNotKeeper() (gas: 68861) diff --git a/contracts/deploy.json b/contracts/deploy.json index 6c0e8f2be..b0dc9ad9b 100644 --- a/contracts/deploy.json +++ b/contracts/deploy.json @@ -41,6 +41,7 @@ }, "mailbox": { "10": "0xd4C1905BB1D26BC93DAC913e13CaCC278CdCC80D", + "137": "0x5d934f4e2f797775e53561bB72aca21ba36B96BB", "8453": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" } }, diff --git a/contracts/test/HypEXA.t.sol b/contracts/test/HypEXA.t.sol index 14fc4c538..69e82c7cd 100644 --- a/contracts/test/HypEXA.t.sol +++ b/contracts/test/HypEXA.t.sol @@ -13,18 +13,33 @@ contract HypEXATest is ForkTest { uint256 internal opFork; uint256 internal baseFork; + uint256 internal polygonFork; HypXERC20 internal opRouter; HypXERC20 internal baseRouter; + HypXERC20 internal polygonRouter; address internal admin; address internal opMailbox; address internal baseMailbox; + address internal polygonMailbox; EXA internal exa = EXA(0x1e925De1c68ef83bD98eE3E130eF14a50309C01B); address internal exaHolder = 0x92024C4bDa9DA602b711B9AbB610d072018eb58b; uint32 internal constant OP_DOMAIN = 10; uint32 internal constant BASE_DOMAIN = 8453; + uint32 internal constant POLYGON_DOMAIN = 137; function setUp() external { + polygonFork = vm.createSelectFork("polygon", 83_700_000); + polygonMailbox = acct("mailbox"); + Redeployer polygonRedeployer = new Redeployer(); + polygonRedeployer.setUp(); + if (address(polygonRedeployer.proxyAdmin()).code.length == 0) polygonRedeployer.prepare(); + polygonRedeployer.run(polygonRedeployer.findNonce(acct("deployer"), address(exa), 1000) + 1); + polygonRedeployer.deployEXA(address(exa)); + polygonRouter = polygonRedeployer.deployRouter(address(exa)); + polygonRedeployer.setupRouter(address(exa), OP_DOMAIN); + polygonRedeployer.setupRouter(address(exa), BASE_DOMAIN); + baseFork = vm.createSelectFork("base", 42_380_000); baseMailbox = acct("mailbox"); Redeployer baseRedeployer = new Redeployer(); @@ -34,6 +49,7 @@ contract HypEXATest is ForkTest { baseRedeployer.deployEXA(address(exa)); baseRouter = baseRedeployer.deployRouter(address(exa)); baseRedeployer.setupRouter(address(exa), OP_DOMAIN); + baseRedeployer.setupRouter(address(exa), POLYGON_DOMAIN); opFork = vm.createSelectFork("optimism", 147_967_000); opMailbox = acct("mailbox"); @@ -44,6 +60,7 @@ contract HypEXATest is ForkTest { opRedeployer.upgradeEXA(address(exa)); opRouter = opRedeployer.deployRouter(address(exa)); opRedeployer.setupRouter(address(exa), BASE_DOMAIN); + opRedeployer.setupRouter(address(exa), POLYGON_DOMAIN); } // solhint-disable func-name-mixedcase @@ -82,6 +99,52 @@ contract HypEXATest is ForkTest { assertEq(exa.totalSupply(), opSupply, "op didn't restore supply"); } + function test_roundTrip_opToPolygonToBaseToOp() external { + uint256 amount = 100e18; + uint256 opSupply = exa.totalSupply(); + + uint256 fee = opRouter.quoteGasPayment(POLYGON_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + opRouter.transferRemote{ value: fee }(POLYGON_DOMAIN, exaHolder.addressToBytes32(), amount); + assertEq(exa.totalSupply(), opSupply - amount, "op didn't burn"); + + vm.selectFork(polygonFork); + uint256 polygonSupply = exa.totalSupply(); + vm.prank(polygonMailbox); + polygonRouter.handle( + OP_DOMAIN, address(opRouter).addressToBytes32(), abi.encodePacked(exaHolder.addressToBytes32(), amount) + ); + assertEq(exa.totalSupply(), polygonSupply + amount, "polygon didn't mint"); + + fee = polygonRouter.quoteGasPayment(BASE_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + polygonRouter.transferRemote{ value: fee }(BASE_DOMAIN, exaHolder.addressToBytes32(), amount); + assertEq(exa.totalSupply(), polygonSupply, "polygon didn't burn"); + + vm.selectFork(baseFork); + uint256 baseSupply = exa.totalSupply(); + vm.prank(baseMailbox); + baseRouter.handle( + POLYGON_DOMAIN, address(polygonRouter).addressToBytes32(), abi.encodePacked(exaHolder.addressToBytes32(), amount) + ); + assertEq(exa.totalSupply(), baseSupply + amount, "base didn't mint"); + + fee = baseRouter.quoteGasPayment(OP_DOMAIN); + vm.deal(exaHolder, fee); + vm.prank(exaHolder); + baseRouter.transferRemote{ value: fee }(OP_DOMAIN, exaHolder.addressToBytes32(), amount); + assertEq(exa.totalSupply(), baseSupply, "base didn't burn"); + + vm.selectFork(opFork); + vm.prank(opMailbox); + opRouter.handle( + BASE_DOMAIN, address(baseRouter).addressToBytes32(), abi.encodePacked(exaHolder.addressToBytes32(), amount) + ); + assertEq(exa.totalSupply(), opSupply, "op didn't restore supply"); + } + function test_transferRemote_reverts_withoutBridgeRole() external { vm.prank(admin); exa.revokeRole(keccak256("BRIDGE_ROLE"), address(opRouter));